电竞比分网-中国电竞赛事及体育赛事平台

分享

人工智能本質(zhì)上是矩陣和向量的計算引擎,在高維空間中找到最佳解

 老胡說科學 2025-01-19 發(fā)布于江蘇

人工智能的核心運作邏輯,其實是矩陣與向量之間的高維空間計算。無論是生成文本、識別圖像,還是分析語音,AI模型的核心任務都是在龐大的數(shù)據(jù)空間中找到最優(yōu)解。這些計算過程看似復雜,但本質(zhì)上可以簡化為線性代數(shù)運算——通過矩陣乘法、點積和向量變換,模型得以從海量數(shù)據(jù)中抽取特征、建立關(guān)聯(lián)、生成輸出。在這一過程中,變換器(Transformer)模型的出現(xiàn),徹底改變了機器學習的效率與能力。GPT模型正是基于這一突破性架構(gòu),實現(xiàn)了從簡單的語言處理任務,到如今的大規(guī)模生成任務。

GPT代表生成預訓練變換器(Generative Pretrained Transformer)。其中,“生成”表示這些模型可以生成新文本,“預訓練”指的是模型在大量數(shù)據(jù)上進行學習,“變換器”是核心技術(shù),指的是一種特定的神經(jīng)網(wǎng)絡類型,是當前AI熱潮背后的基礎(chǔ)發(fā)明。

變換器可用于多種模型,例如一些模型接受音頻并生成文本,或從文本生成語音。2022年,像Dolly和Midjourney這樣的工具,也基于變換器,可以將文字描述轉(zhuǎn)換為圖像。

最初由谷歌在2017年提出的變換器,專門用于語言翻譯。但后來的變種,如ChatGPT所使用的模型,訓練的是通過輸入一段文本(甚至可能包含圖像或聲音),預測接下來會發(fā)生什么。預測結(jié)果是對接下來文本片段的概率分布。

雖然一開始預測下一個單詞看似與生成新文本目標不同,但通過反復預測和采樣,模型可以生成更長的文本。這個過程就是你與ChatGPT互動時看到的,模型每次生成一個詞。通過這個方法,GPT-3等更大的模型能生成連貫且有意義的故事,甚至能夠推測出“pi生物”生活在一個數(shù)學和計算的世界里。

深入transformer

在變換器內(nèi)部,數(shù)據(jù)流動的高層次概述是:首先,輸入數(shù)據(jù)被分解成多個小片段,稱為“token”。對于文本來說,這些token通常是單詞、部分單詞或常見的字符組合。如果涉及圖像或聲音,token可能是圖像的一小塊或聲音的一小段。每個token與一個向量相關(guān)聯(lián),這個向量是一些數(shù)字,旨在編碼該token的含義。

這些向量通過一個被稱為“注意力模塊”(attention block)的操作,這使得向量之間可以互相傳遞信息并更新它們的值。例如,在“機器學習模型”中,"model"這個詞的意義與在“時尚模特”中的意義不同,注意力模塊負責確定哪些詞在上下文中與其他詞的含義更新相關(guān)。

接下來,這些向量會通過另一個操作,這被稱為多層感知器(multi-layer perceptron)或前饋層(feed-forward layer)。在這個階段,向量之間不再互相交流,而是并行地通過相同的操作。這個步驟,可以將其視為對每個向量提出一系列問題,并根據(jù)回答來更新它們。

所有這些操作本質(zhì)上都涉及大量的矩陣乘法,直到最后,所有關(guān)鍵信息都被編碼進序列中的最后一個向量。然后,對這個最后的向量執(zhí)行某種操作,產(chǎn)生一個概率分布,預測接下來可能出現(xiàn)的所有token。通過這種方式,我們可以給模型提供一些種子文本,讓它不斷預測下一個詞、采樣、附加,并重復這個過程。

為了將這個工具轉(zhuǎn)化為聊天機器人,最簡單的起點是給出一些文本,設定用戶與有用的AI助手互動的場景,即系統(tǒng)提示(system prompt),然后用用戶的初始問題或提示作為對話的開端,接著讓模型預測AI助手會如何回答。

這一過程背后還有更多的訓練細節(jié),但這是大致的概念。

深度學習

深度學習是機器學習的一種方法。機器學習的核心思想是通過數(shù)據(jù)來決定模型的行為,而不是像早期AI那樣手動編寫明確的任務執(zhí)行步驟。

舉個例子,想要一個函數(shù)來識別圖片或預測文本中的下一個詞,傳統(tǒng)方法是手動設計規(guī)則。而機器學習的方法是搭建一個靈活的結(jié)構(gòu)(比如有很多參數(shù)的模型),然后用大量輸入輸出樣例來調(diào)整這些參數(shù),使模型能模仿目標行為。

最簡單的機器學習模型是線性回歸,比如用房屋面積來預測價格。這種模型的目標是找到一條最佳擬合線,其參數(shù)就是斜率和截距。深度學習模型則更復雜,比如GPT-3有1750億個參數(shù),而不是簡單的兩個。

