以通俗易懂的方式解釋 AI 大語言模型的工作原理

Admin 2023-8-5 295 8/5

想真正理解大型語言模型嗎?這是通俗易懂的方式!

以通俗易懂的方式解釋 AI 大語言模型的工作原理

ChatGPT 去年秋天推出時,給科技行業和更廣闊的世界帶來了衝擊波。那時,機器學習研究人員已經對大型語言模型(LLM)進行了幾年的實驗,但公眾並沒有密切關注,也沒有意識到它們已經變得多麼強大。

如今,幾乎每個人都聽說過LLM,並且有數以千萬計的人嘗試過。但並不是很多人了解它們是如何工作的。

如果您對這個主題有所了解,您可能聽說過法學碩士接受過「預測下一個單詞」的培訓,並且他們需要大量的文本才能做到這一點。但解釋往往就到此為止了。他們如何預測下一個單詞的細節通常被視為一個深奧的謎團。

原因之一是這些系統的開發方式不尋常。傳統軟體是由人類程序員創建的,他們向計算機提供明確的分步指令。相比之下,ChatGPT 是建立在使用數十億個普通語言單詞進行訓練的神經網路之上的。

結果,地球上沒有人完全理解法學碩士的內部運作。研究人員正在努力獲得更好的理解,但這是一個緩慢的過程,需要數年甚至數十年才能完成。

儘管如此,專家們仍然對這些系統的工作原理有很多了解。本文的目標是讓廣大讀者能夠了解大量此類知識。我們的目標是解釋這些模型的內部工作原理,而不訴諸技術術語或高級數學。

我們將從解釋詞向量開始,這是語言模型表示和推理語言的令人驚訝的方式。然後我們將深入研究變壓器,它是 ChatGPT 等系統的基本構建塊。最後,我們將解釋如何訓練這些模型,並探討為什麼良好的性能需要如此大量的數據。

詞向量

要了解語言模型的工作原理,您首先需要了解它們如何表示單詞。人類用一系列字母來表示英語單詞,例如 CAT 表示「貓」。語言模型使用一長串數字,稱為「詞向量」。例如,以下是將貓表示為向量的一種方法:

[0.0074、0.0030、-0.0105、0.0742、0.0765、-0.0011、0.0265、0.0106、0.0191、0.0038、-0.0468、-0.0212、0.0091、0.0030、-0.0563、-0 .0396, -0.0998, -0.0796, …, 0.0002]

(完整向量有 300 個數字長 - 要查看全部內容,請單擊此處,然後單擊「顯示原始向量。」)

為什麼要使用這種巴洛克符號?這是一個類比。華盛頓特區位於北緯 38.9 度、西經 77 度。我們可以使用向量符號來表示:

  • 華盛頓特區,地址為 [38.9, 77]
  • 紐約處於 [40.7, 74]
  • 倫敦處於 [51.5, 0.1]
  • 巴黎 [48.9, -2.4]

這對於推理空間關係很有用。您可以看出紐約與華盛頓特區很接近,因為 38.9 接近 40.7,77 接近 74。同樣,巴黎接近倫敦。但巴黎距離華盛頓特區很遠。

語言模型採用類似的方法:每個詞向量代表虛構的「詞空間」中的一個點,並且具有更相似含義的詞被放置得更近(從技術上講,LLM 對稱為標記的詞片段進行操作,但我們將忽略此實現細節以保持本文的長度可控)。例如,向量空間中與貓最接近的單詞包括狗、小貓和寵物。用實數向量(而不是一串字母,如 CAT)表示單詞的一個關鍵優點是數字可以實現字母所不能的操作。

單詞太複雜,無法僅用二維表示,因此語言模型使用數百甚至數千維的向量空間。人類思維無法想像一個具有如此多維度的空間,但計算機完全有能力對它們進行推理併產生有用的結果。

研究人員幾十年來一直在嘗試詞向量,但當谷歌在2013 年宣布其 word2vec 項目時,這個概念才真正開始流行。谷歌分析了從谷歌新聞中收集的數百萬份文檔,以找出哪些詞往往出現在相似的句子中。隨著時間的推移,經過訓練來預測哪些單詞與其他單詞同時出現的神經網路學會了將相似的單詞(例如狗和貓)放在向量空間中靠近的位置。

