Large language model — 大语言模型
大型語言模型(large language model, LLM)是一種機器學習模型,透過具有海量參數(通常為數十億或更多)的深度神經網路實現,並在大規模文本數據上進行訓練。「大」在此背景下既指參數的規模,也指訓練語料庫的體量,現代系統中的語料庫可達數PB和數兆個詞元(token)。LLM主要採用自我監督或半自我監督(self-/semi-supervised)方法進行訓練,透過預測序列中的下一個詞元來學習語言的統計規律。參數、數據和計算步驟的增加會帶來可預測的性能提升,這一點已由縮放定律(scaling laws)證實。
自BERT(2017年)尤其是GPT-3(2020年)問世以來,LLM方法已在自然語言處理領域佔據主導地位。現代模型(如GPT-4o、Claude 3、Gemini 1.5、LLaMA 3等)無需特殊配置即可編寫文本和程式碼、翻譯、總結、回答問題和構建推理鏈;多模態版本還能分析圖像、聲音和視頻。針對特定應用任務的適配透過微調(fine-tuning)或提示工程(prompt engineering、in-context learning)來完成。然而,在取得巨大成就的同時,LLM也繼承了源數據中的偏見和錯誤,容易產生「幻覺」,並且需要龐大的計算資源。因此,當前的硏究重點在於行為對齊、語料庫過濾和高能效架構。
架構
現代LLM幾乎都採用Transformer架構,這是一種帶有自注意力機制(self-attention)的網路。Transformer模型最初由Google的研究人員在2017年的論文《Attention is All You Need》中提出。
Transformer架構是處理序列的基本神經網路方案,包含兩個邏輯模組:編碼器(encoder,用於編碼輸入)和解碼器(decoder,用於生成輸出)。其工作流程如下:輸入一個序列,為其創建向量表示(embedding),然後加上位置編碼向量。之後,這組元素不考慮順序地進入編碼器組件(並行處理)。接著,解碼器組件接收部分序列及編碼器的輸出,最終生成一個新的輸出序列。
Transformer的編碼器組件由多個相同的編碼器層堆疊而成;解碼器組件的結構也類似。Transformer本身是一系列注意力模型,它將輸入的向量序列轉換為一個新的序列,其中每個元素都考慮了其他元素的上下文。編碼器生成輸入數據的隱藏表示,保留元素之間的相互關係信息。解碼器基於這些隱藏表示,為輸出詞元創建新的嵌入序列。然後,語言模型利用這些嵌入生成最終的輸出元素。
由於Transformer最初是為機器翻譯等任務設計的,其架構包含一個編碼器(處理輸入文本,如源語言句子)和一個解碼器(生成輸出,如翻譯結果)。然而,許多語言模型僅使用以自回歸模式工作的解碼器部分。
Transformer主要有三種配置,每種配置對編碼器和解碼器的使用方式不同,適用於不同的任務類型:
- 僅編碼器模型(雙向):透過學習恢復被有意遮蔽的文本片段來進行訓練,因此非常適合於「理解」類任務,如分類、事實提取和語義搜索。
- 僅解碼器模型(自回歸):專注於預測下一個詞元,適用於需要流式輸出的場景,如對話代理、程式碼自動補全和創造性內容生成。
- 完整的「編碼器+解碼器」模型:結合了兩種方法。編碼器構建整個輸入文本的表示,解碼器則基於此表示逐步生成結果。這種配置在機器翻譯、摘要生成和問答系統等任務中最為有效。
詞元化
詞元化(Tokenization)是大型語言模型處理文本的關鍵初始步驟。在這一階段,連續的字串被分割成獨立的單元——詞元(token)。詞元化的任務是將字符序列轉換為結構化的元素序列,以確保神經網路能夠高效工作。
從語言學的角度來看,詞元化在某種程度上可以對應於提取語言中具有獨立意義或功能的最小單位的過程,例如單詞、語素或其片段。然而,通常情況下,詞元只是統計上頻繁出現的字符序列,因此不應過高估計所有詞元的語言學意義。根據所選的方案,詞元可以是:整個單詞、子詞、單個字符或特殊標記(如序列的開始和結束標記)。
詞元化可以實現以下目標:
- 將詞典大小限制在可接受的範圍內;
- 正確處理罕見詞和新詞;
- 確保文本到數字標識符序列的唯一映射。
文本分割採用子詞算法,最常見的有Byte Pair Encoding (BPE)、WordPiece和UnigramLM。這些算法都會從語料庫中構建一個由最常見片段組成的詞典,並用它來對任何輸入文本進行順序分割。
在詞元化階段之後,每個文本單元——詞元——都會被轉換為神經網路能夠理解的數值表示。這個過程包括幾個連續的步驟:
- 將詞元轉換為標識符:根據預先構建的詞元詞典,每個詞元都映射到一個唯一的數字索引。文本詞元被其唯一的數字標識符(ID)替換。每個ID是詞元在預構建詞典中的編號,這使得神經網路能夠處理數字而不是單詞。
- 將標識符轉換為嵌入:對於每個詞元標識符,會檢索或計算一個固定維度的相應向量——嵌入(embedding)。這種多維數值表示取代了ID,並包含了關於詞元含義和上下文屬性的信息。為了便於處理,所有嵌入都具有相同的長度。
- 添加位置編碼:由於Transformer架構本身不考慮元素的順序,因此需要向嵌入中添加位置編碼(positional encodings),以提供關於詞元在序列中位置的信息。換句話說,這使得模型能夠「知道」句子中哪個詞元是第一個、第二個、第三個,依此類推。
- 構建輸入矩陣:最終得到一個維度為
[序列長度 × 嵌入維度]的矩陣,它作為文本的初始表示,並被送入神經網路的輸入端,特別是Transformer的自注意力(self-attention)模組。該矩陣的每一行對應一個詞元,其中包含的向量既承載了其語義信息(嵌入),也包含了其在文本中的位置信息(位置編碼)。
文本 → 詞元 → 標識符 → 嵌入 + 位置編碼 → 模型輸入
注意力機制
注意力機制(attention mechanism)是Transformer架構的關鍵組成部分,它使得模型能夠考慮詞元之間的依賴關係,而不受它們在序列中距離的影響。當輸入文本被轉換為向量序列後,該序列會進入Transformer的核心元素——注意力模組(attention block)。
注意力機制為神經網路提供了一種方法,使其在處理序列中的每個元素時,能夠判斷應該更多地關注輸入數據的哪些部分。藉此,文本中各個片段的向量可以相互作用,透過吸收周圍上下文的信息來豐富和更新自身的值。這使得模型能夠有效捕捉詞元之間的局部和長距離依賴關係,從而顯著提升其解釋複雜文本結構的能力。
在自然語言中,單詞或短語的意義並非孤立決定,而是取決於其上下文,即周圍的其他單詞和結構。在神經網路中,文本透過向量表示——嵌入(embedding)——進行編碼,這些嵌入以數值方式反映了詞元的詞彙和句法屬性。如果沒有像Transformer中那樣的直接注意力機制,上下文信息要麼會在長距離上丟失(如在簡單模型中),要麼會順序傳遞,這對於捕捉遠距離關係效率較低。然而,在自然語言中,單詞或句法結構的意義是動態的,其解釋必須根據上下文進行調整。注意力機制實現了向量表示的語境化,這意味著:
- 每個詞元都會「評估」自己相對於句子中其他詞元的重要性。
- 在更新過程中,向量表示通過相互交換信息而變得更加豐富,從而反映出句法依賴、語義角色和語用上下文。
透過這種信息交換,更新後的向量不僅編碼了詞元本身的意義,還編碼了其語法關係(句法)、在所描述情境中的作用(語義)以及在上下文中的整體含義(語用)。
輸入詞元向量 (含位置信息) → 注意力機制 (向量交互) → 語境化詞元向量 (富含與其他詞元關聯信息的向量)
注意力機制的技術實現
注意力機制的內部結構包括幾個關鍵的計算步驟和組件。對於每個輸入向量,都會生成三個向量:查詢(Query)、鍵(Key)和值(Value)。通過它們的交互計算出注意力權重,然後用這些權重來獲得更新後的、語境化的向量表示。一種常見的方法是使用多頭注意力(Multi-Head Attention)架構來並行處理信息。
查詢、鍵、值
注意力機制計算的核心是將每個輸入向量(即詞元嵌入與其位置編碼之和)轉換為三個不同的向量表示:查詢(Query, Q)、鍵(Key, K)和值(Value, V)。
從概念上講,這三個向量在注意力機制中扮演以下角色:
- 查詢 (Query):代表當前詞元的向量,它發起在序列中尋找相關信息的過程。可以將其視為用於評估其他詞元相對於當前詞元重要性的「問題」或「探針」。
- 鍵 (Key):作為描述每個詞元內容某個方面的標識符或「標籤」。當前詞元的查詢向量(Q)會與序列中所有的鍵向量(K)(包括其自身的)進行比較,以確定它們的匹配度或相關性。
- 值 (Value):包含與每個詞元關聯的實際信息或表示,這些信息將被傳遞到下一層。在基於查詢和鍵的交互計算出注意力權重後,這些權重會應用於值向量,以形成最終的加權表示,這即是該詞元在注意力機制中的輸出。
大型語言模型的訓練
LLM的訓練主要分為兩個階段:
- 預訓練 (Pretraining):在此階段,模型通過自我監督學習(self-supervised learning)在大量未標註的文本語料庫上進行訓練。任務是預測序列中的下一個詞元(自回歸)或恢復被遮蔽的片段(掩碼語言建模)。預訓練使模型能夠學習廣泛的語言統計規律、語法、世界知識和基本的推理形式。
- 微調 (Fine-tuning):預訓練後,模型會在專門的數據集上進行進一步訓練,以執行特定任務,例如生成答案、文本分類或遵循指令。現代方法包括:
- 在標註數據集上進行監督式微調 (supervised fine-tuning)。
- 基於人類回饋的強化學習 (RLHF, reinforcement learning from human feedback),用於根據品質、安全性和實用性等目標指標來調整模型的行為。
問題與侷限性
儘管取得了令人矚目的進展,現代大型語言模型(LLM)仍存在一系列問題和侷限性:
I. 計算與架構侷限
- 高昂的計算成本: LLM的訓練和運行需要大量的計算能力、時間和能源,導致高昂的經濟和環境成本。此外,生成的自回歸特性(逐個生成詞元)限制了並行化,與非自回歸方法相比,推理速度較慢。
- 上下文長度限制: Transformer架構的計算成本和記憶體需求與序列長度成二次方關係。這迫使模型設定一個固定的上下文窗口大小,限制了單次可處理的文本量,導致長文檔被截斷,窗口外的信息丟失。
II. 可靠性與生成準確性問題
- 幻覺: 生成聽起來合理但實際上不正確的信息。這與模型缺乏對真實世界的理解、依賴數據中的統計規律以及無法驗證生成內容的真實性有關。
- 錯誤累積 (Error Propagation): 在生成過程早期出現的錯誤會不斷放大,導致後續步驟中不準確性增加,從而降低文本的整體品質和連貫性。
- 有限的組合性: 在需要多步邏輯推理或精確計算的任務上表現不佳(例如,多位數乘法、解謎)。由於生成的自回歸特性,模型在這些任務上的準確性會隨著複雜度的增加而急劇下降。
- 重複: 傾向於過度重複單詞或短語,降低了文本的信息量和可讀性。這與訓練方法和解碼算法(選擇下一個詞元的方式)有關。
- 逆轉詛咒 (Reversal Curse): 模型無法自動進行反向知識泛化:在學習了「A是B」之後,模型通常無法推斷出「B是A」。
- 「創造性-準確性」的權衡: 需要在生成多樣化、新穎的回答與保持事實準確性之間取得平衡。提升一方面往往會對另一方面產生負面影響,例如,高創造性可能與幻覺增加相關。
III. 互動與控制問題
- 可控性低: 難以精確控制生成文本的風格、語氣、內容或使其遵循複雜指令。可控性在很大程度上取決於輸入指令(「提示」)的品質和微調方法。
- 對措辭敏感: 輸入提示的微小變化可能導致截然不同的回答,即使提示的語義保持不變。這使得獲得穩定和可預測的結果變得困難。
IV. 倫理與社會方面
- 偏見與公平性問題: 模型可能複製並放大訓練數據中存在的社會刻板印象、偏見或有害內容。確保模型的公平性和安全性是一項複雜的挑戰。
- 對齊問題 (LLM Alignment): 這是一個更廣泛的問題,包含前一點。其任務是確保模型的行為符合人類的價值觀、意圖和道德規範。這包括解決偏見、幻覺、生成有害內容以及提高可控性。
- 惡意使用的風險: LLM可能被用於製造和大規模傳播虛假信息、網路釣魚、垃圾郵件、惡意程式碼或生成令人信服的偽造文本,這對信息安全、個人安全構成威脅,並破壞社會信任。
外部链接
- 大型語言模型(中文維基百科)
- Large language model(英文維基百科)
- Grand modèle de langage(法文維基百科)
- Large Language Model(德文維基百科)
- Naveed H. et al. A Comprehensive Overview of Large Language Models. arXiv:2307.06435, 2023.
参考文献
- Vaswani, A. et al. Attention Is All You Need. arXiv:1706.03762, 2017.
- Devlin, J. et al. BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding. arXiv:1810.04805, 2019.
- Brown, T. et al. Language Models Are Few-Shot Learners. arXiv:2005.14165, 2020.
- Kaplan, J. et al. Scaling Laws for Neural Language Models. arXiv:2001.08361, 2020.
- Hoffmann, J. et al. Training Compute-Optimal Large Language Models. arXiv:2203.15556, 2022.
- Ouyang, L. et al. Training Language Models to Follow Instructions with Human Feedback. arXiv:2203.02155, 2022.
- Bai, Y. et al. Constitutional AI: Harmlessness from AI Feedback. arXiv:2212.08073, 2022.
- Bubeck, S. et al. Sparks of Artificial General Intelligence: Early Experiments with GPT-4. arXiv:2303.12712, 2023.
- OpenAI. GPT-4 Technical Report. arXiv:2303.08774, 2023.
- Touvron, H. et al. The Llama 3 Herd of Models. arXiv:2407.21783, 2024.