深度學習的關(guān)鍵:反向傳播與權(quán)重

深度學習的核心是反向傳播算法,它使得大規(guī)模模型的訓練成為可能。為了讓這個訓練算法有效,模型的輸入必須是實數(shù)數(shù)組,通常稱為張量。模型的每一層結(jié)構(gòu)化為數(shù)組,并逐層轉(zhuǎn)換,直到最后一層輸出結(jié)果。例如,文本處理模型的最后一層輸出是下一個詞的概率分布。

模型中的參數(shù)通常稱為權(quán)重,因為數(shù)據(jù)與這些權(quán)重的交互都是通過加權(quán)和實現(xiàn)的。雖然實際計算中這些加權(quán)和往往表現(xiàn)為矩陣向量乘積,但它本質(zhì)上是同一個概念。

矩陣與權(quán)重的關(guān)系

GPT-3的1750億個權(quán)重被組織成約2.8萬個矩陣,這些矩陣被分成8類。盡管現(xiàn)在有更大、更先進的模型,但GPT-3是首個讓大眾注意到大語言模型潛力的模型。也因為商業(yè)原因,很多新模型的詳細參數(shù)被嚴格保密,因此討論GPT-3仍然很有價值。

矩陣乘法是核心計算

深入了解像ChatGPT這樣的工具時,會發(fā)現(xiàn)幾乎所有實際計算都是矩陣向量乘法。盡管模型中有成千上萬個參數(shù),但你需要清楚地區(qū)分兩類內(nèi)容:

  1. 權(quán)重:這些是模型的“大腦”,通過訓練學習而來,決定模型的行為。

  2. 處理的數(shù)據(jù):這些是模型在每次運行時接收的具體輸入,比如一個文本片段。

總的來說,權(quán)重是模型的核心,數(shù)據(jù)是模型運行時的輸入。理解這些權(quán)重和矩陣的關(guān)系,能幫助更好地理解變換器模型的內(nèi)部機制。

詞嵌入(Word Embeddings)的原理

在文本處理的第一步,模型會將輸入的文本拆分成多個小片段,稱為token。這些token可以是單詞、部分單詞、標點符號或字符組合。為了讓模型理解這些token的語義,每個token都會被映射成一個高維向量,這個過程由**嵌入矩陣(Embedding Matrix)**來完成。嵌入矩陣包含模型的所有詞匯表,每個token對應一個向量,這些向量在模型訓練過程中不斷調(diào)整,以捕捉不同詞語之間的語義關(guān)系。

嵌入向量不僅僅表示單詞的字面含義,還能在高維空間中體現(xiàn)詞語之間的關(guān)聯(lián)。例如,“tower”(塔)的嵌入向量在空間中可能靠近“building”(建筑)和“skyscraper”(摩天大樓),表明模型識別出了這些詞的相關(guān)性。隨著訓練的深入,模型逐漸調(diào)整這些向量,使它們在空間中指向特定的語義方向,如性別差異家庭角色。

向量之間的差值可以表示語義上的變化,這是嵌入向量的一大特點。經(jīng)典的例子是,“woman”和“man”之間的向量差接近“queen”和“king”之間的向量差,這表明模型捕捉到了性別信息的方向。類似地,將“Germany”減去“Japan”,再加上“sushi”,結(jié)果接近“bratwurst”(德國香腸),模型在空間中學會了國家與文化的關(guān)聯(lián)

為了計算詞語之間的相似性,模型使用點積(dot product)來衡量向量的方向一致性。點積值越高,表示兩個向量的方向越接近。例如,假設“cats”(復數(shù))和“cat”(單數(shù))之間的向量差表示復數(shù)方向,則復數(shù)名詞的點積值通常更高,表明它們更接近復數(shù)方向的向量。模型甚至能通過這種方法量化詞語的復數(shù)程度,并將其與數(shù)量變化關(guān)聯(lián)起來。

在GPT-3中,詞匯表的大小約為50,257個token,嵌入向量的維度為12,288維。因此,嵌入矩陣的權(quán)重總數(shù)約為6.17億。這些權(quán)重是模型中最早被優(yōu)化的部分,為模型理解文本和生成內(nèi)容提供了基礎(chǔ)支持。這也是GPT-3總1750億權(quán)重的重要組成部分之一。

超越單詞的嵌入(Embeddings Beyond Words)

在變換器模型中,嵌入向量不僅僅表示單個單詞。這些向量還可以編碼單詞的位置信息,更重要的是,它們能夠吸收上下文信息。

向量如何吸收上下文

一個最初表示“king”(國王)的嵌入向量,在經(jīng)過網(wǎng)絡中的多個模塊處理后,可能會被逐步拉伸和調(diào)整,到最后指向一個更加具體、細致的方向。這個方向可能不僅僅表示“國王”,還包含更多信息,比如“蘇格蘭的國王”、“通過謀殺上任國王而繼位”,甚至還能捕捉到“以莎士比亞語言風格描述*的語境。