谷歌的詞向量還有另一個有趣的特性:你可以使用向量算術「推理」單詞。例如,谷歌研究人員將向量取為「最大」,減去「大」,然後加上「小」。最接近結果向量的詞是「最小」。

以通俗易懂的方式解釋 AI 大語言模型的工作原理

肖恩·特洛特

你可以用向量算術來進行類比!在這種情況下,大是最大,小是最小。谷歌的詞向量捕獲了許多其他關係:

  • 瑞士人之於瑞士就像柬埔寨人之於柬埔寨(國籍)
  • 巴黎之於法國就像柏林之於德國(首都)
  • 不道德與道德之間的關係就像可能與不可能之間的關係一樣(相反)
  • 老鼠對老鼠就像美元對美元(複數)
  • 男人之於女人就像國王之於王后(性別角色)

由於這些向量是根據人類使用單詞的方式構建的,因此它們最終反映了人類語言中存在的許多偏見。例如,在某些詞向量模型中,「醫生減去男人加女人」會產生「護士」。減少此類偏見是一個活躍的研究領域。

儘管如此,詞向量是語言模型的有用構建塊,因為它們編碼有關詞之間關係的微妙但重要的信息。如果語言模型了解了關於貓的一些信息(例如,它有時會去看獸醫),那麼同樣的事情也可能適用於小貓或狗。如果模型了解了巴黎和法國之間的關係(例如,他們共享一種語言),那麼柏林和德國、羅馬和義大利也很可能也是如此。

詞義取決於上下文

像這樣的簡單的詞向量方案並不能捕捉到有關自然語言的一個重要事實:單詞通常具有多種含義。

例如,「銀行」一詞可以指金融機構或河邊的土地。或者考慮以下句子:

  • 約翰拿起一本雜誌。
  • 蘇珊在一家雜誌社工作。

這些句子中雜誌的含義相關,但略有不同。約翰拿起一本實體雜誌,而蘇珊在一家出版實體雜誌的組織工作。

當一個詞有兩個不相關的含義時,例如銀行,語言學家將它們稱為同音異義詞。當一個詞有兩個密切相關的含義時,例如雜誌,語言學家將其稱為一詞多義。

像 ChatGPT 這樣的 LLM 能夠根據該單詞出現的上下文,用不同的向量表示相同的單詞。有一個銀行(金融機構)向量和一個不同的銀行(河流)向量。有一個用於雜誌(實體出版物)的矢量,另一個用於雜誌(組織)的矢量。正如您所料,法學碩士在多義含義中使用比同名含義更多的相似向量。

到目前為止,我們還沒有談到語言模型如何做到這一點——我們很快就會討論這一點。但我們正在仔細研究這些向量表示,因為它是理解語言模型如何工作的基礎。

傳統軟體旨在對明確的數據進行操作。如果您要求計算機計算「2 + 3」,則 2、+ 或 3 的含義毫無疑問。但自然語言充滿了超越同音異義詞和一詞多義的歧義:

  • 在「顧客要求修理工修理他的車」中,「他的」是指顧客還是修理工?
  • 「教授催促學生做作業」中的「她」是指教授還是學生?
  • 「果蠅像香蕉」中的「flies」是動詞(指飛過天空的水果)還是名詞(指喜歡香蕉的昆蟲)?

人們根據上下文解決這樣的歧義,但是沒有簡單或確定的規則來做到這一點。相反,它需要了解世界的事實。您需要知道機械師通常會修理客戶的汽車,學生通常會做自己的作業,而水果通常不會飛。

詞向量為語言模型提供了一種靈活的方式來表示特定段落上下文中每個詞的精確含義。現在讓我們看看他們是如何做到的。

將詞向量轉換為詞預測

GPT-3 是為 ChatGPT 提供支持的語言模型的 2020 年前身,分為數十層。每一層都採用一系列向量作為輸入(輸入文本中的每個單詞都有一個向量),並添加信息以幫助闡明該單詞的含義並更好地預測下一個可能出現的單詞。

讓我們首先看一個程式化的例子:

以通俗易懂的方式解釋 AI 大語言模型的工作原理

蒂莫西·B·李 / 理解人工智慧

LLM 的每一層都是一個 Transformer,這是 Google 在2017 年具有里程碑意義的論文中首次引入的一種神經網路架構。

