大型語言模型 (LLM) 是一種較新的技術,可預測符記或符記序列,有時甚至可以預測出多段文字。請注意,符記可以是字詞、子字詞 (字詞的子集),甚至是單一字元。相較於 N-gram 語言模型或循環類神經網路,LLM 的預測結果更準確,原因如下:
- 大型語言模型包含的參數遠多於迴圈模型。
- 大型語言模型會收集更多脈絡。
本節將介紹建構 LLM 最成功且最廣泛使用的架構:Transformer。
什麼是 Transformer?
Transformer 是各種語言模型應用程式 (例如翻譯) 的最新架構:
完整的轉換器由編碼器和解碼器組成:
例如在翻譯工具中:
- 編碼器會將輸入文字 (例如英文句子) 處理成某種中間表示法。
- 解碼器會將該中間表示法轉換為輸出文字 (例如,等同的法文句子)。
什麼是自注意力?
為了強化背景資訊,Transformer 會大量依賴「自我注意力」這個概念。實際上,自注意力會代表每個輸入符記提出以下問題:
「每個其他輸入符記對此符記的解讀影響為何?」
「自注意」中的「自」是指輸入序列。部分注意力機制會將輸入符記與輸出序列中的符記 (例如翻譯) 或其他序列中的符記進行權重比較。不過,自注意力只會權衡輸入序列中符號之間的關係重要性。
為簡化問題,我們假設每個符記都是一個字,而完整的上下文只有一個句子。請考慮下列句子:
The animal didn't cross the street because it was too tired.
上一個句子包含十一個字。每個字都會注意其他十個字,想知道每個字對自己有多重要。舉例來說,請注意該句子包含代名詞「it」。代名詞通常含糊不清。代名詞「it」通常是指最近出現的名詞或名詞片語,但在範例句子中,「it」指的是哪個最近出現的名詞?動物還是街道?
自注意機制會判斷「每個」鄰近字詞與代名詞「it」的關聯性。圖 3 顯示結果:線條越藍,這個字對代名詞「it」的重要性就越高。也就是說,在代名詞 it 的情況下,animal 比 street 更重要。
相反地,假設句子中的最後一個字詞變更為下列內容:
The animal didn't cross the street because it was too wide.
在這個修訂過的句子中,自注意系統會將「街道」評為與代名詞「它」相關性較高,而非「動物」。
部分自我注意力機制是雙向的,也就是說,它們會計算與要注意的字詞「前置」和「後置」的符記關聯度分數。舉例來說,在圖 3 中,請注意「it」兩側的字詞都會進行檢查。因此,雙向自注意力機制可從所關注字詞兩側的字詞收集語境。相較之下,單向自注意機制只能從所關注字詞一側的字詞收集語境。雙向自注意力特別適合產生整個序列的表示法,而逐個符號產生序列的應用程式則需要單向自注意力。因此,編碼器會使用雙向自我注意力,解碼器則會使用單向注意力。
什麼是多頭自注意力?
每個自注意層通常由多個自注意向量組成。層的輸出內容是不同頭輸出的數學運算 (例如加權平均值或內積)。
由於每個自注意層都會初始化為隨機值,因此不同頭端可學習到各個要注意的字詞與附近字詞之間的不同關係。舉例來說,前一個章節所述的自注意層著重於判斷代名詞「it」參照哪個名詞。不過,其他自注意層可能會學習每個字詞與其他字詞的語法關聯性,或學習其他互動。
為什麼變形金剛這麼大?
轉換器包含數十億甚至數兆個參數。本課程一般建議您建構參數較少的模型,而非參數較多的模型。畢竟,參數較少的模型比參數較多的模型,需要較少資源才能進行預測。不過,研究顯示,參數較多的 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 也可能會出現各種偏誤。