人類對詞語的理解也是類似的,單詞的含義通常由周圍的上下文決定,有時甚至需要借助更遠的上下文。因此,模型的目標是讓這些嵌入向量能夠有效地吸收和整合上下文,從而提升對下一詞預測的準確性。

初始嵌入如何生成

在處理輸入文本的第一步時,模型根據(jù)輸入的每個單詞,從嵌入矩陣中提取對應的向量。在這個階段,每個向量只表示單詞本身的含義,沒有包含任何上下文信息。

然而,整個網(wǎng)絡的核心目標是讓這些向量在處理的過程中,逐漸吸收來自周圍環(huán)境的更多語義信息,使它們的含義變得更加豐富和具體,遠超單個詞語的簡單表示。

上下文窗口的限制

變換器網(wǎng)絡一次只能處理固定數(shù)量的向量,這個數(shù)量被稱為上下文窗口大?。╟ontext size)。對于GPT-3來說,上下文窗口大小是2048個token。這意味著,網(wǎng)絡中流動的數(shù)據(jù)始終是一個2048列的數(shù)組,每列是一個12,288維的向量。

上下文窗口的大小直接決定了模型在預測下一個單詞時,能夠參考的最大文本長度。如果文本超出了上下文窗口的限制,模型將無法利用更早的文本信息。

為什么模型會“忘記”對話

由于上下文窗口的限制,變換器在長時間對話中會逐漸丟失早期的對話內(nèi)容。這是為什么早期版本的ChatGPT在長對話中,往往會忘記對話的線索偏離主題。模型只能利用窗口內(nèi)的文本信息來生成新的輸出,因此窗口外的內(nèi)容會被丟棄,導致信息斷裂。

反嵌入(Unembedding)

在變換器模型的最后一步,目標是生成一個對所有可能下一個token的概率分布。
例如,如果句子的最后一個單詞是“Professor”,并且上下文中包含“Harry Potter”和“l(fā)east favorite teacher”,一個訓練良好的模型很可能為“Snape”分配較高的概率,因為模型已經(jīng)學會了哈利波特的相關(guān)知識。

這個預測過程包括兩個步驟:

  1. 將最后一個向量映射到詞匯表中的所有token值。使用一個叫做反嵌入矩陣(Unembedding Matrix)的矩陣,將最后一個向量轉(zhuǎn)換成一個包含5萬個值的列表,每個值對應一個詞匯表中的token。

  2. 將值轉(zhuǎn)換為概率分布。然后通過一個稱為Softmax的函數(shù),將這些值轉(zhuǎn)換為一個概率分布,每個token的值代表它作為下一個詞的概率。

為什么只用最后一個向量?

乍一看,似乎有些奇怪,模型在預測下一個詞時只使用了最后一個向量,而忽略了最后一層中的其他向量。但實際上,訓練過程中更高效的做法是讓每個向量同時預測它之后的下一個詞。
這意味著,每個向量在最終層都有自己的上下文意義,并各自做出預測。

反嵌入矩陣的結(jié)構(gòu)和參數(shù)

反嵌入矩陣(Unembedding Matrix)用符號WU表示,其結(jié)構(gòu)與嵌入矩陣類似,但行和列互換:

  • 它有詞匯表大小的行(約50,257個token)。

  • 每行有嵌入向量維度的列(12,288維)。

因此,這個矩陣包含約6.17億個參數(shù)。
加上之前的嵌入矩陣,總參數(shù)量目前已超過10億,占GPT-3總參數(shù)量1750億的一小部分。

Softmax 與溫度調(diào)節(jié)

Softmax 是變換器模型中常用的函數(shù),用于將一組數(shù)值轉(zhuǎn)換成概率分布,確保每個值在 0 到 1 之間,并且總和為 1。它會把最大的值調(diào)成接近 1,而較小的值接近 0,使模型能夠突出最可能出現(xiàn)的詞。在機器學習模型中,這個步驟必不可少,因為網(wǎng)絡輸出的原始值(稱為logits)通常是未歸一化的,可能為負數(shù)或遠大于 1,無法直接用于概率計算。

Softmax 的一個重要調(diào)節(jié)參數(shù)是溫度(Temperature)。溫度決定了輸出分布的隨機性。當溫度 T=1 時,Softmax 按正常概率分布工作;T>1 時,分布更均勻,較小概率的詞也有機會被選中;T<1 時,分布更加集中于最大值,使模型更傾向于選擇最可能的詞。如果 T=0,模型總是選擇概率最高的詞,生成的內(nèi)容非??深A測。

在文本生成中,溫度調(diào)節(jié)直接影響結(jié)果的多樣性和創(chuàng)造性。低溫度下,模型輸出穩(wěn)定但缺乏新意;高溫度下,模型輸出更隨機、更有創(chuàng)造力,但也可能變得無意義。因此,在實際應用中,溫度通常限制在 0 到 2 之間,以平衡連貫性多樣性之間的關(guān)系。

參考:3Blue1Brown:Transformers (how LLMs work) explained visually | DL5

    轉(zhuǎn)藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多