該模型的輸入(如圖底部所示)是部分句子「約翰希望他的銀行兌現」。這些單詞表示為 word2vec 式向量,被輸入到第一個轉換器中。

變壓器發現需求和現金都是動詞(這兩個詞也可以是名詞)。我們將這個添加的上下文表示為括弧中的紅色文本,但實際上,模型會通過以人類難以解釋的方式修改單詞向量來存儲它。這些新向量(稱為隱藏狀態)被傳遞到堆棧中的下一個轉換器。

第二個轉換器添加了另外兩個上下文:它闡明「bank」指的是金融機構而不是河岸,「his」是指 John 的代詞。第二個變壓器產生另一組隱藏狀態向量,反映模型到目前為止所學到的一切。

上圖描繪了一個純粹假設的法學碩士,所以不要太認真地對待細節。我們很快就會看到對真實語言模型的研究。真正的法學碩士往往有不止兩層。例如,最強大的 GPT-3 版本有 96 層。

研究表明,前幾層側重於理解句子的語法並解決歧義,如我們上面所示。後面的層(我們沒有展示這些層是為了使圖表保持在可管理的大小)致力於對整個段落有一個高層次的理解。

例如,當法學碩士「通讀」一個短篇小說時,它似乎會跟蹤有關故事人物的各種信息:性別和年齡、與其他人物的關係、過去和當前的位置、個性和目標等等。

研究人員並不確切了解法學碩士如何跟蹤這些信息,但從邏輯上講,模型必須通過修改隱藏狀態向量來實現這一點,因為它們從一層傳遞到下一層。在現代法學碩士中,這些向量非常大,這很有幫助。

例如,最強大的 GPT-3 版本使用 12,288 個維度的詞向量,即每個詞由 12,288 個數字的列表表示。這比 Google 2013 年的 word2vec 方案大 20 倍。您可以將所有這些額外維度視為一種「暫存空間」,GPT-3 可以使用它來為自己寫下有關每個單詞上下文的注釋。較早層所做的注釋可以被後面層讀取和修改,從而使模型逐漸加深對整個段落的理解。

因此,假設我們更改了上面的圖表,以描述解釋 1,000 字故事的 96 層語言模型。第 60 層可能包含「John」的向量,並帶有附加註釋,例如「(主角,男性,嫁給謝麗爾,唐納德的表弟,來自明尼蘇達州,目前在博伊西,試圖找到他丟失的錢包)。」 同樣,所有這些事實(可能還有更多)都會以某種方式編碼為與單詞 John 相對應的 12,288 個數字的列表。或者,其中一些信息可能被編碼在 Cheryl、Donald、Boise、錢包或故事中其他單詞的 12,288 維向量中。

網路的第 96 層(即最後一層)的目標是輸出最終單詞的隱藏狀態,其中包括預測下一個單詞所需的所有信息。

請注意一下好嗎?

現在我們來談談每個變壓器內部發生了什麼。轉換器有一個兩步過程來更新輸入通道中每個單詞的隱藏狀態:

  1. 在注意力步驟中,單詞「環顧四周」尋找具有相關上下文並相互共享信息的其他單詞。
  2. 在前饋步驟中,每個單詞「思考」在之前的注意力步驟中收集的信息,並嘗試預測下一個單詞。

當然,執行這些步驟的是網路,而不是單個單詞。但我們這樣表述是為了強調 Transformer 將單詞而不是整個句子或段落視為基本分析單位。這種方法使法學碩士能夠充分利用現代 GPU 晶元的大規模並行處理能力。它還可以幫助法學碩士擴展到數千字的段落。這些都是早期語言模型陷入困境的領域。

你可以把注意力機制想像成單詞的匹配服務。每個單詞都會生成一個清單(稱為查詢向量),描述其正在查找的單詞的特徵。每個單詞還創建一個描述其自身特徵的清單(稱為關鍵向量)。網路將每個關鍵向量與每個查詢向量進行比較(通過計算點積)以找到最佳匹配的單詞。一旦找到匹配項,它就會將信息從生成鍵向量的單詞傳輸到生成查詢向量的單詞。

