LLM:What';什麼是大型語言模型?

大型語言模型 (LLM) 是一種較新的技術,可預測符記或符記序列,有時甚至可以預測出多段文字。請注意,符記可以是字詞、子字詞 (字詞的子集),甚至是單一字元。相較於 N-gram 語言模型或循環類神經網路,LLM 的預測結果更準確,原因如下:

  • 大型語言模型包含的參數遠多於迴圈模型。
  • 大型語言模型會收集更多脈絡。

本節將介紹建構 LLM 最成功且最廣泛使用的架構:Transformer。

什麼是 Transformer?

Transformer 是各種語言模型應用程式 (例如翻譯) 的最新架構:

圖 1. 輸入內容為:I am a good dog. 以 Transformer 為基礎的翻譯器會將該輸入內容轉換為輸出內容:Je suis un bon chien,這是翻譯成法文的相同句子。
圖 1:以 Transformer 為基礎的應用程式,可將英文翻譯成法文。

 

完整的轉換器由編碼器和解碼器組成:

  • 編碼器會將輸入文字轉換為中繼表示法。編碼器是龐大的類神經網路
  • 解碼器會將中繼表示法轉換為實用的文字。解碼器也是龐大的神經網路。

例如在翻譯工具中:

  • 編碼器會將輸入文字 (例如英文句子) 處理成某種中間表示法。
  • 解碼器會將該中間表示法轉換為輸出文字 (例如,等同的法文句子)。
圖 2:以 Transformer 為基礎的翻譯器會從編碼器開始,產生英文句子的中繼表示法。解碼器會將該中繼表示法轉換為法文輸出句子。
圖 2. 完整的 Transformer 包含編碼器和解碼器。

 

本單元著重於完整的 Transformer,其中包含編碼器和解碼器;不過,也存在僅限編碼器和僅限解碼器的架構:

  • 僅限編碼器的架構會將輸入文字對應至中繼表示法 (通常是嵌入層)。僅限編碼器架構的用途包括:
    • 預測輸入序列中的任何符記 (這是語言模型的傳統角色)。
    • 建立複雜的嵌入功能,可做為分類器等其他系統的輸入內容。
  • 僅限解碼器的架構會根據已產生的文字產生新的符記。僅解碼器的模型通常擅長產生序列;新一代的僅解碼器模型可利用產生功能,建立對話記錄和其他提示的後續內容。

什麼是自注意力?

為了強化背景資訊,Transformer 會大量依賴「自我注意力」這個概念。實際上,自注意力會代表每個輸入符記提出以下問題:

「每個其他輸入符記對此符記的解讀影響為何?」

「自注意」中的「自」是指輸入序列。部分注意力機制會將輸入符記與輸出序列中的符記 (例如翻譯) 或其他序列中的符記進行權重比較。不過,注意力只會權衡輸入序列中符號之間的關係重要性。

為簡化問題,我們假設每個符記都是一個字,而完整的上下文只有一個句子。請考慮下列句子:

The animal didn't cross the street because it was too tired.

上一個句子包含十一個字。每個字都會注意其他十個字,想知道每個字對自己有多重要。舉例來說,請注意該句子包含代名詞「it」。代名詞通常含糊不清。代名詞「it」通常是指最近出現的名詞或名詞片語,但在範例句子中,「it」指的是哪個最近出現的名詞?動物還是街道?

自注意機制會判斷「每個」鄰近字詞與代名詞「it」的關聯性。圖 3 顯示結果:線條越藍,這個字對代名詞「it」的重要性就越高。也就是說,在代名詞 it 的情況下,animalstreet 更重要。

圖 3. 句子「The animal didn't cross the street because it was too tired」中的每個字詞與代名詞「it」的關聯性。字詞「animal」與代名詞「it」最為相關。
圖 3. 代名詞「it」的自注意力。摘自 Transformer:語言理解的全新類神經網路架構

 

相反地,假設句子中的最後一個字詞變更為下列內容:

The animal didn't cross the street because it was too wide.

在這個修訂過的句子中,自注意系統會將「街道」評為與代名詞「它」相關性較高,而非「動物」

部分自我注意力機制是雙向的,也就是說,它們會計算與要注意的字詞「前置」和「後置」的符記關聯度分數。舉例來說,在圖 3 中,請注意「it」兩側的字詞都會進行檢查。因此,雙向自注意力機制可從所關注字詞兩側的字詞收集語境。相較之下,單向自注意機制只能從所關注字詞一側的字詞收集語境。雙向自注意力特別適合產生整個序列的表示法,而逐個符號產生序列的應用程式則需要單向自注意力。因此,編碼器會使用雙向自我注意力,解碼器則會使用單向注意力。

什麼是多頭自注意力?

每個自注意層通常由多個自注意向量組成。層的輸出內容是不同頭輸出的數學運算 (例如加權平均值或內積)。

由於每個自注意層都會初始化為隨機值,因此不同頭端可學習到各個要注意的字詞與附近字詞之間的不同關係。舉例來說,前一個章節所述的自注意層著重於判斷代名詞「it」參照哪個名詞。不過,其他自注意層可能會學習每個字詞與其他字詞的語法關聯性,或學習其他互動。