例如,在上一節中,我們展示了一個假設的轉換器,它計算出在部分句子「John Want his Bank to cash the」中,「his」指的是 John。這就是幕後的樣子。「his」的查詢向量可能會有效地表示:「我正在尋找:描述男性的名詞。」 「John」的關鍵向量可能有效地表示:「我是:描述男性的名詞。」 網路將檢測到這兩個向量匹配,並將有關「John」向量的信息移動到「his」向量中。

每個注意力層都有幾個「注意力頭」,這意味著這種信息交換過程在每一層都會發生多次(並行)。每個注意力頭專註於不同的任務:

  • 正如我們上面所討論的,一個注意力頭可能會將代詞與名詞進行匹配。
  • 另一個注意力頭可能致力於解決「銀行」等同音異義詞的含義。
  • 第三個注意力頭可能會將兩個單詞的短語鏈接在一起,例如「喬·拜登」。

等等。

注意力頭經常按順序操作,一層注意力操作的結果成為後續層注意力頭的輸入。事實上,我們上面列出的每一項任務都可能很容易需要多個注意力頭,而不僅僅是一個。

GPT-3 的最大版本有 96 層,每層有 96 個注意力頭,因此 GPT-3 每次預測新單詞時都會執行 9,216 次注意力操作。

一個真實的例子

在最後兩節中,我們展示了注意力頭如何工作的程式化版本。現在讓我們看一下對真實語言模型的內部工作原理的研究。去年,Redwood Research 的科學家研究了ChatGPT 的前身 GPT-2 如何預測「當 Mary 和 John 去商店時,John 給喝了一杯」這句話的下一個單詞。

GPT-2 預測下一個詞是 Mary。研究人員發現,三種類型的注意力頭促成了這一預測:

  • 他們稱為 Name Mover Heads 的三個頭將信息從 Mary 向量複製到最終輸入向量(對於單詞「to」)。GPT-2 使用最右邊向量中的信息來預測下一個單詞。
  • 網路如何決定「瑪麗」是複製的正確詞?通過 GPT-2 的計算過程向後進行,科學家們發現了一組由四個注意力頭組成的組,他們將其稱為主題抑制頭,它們以阻止名稱移動器頭複製約翰名字的方式標記第二個約翰向量。
  • 對象抑制頭怎麼知道約翰不應該被複制?進一步向後追溯,團隊發現了兩個注意力頭,他們稱之為「重複令牌頭」。他們將第二個約翰向量標記為第一個約翰向量的副本,這幫助對象抑制頭決定不應複製約翰。

簡而言之,這九個注意力頭使 GPT-2 能夠發現「John 給 John 喝了一杯飲料」沒有意義,並選擇「John 給 Mary 喝了一杯飲料」。

我們喜歡這個例子,因為它說明了完全理解法學碩士是多麼困難。Redwood 團隊的五名成員發表了一篇25 頁的論文,解釋了他們如何識別和驗證這些注意力頭。然而,即使他們完成了所有這些工作,我們仍然遠遠無法全面解釋為什麼 GPT-2 決定預測「瑪麗」作為下一個單詞。

例如,模型如何知道下一個單詞應該是某人的名字而不是其他類型的單詞?人們很容易想到類似的句子,但瑪麗不能很好地預測下一個單詞。例如,在「當瑪麗和約翰去餐廳時,約翰把他的鑰匙給了」這句話中,邏輯上的下一個單詞將是「代客」。

據推測,通過足夠的研究,計算機科學家可以發現並解釋 GPT-2 推理過程中的其他步驟。最終,他們可能能夠全面理解 GPT-2 如何確定 Mary 是這句話中最有可能的下一個單詞。但僅僅理解單個單詞的預測就可能需要數月甚至數年的額外努力。

ChatGPT 底層的語言模型比 GPT-2 更大、更複雜。它們能夠進行比紅木團隊研究的簡單句子完成任務更複雜的推理。因此,充分解釋這些系統如何工作將是一個人類不太可能很快完成的巨大項目。

前饋步驟

在注意力頭在詞向量之間傳輸信息之後,有一個前饋網路「思考」每個詞向量並嘗試預測下一個詞。在此階段,單詞之間不交換任何信息:前饋層單獨分析每個單詞。然而,前饋層確實可以訪問先前由注意力頭複製的任何信息。以下是最大版本的 GPT-3 中前饋層的結構:

以通俗易懂的方式解釋 AI 大語言模型的工作原理

蒂莫西·B·李 / 理解人工智慧

綠色和紫色圓圈是神經元,是計算其輸入的加權和的數學函數。(然後將總和傳遞給激活函數。如果您想了解其工作原理的完整說明,請查看我們的2018 年神經網路解釋器。)

前饋層的強大之處在於其大量的連接。我們繪製的網路在輸出層有 3 個神經元,在隱藏層有 6 個神經元,但 GPT-3 的前饋層要大得多:輸出層有 12,288 個神經元(對應於模型的 12,288 維單詞)矢量)和隱藏層中的 49,152 個神經元。

因此,在 GPT-3 的最大版本中,隱藏層中有 49,152 個神經元,每個神經元有 12,288 個輸入(因此有 12,288 個權重參數)。每個神經元有 12,288 個輸出神經元,具有 49,152 個輸入值(因此有 49,152 個權重參數)。這意味著每個前饋層有 49,152 * 12,288 + 12,288 * 49,152 = 12 億個權重參數。並且有 96 個前饋層,總共 12 億 * 96 = 1160 億個參數!這幾乎占 GPT-3 1750 億個參數總數的三分之二。

在 2020 年的一篇論文中,特拉維夫大學的研究人員發現前饋層通過模式匹配發揮作用:隱藏層中的每個神經元都與輸入文本中的特定模式匹配。以下是 16 層版本的 GPT-2 中神經元匹配的一些模式:

  • 第一層的神經元匹配以「替代品」結尾的單詞序列。
  • 第 6 層中的神經元匹配與軍事相關的序列,並以「base」或「bases」結尾。
  • 第 13 層中的神經元匹配以時間範圍結尾的序列,例如「下午 3 點到 7 點之間」或「從周五晚上 7:00 到」。
  • 第 16 層中的神經元匹配與電視節目相關的序列,例如「原始 NBC 日間版本,已存檔」或「時移觀看增加了劇集 57%」。

正如您所看到的,模式在後面的層中變得更加抽象。早期的層傾向於匹配特定的單詞,而後面的層則匹配屬於更廣泛語義類別的短語,例如電視節目或時間間隔。

這很有趣,因為如前所述,前饋層一次僅檢查一個單詞。因此,當它將序列「原始 NBC 日間版本,存檔」分類為與電視相關時,它只能訪問存檔向量,而不能訪問 NBC 或日間等單詞。據推測,前饋層可以知道「存檔」是電視相關序列的一部分,因為注意力頭先前將上下文信息移動到存檔向量中。

當神經元匹配這些模式之一時,它就會向詞向量添加信息。雖然此信息並不總是易於解釋,但在許多情況下,您可以將其視為對下一個單詞的初步預測。

前饋網路用向量數學進行推理

布朗大學最近的研究揭示了一個很好的例子,說明前饋層如何幫助預測下一個單詞。早些時候,我們討論了 Google 的 word2vec 研究,該研究表明可以使用向量算術進行類比推理。例如,柏林 - 德國 + 法國 = 巴黎。

布朗大學的研究人員發現,前饋層有時會使用這種精確的方法來預測下一個單詞。例如,他們研究了 GPT-2 如何響應以下提示:「問:法國的首都是哪裡?A:巴黎 問:波蘭的首都是哪?A:」

該團隊研究了 24 層的 GPT-2 版本。在每一層之後,布朗大學的科學家都會對模型進行探索,以觀察其對下一個標記的最佳猜測。對於前 15 層,最上面的猜測是一個看似隨機的單詞。在第 16 層和第 19 層之間,模型開始預測下一個詞將是「波蘭」——不正確,但正在變暖。然後在第 20 層,最上面的猜測變成了華沙——正確答案——並在最後四層保持這種狀態。

布朗大學的研究人員發現,第 20 前饋層通過添加一個將國家向量映射到相應首都的向量,將波蘭轉換為華沙。將相同的向量添加到中國就產生了北京。

同一模型中的前饋層使用向量算術將小寫單詞轉換為大寫單詞,將現在時單詞轉換為過去時態單詞。

注意力層和前饋層有不同的工作

到目前為止,我們已經研究了 GPT-2 單詞預測的兩個現實示例:注意力頭幫助預測 John 給 Mary 喝了一杯酒,前饋層幫助預測華沙是波蘭的首都。