自注意力機制會強制語境中的每個字詞學習語境中所有其他字詞的關聯性。因此,我們很想宣稱這是 O(N2) 問題,其中:

  • N 是上下文中的符記數。

Transformer 包含多個自注意層和每個自注意層的多個自注意向量,因此 Big O 實際上是:

O(N2 · S · D)

其中:

  • S 是自注意層的數量。
  • D 是每個層級的頭數。

您可能永遠不會從頭訓練 LLM。訓練工業級大型語言模型需要大量機器學習專業知識、運算資源和時間。無論如何,您點選圖示是為了瞭解詳情,因此我們有義務向您說明。

建構 LLM 的主要元素是大量的訓練資料 (文字),通常會經過篩選。訓練的第一階段通常是對訓練資料進行某種形式的非監督式學習。具體來說,模型會針對遮罩的預測結果進行訓練,也就是說,訓練資料中的特定符記會刻意隱藏。模型會嘗試預測缺少的符記,藉此進行訓練。舉例來說,假設以下句子是訓練資料的一部分:

The residents of the sleepy town weren't prepared for what came next.

隨機符記會遭到移除,例如:

The ___ of the sleepy town weren't prepared for ___ came next.

LLM 只是神經網路,因此損失 (模型正確考量的遮罩符記數) 會引導反向傳播更新參數值的程度。

訓練用來預測缺少資料的 Transformer 模型會逐漸學會偵測資料中的模式和高階結構,以便取得缺少符號的線索。請參考以下遮罩實例:

Oranges are traditionally ___ by hand. Once clipped from a tree, __ don't ripen.

透過大量遮蓋範例的訓練,LLM 可學習到「harvested」或「picked」是第一個符記的可能比對字串,而「oranges」或「they」是第二個符記的好選擇。

您可以選擇進行額外的訓練步驟,也就是所謂的指令微調,藉此改善 LLM 遵循指令的能力。

為什麼變形金剛這麼大?

轉換器包含數十億甚至數兆個參數。本課程一般建議您建構參數較少的模型,而非參數較多的模型。畢竟,參數較少的模型比參數較多的模型,需要較少資源才能進行預測。不過,研究顯示,參數較多的 Transformer 一貫表現優於參數較少的 Transformer。

不過,大型語言模型如何產生文字呢?

您可能已經瞭解研究人員如何訓練 LLM 來預測缺少的一個或兩個字詞,但這可能不會讓您感到驚艷。畢竟,預測一兩個字的功能,本質上就是各種文字、電子郵件和撰寫軟體內建的自動完成功能。您可能會想知道大型語言模型如何產生關於套利的句子、段落或俳句。

事實上,LLM 本質上是自動完成機制,可自動預測 (完成) 數千個符記。舉例來說,假設句子後面有一個經過遮蔽的句子:

My dog, Max, knows how to perform many traditional dog tricks.
___ (masked sentence)

大型語言模型可為遮蓋的句子產生機率,包括:

機率 字詞
3.1% 例如,他可以坐下、待命和翻滾。
2.9% 例如,他知道如何坐下、待命和翻滾。

大型語言模型可為段落和整篇文章產生機率。您可以將使用者對 LLM 提出的問題視為「給定」句子,後面接著虛擬遮罩。例如:

User's question: What is the easiest trick to teach a dog?
LLM's response:  ___

大型語言模型會為各種可能的回覆產生機率。

舉另一個例子來說,以大量數學「文字題」訓練的 LLM 可能會讓人誤以為它能進行複雜的數學推理。不過,這些 LLM 基本上只是自動完成字詞問題提示。

LLM 的優點

大型語言模型可為各種目標對象產生清晰易懂的文字。大型語言模型可針對明確訓練的任務進行預測。部分研究人員聲稱,大型語言模型也可以針對「未」明確訓練的輸入內容做出預測,但其他研究人員駁斥了這項說法。

大型語言模型的問題

訓練大型語言模型時會遇到許多問題,包括:

  • 收集龐大的訓練資料集。
  • 耗用數月時間、大量運算資源和電力。
  • 解決平行處理的挑戰。

使用 LLM 進行推論預測會導致下列問題:

  • LLM 會產生幻覺,也就是說,其預測結果通常會出現錯誤。
  • LLM 會消耗大量運算資源和電力。在較大的資料集上訓練 LLM 通常可減少推論所需的資源量,但較大的訓練集會產生更多訓練資源。
  • 和所有機器學習模型一樣,LLM 也可能會出現各種偏誤。

練習:檢查您的理解程度

假設 Transformer 是根據十億份文件進行訓練,其中包含至少一個「elephant」字詞例項的文件有數千份。以下哪個敘述可能正確?
相思樹是象的食物來源之一,會隨著「elephant」一詞逐漸獲得高自注意分數。
轉換器會將「elephant」這個字與包含「elephant」這個字的各種成語連結在一起。
Transformer 會逐漸學會忽略訓練資料中任何以嘲諷或反諷方式使用「elephant」一詞的用法。