在第一種情況下,「Mary」來自用戶提供的提示。但在第二種情況下,提示中沒有「華沙」。相反,GPT-2 必須「記住」華沙是波蘭首都的事實——它從訓練數據中學到的信息。

當布朗大學的研究人員禁用將波蘭轉換為華沙的前饋層時,該模型不再預測華沙為下一個詞。但有趣的是,如果他們隨後在提示的開頭添加「波蘭的首都是華沙」這句話,那麼 GPT-2 就可以再次回答這個問題。這可能是因為 GPT-2 使用注意力頭複製了提示中前面的名稱 Warsaw。

這種分工更普遍:注意力頭從提示中較早的單詞中檢索信息,而前饋層使語言模型能夠「記住」提示中沒有的信息。

事實上,考慮前饋層的一種方法是將其視為模型從訓練數據中學到的信息資料庫。早期的前饋層更有可能編碼與特定單詞相關的簡單事實,例如「特朗普經常出現在唐納德之後」。後面的層編碼更複雜的關係,例如「添加此向量以將一個國家轉換為其首都」。

語言模型是如何訓練的

許多早期的機器學習演算法需要人類手動標記訓練示例。例如,訓練數據可能是狗或貓的照片,每張照片都帶有人類提供的標籤(「狗」或「貓」)。人類標記數據的需要使得創建足夠大的數據集來訓練強大的模型變得困難且昂貴。

法學碩士的一個關鍵創新是他們不需要明確標記的數據。相反,他們通過嘗試預測普通文本段落中的下一個單詞來學習。幾乎所有書面材料(從維基百科頁面到新聞文章再到計算機代碼)都適合訓練這些模型。

例如,法學碩士可能會收到輸入「我喜歡加奶油的咖啡和」,並且能夠預測「糖」作為下一個單詞。新初始化的語言模型在這方面會表現得非常糟糕,因為它的每個權重參數(在最強大的 GPT-3 版本中有 1750 億個權重參數)一開始都是一個本質上隨機的數字。

但隨著模型看到更多的例子(數千億個單詞),這些權重會逐漸調整,以做出越來越好的預測。

這裡有一個類比來說明它是如何工作的。假設您要洗澡,並且希望溫度恰到好處:不太熱也不太冷。您以前從未使用過這個水龍頭,因此您將旋鈕指向任意方向並感受水溫。如果太熱,就向一側轉動;如果太熱,就向一側轉動;如果太熱,就向一側轉動。如果太冷,你就把它轉向另一個方向。越接近正確的溫度,所做的調整就越小。

現在讓我們對這個類比做一些改變。首先,假設有 50,257 個水龍頭,而不是只有一個。每個水龍頭對應一個不同的單詞,如「the」、「cat」或「bank」。您的目標是讓水僅從與序列中的下一個單詞相對應的水龍頭中流出。

其次,水龍頭後面有一個相互連接的管道迷宮,這些管道上也有一堆閥門。因此,如果水從錯誤的水龍頭流出,您不能只是調節水龍頭上的旋鈕。您派遣一群聰明的松鼠向後追蹤每條管道並調整他們沿途找到的每個閥門。

這變得很複雜,因為同一根管道經常連接到多個水龍頭。因此,需要仔細考慮以確定哪些閥門需要擰緊,哪些閥門需要鬆開,以及鬆開多少。

顯然,如果你太從字面上理解,這個例子很快就會變得愚蠢。建立一個擁有 1750 億個閥門的管道網路既不現實,也不有用。但由於摩爾定律,計算機能夠而且確實以這種規模運行。

到目前為止,我們在本文中討論的法學碩士的所有部分——前饋層中的神經元和在單詞之間移動上下文信息的注意力頭——都是作為一系列簡單的數學函數(主要是矩陣乘法)來實現的,行為由可調整的權重參數確定。正如我故事中的松鼠通過鬆開和擰緊閥門來控制水流一樣,訓練演算法也會增加或減少語言模型的權重參數來控制信息如何流經神經網路。

訓練過程分兩步進行。首先是「向前通過」,打開水,檢查水是否從正確的水龍頭流出。然後水被關閉,有一個「向後通道」,松鼠沿著每根管道賽跑,擰緊和鬆開閥門。在數字神經網路中,松鼠的角色是由一種稱為反向傳播的演算法扮演的,該演算法在網路中「向後行走」,使用微積分來估計每個權重參數需要改變多少。(如果您想了解有關反向傳播的更多信息,請查看我們2018 年關於神經網路如何工作的解釋。)

完成這一過程(對一個示例進行前向傳遞,然後進行反向傳遞以提高網路在該示例上的性能)需要數千億次數學運算。訓練像 GPT-3 這樣大的模型需要在很多很多例子中重複這個過程。OpenAI 估計,訓練 GPT-3 需要超過 3000 億萬億次浮點計算,這對於數十個高端計算機晶元來說是幾個月的工作。

GPT-3 令人驚訝的性能

您可能會驚訝地發現培訓過程的效果如此之好。ChatGPT 可以執行各種複雜的任務——撰寫論文、進行類比,甚至編寫計算機代碼。那麼如此簡單的學習機制是如何產生如此強大的模型的呢?

原因之一是規模。像 GPT-3 這樣的模型看到的例子數量之多都不為過。GPT-3 在大約 5000 億個單詞的語料庫上進行訓練。相比之下,一個典型的人類兒童在 10 歲時會接觸大約 1 億個單詞

在過去五年中,OpenAI 穩步擴大了其語言模型的規模。在一篇被廣泛閱讀的 2020 年論文中,OpenAI 報告稱,其語言模型的準確性「與模型大小、數據集大小和用於訓練的計算量呈冪律關係,其中一些趨勢跨越了七個數量級以上。 」

他們的模型越大,他們在涉及語言的任務上就越好。但只有當他們將訓練數據量增加類似倍數時,這才是正確的。要使用更多數據訓練更大的模型,您需要更多的計算能力。

OpenAI 的第一個 LLM GPT-1 於 2018 年發布。它使用 768 維的詞向量,有 12 層,總共 1.17 億個參數。幾個月後,OpenAI 發布了 GPT-2。它最大的版本有 1600 維的詞向量、48 層、總共 15 億個參數。

2020年,OpenAI發布了GPT-3,其特徵為12288維詞向量和96層,總共1750億個參數。最後,今年,OpenAI 發布了 GPT-4。該公司尚未公布任何架構細節,但人們普遍認為 GPT-4 比 GPT-3 大得多。每個模型不僅比其較小的前輩學到了更多的事實,而且在需要某種形式的抽象推理的任務上也表現得更好。

例如,考慮以下故事:

有一個袋子,裡面裝滿了爆米花。袋子里沒有巧克力。然而袋子上的標籤上寫著「巧克力」而不是「爆米花」。山姆找到了袋子。她以前從未見過這個包。她看不到袋子里裝的是什麼。她讀了標籤。

您可能會猜到,山姆相信袋子里裝有巧克力,並且會驚訝地發現裡面有爆米花。心理學家將這種推理他人心理狀態的能力稱為「心理理論」。大多數人從小學起就具備這種能力。專家們對於非人類動物(如黑猩猩)是否具有心理理論存在分歧,但普遍認為心理理論對人類社會認知很重要。

今年早些時候,斯坦福大學心理學家米哈爾·科辛斯基(Michal Kosinski)發表了一項研究,探討了法學碩士解決心理理論任務的能力。他給了各種語言模型段落,就像我們上面引用的那樣,然後要求他們完成一個句子,比如「她相信袋子里裝滿了」。正確的答案是「巧克力」,但不複雜的語言模型可能會說「爆米花」或其他東西。

GPT-1 和 GPT-2 未通過此測試。但 2020 年發布的第一個版本的 GPT-3 的正確率幾乎達到 40%——Kosinski 的表現水平相當於 3 歲的孩子。去年 11 月發布的最新版本的 GPT-3 將這一問題提高到了 90% 左右,與 7 歲兒童的水平相當。GPT-4 正確回答了大約 95% 的心理理論問題。

以通俗易懂的方式解釋 AI 大語言模型的工作原理

「鑒於既沒有跡象表明類 ToM 的能力是被故意設計到這些模型中的,也沒有研究表明科學家知道如何實現這一點,類 ToM 的能力很可能自發地、自主地出現,作為模型不斷增強的語言能力的副產品,」科辛斯基寫道。

值得注意的是,研究人員並不都同意這些結果表明了心理理論的證據。例如,錯誤信念任務的微小變化會導致 GPT-3 的性能更差,而 GPT-3在測量心理理論的其他任務中表現出更多的可變性能。正如我們中的一個人(肖恩)所寫,成功的表現可能歸因於任務中的混雜——一種「聰明的漢斯」效應,只出現在語言模型中,而不是馬身上。

儘管如此,GPT-3 在旨在測量心理理論的多項任務上的接近人類的表現在幾年前還是不可想像的,並且與較大的模型通常更適合需要高級推理的任務的想法是一致的。

這只是語言模型似乎自發發展高級推理能力的眾多例子之一。今年 4 月,微軟的研究人員發表了一篇論文,認為 GPT-4 展示了通用人工智慧的早期誘人跡象——以複雜的、類似人類的方式思考的能力。

例如,一位研究人員要求 GPT-4 使用一種名為 TiKZ 的晦澀圖形編程語言繪製獨角獸。GPT-4 回復了幾行代碼,然後研究人員將其輸入到 TiKZ 軟體中。生成的圖像很粗糙,但它們清楚地表明 GPT-4 對獨角獸的樣子有一定的了解。

以通俗易懂的方式解釋 AI 大語言模型的工作原理

研究人員認為 GPT-4 可能以某種方式記住了從訓練數據中繪製獨角獸的代碼,因此他們給了它一個後續挑戰:他們修改了獨角獸代碼以移除角並移動一些其他身體部位。然後他們要求 GPT-4 重新打開喇叭。GPT-4 的回應是將喇叭放在正確的位置:

以通俗易懂的方式解釋 AI 大語言模型的工作原理

即使作者測試的版本的訓練數據完全基於文本,GPT-4 也能夠做到這一點。也就是說,它的訓練集中沒有圖像。但 GPT-4 顯然在接受大量書面文本訓練後學會了推理獨角獸身體的形狀。

目前,我們對法學碩士如何實現這樣的壯舉還沒有任何真正的了解。有些人認為這些例子表明模型開始真正理解訓練集中單詞的含義。其他人堅持認為,語言模型是「隨機鸚鵡」,它們只是重複日益複雜的單詞序列,而沒有真正理解它們。

這場辯論指出了一種可能無法解決的深刻的哲學張力。儘管如此,我們認為關注 GPT-3 等模型的實證表現很重要。如果語言模型能夠始終如一地獲得特定類型問題的正確答案,並且研究人員確信他們已經控制了混雜因素(例如,確保語言模型在訓練期間不會暴露於這些問題),那麼這就是一個有趣且重要的結果,無論模型是否以與人類完全相同的方式理解語言。

使用下一個標記預測進行訓練如此有效的另一個可能原因是語言本身是可預測的。語言中的規律性常常(儘管並非總是)與物理世界中的規律性相關。因此,當語言模型了解單詞之間的關係時,它通常也在隱式地了解世界上的關係。

此外,預測可能是生物智能和人工智慧的基礎。在安迪·克拉克等哲學家看來,人腦可以被認為是一台「預測機器」,其主要工作是對我們的環境進行預測,然後用於成功地駕馭該環境。直觀地說,做出好的預測得益於良好的表示——使用準確的地圖比使用不準確的地圖更有可能成功導航。世界很大而且很複雜,做出預測可以幫助生物體有效地定位和適應這種複雜性。

傳統上,構建語言模型的一個主要挑戰是找出表示不同單詞的最有用的方式,特別是因為許多單詞的含義在很大程度上取決於上下文。下一個單詞預測方法使研究人員能夠通過將其轉化為實證問題來迴避這個棘手的理論難題。事實證明,如果我們提供足夠的數據和計算能力,語言模型最終只需弄清楚如何最好地預測下一個單詞,就能學到很多關於人類語言如何工作的知識。缺點是我們最終得到的系統的內部運作方式我們並不完全了解。

Tim Lee 於 2017 年至 2021 年在 Ars 工作。他最近推出了一份新的時事通訊《Understanding AI》。它探討了人工智慧的工作原理以及它如何改變我們的世界。您可以在這裡訂閱他的時事通訊。

Sean Trott 是加州大學聖地亞哥分校的助理教授,主要研究人類語言理解和大型語言模型。他在時事通訊《反事實》中討論了這些主題以及其他主題。

- THE END -
最后修改:2023年8月5日

非特殊说明,本博所有文章均为博主原创。