搜尋意圖: 如果你在找「語言建模 是什麼」或「語言建模 和相近概念差在哪」,先看這頁的短定義、完整說明與延伸比較。
TL;DR: 透過統計或神經網路方法,學習文字序列的機率分布,用於預測下一個詞或評估句子合理性的模型。
實用情境: 適合用在閱讀 AI 文章、產品文件或和同事討論時,先用一頁快速對齊概念。
下一步: 先讀完定義,再往下看延伸比較與對應工具,把概念轉成實際應用。
透過統計或神經網路方法,學習文字序列的機率分布,用於預測下一個詞或評估句子合理性的模型。
語言模型(Language Modeling)是自然語言處理中最基礎且影響最深遠的任務,涉及對文字序列統計規律的理解與建模。從 n-gram 時代到近期的 LLM,語言建模推動了 NLP 的每一次技術革新。
語言建模的數學定義
給定詞彙表 V 與文本序列 w = (w₁, w₂, ..., wₙ),語言模型估計該序列的機率: P(w) = P(w₁) × P(w₂|w₁) × P(w₃|w₁,w₂) × ... × P(wₙ|w₁,...,wₙ₋₁)
核心挑戰是估計條件機率 P(wᵢ|w₁,...,wᵢ₋₁),特別是當上文長度任意時。
技術發展階段
n-gram 模型(1980-2010 年)
- 馬可夫假設:P(wᵢ|w₁,...,wᵢ₋₁) ≈ P(wᵢ|wᵢ₋ₙ₊₁,...,wᵢ₋₁),即當前詞只依賴前 n-1 個詞。
- 訓練:詞序列計數,用最大似然估計(MLE)或加平滑技術。
- 優點:計算簡單,訓練快速。
- 缺點:無法捕捉長程依賴,高階 n(n>5)時稀疏性問題嚴重,詞表未見序列機率為零。
類別模型(Class-based Models)
- 將詞分組為語義或語法類別,減少參數數量。
- 例如:Brown Clustering、簇聚方法。
- 改善稀疏性但喪失詞彙細粒度資訊。
神經網路語言模型(2003 年之後) Bengio 等人提出將詞嵌入到連續向量空間,用神經網路建模 P(wᵢ|w₁,...,wᵢ₋₁)。
- 架構:詞嵌入層 → 前饋隱層 → softmax 輸出層。
- 優點:自動學習詞向量,能捕捉詞彙間的語義相似性;無需手工特徵。
- 缺點:上文長度固定(窗口大小),無法模型化任意長上文。
循環神經網路語言模型(2010-2017 年)
- LSTM 與 GRU 的引入解決了長程依賴問題,通過記憶機制與門機制保留重要上文信息。
- 雙向模型:在訓練時可同時利用前向與後向上文。
- 表現大幅超越 n-gram,成為當時的標準。
- 應用:機器翻譯、語音辨識 rescoring、文本生成。
Transformer 與自注意力模型(2017 年至今)
- 自注意力(self-attention)允許模型同時關注序列中所有位置,無需遞迴。
- 並列計算效率高,可訓練更深的模型。
- 預訓練範式:在大規模未標注文本上進行預訓練,得到上下文感知的詞表示(如 BERT、GPT)。
- 現代 LLM(GPT-3, GPT-4, Claude)均基於 Transformer 語言模型,展現驚人的少樣本學習能力。
訓練目標與損失函數
下一詞預測(Causal Language Modeling)
- 損失:只根據過去上文預測當前詞,交叉熵損失函數。
- 用途:文本生成、自迴歸解碼。
- 實現:遮罩未來位置的注意力(因果遮罩)。
遮罩語言建模(Masked Language Modeling)
- 方法:隨機遮罩輸入序列的某些詞,模型預測遮罩詞。
- 優勢:可同時利用雙向上文,預訓練效率更高。
- 限制:預訓練與微調存在「token mismatch」(預訓練時有 [MASK] token,微調時沒有)。
- 應用:BERT、RoBERTa 等雙向模型。
其他目標
- 句子排序預測(Sentence Ordering Prediction)
- 下一句預測(Next Sentence Prediction)
- 對比學習目標(Contrastive Learning)
評估指標
困惑度(Perplexity,PPL)
- PPL = exp(-1/N ∑ log P(wᵢ|w₁,...,wᵢ₋₁))
- 直觀含義:平均每個位置有多少「困惑」的選擇。
- 越低越好,但與下游任務效能的相關性不完美。
下游任務表現
- 微調後在具體任務(分類、回答、翻譯)的性能。
- 是評估預訓練模型品質的最可靠方式。
語言模型的應用場景
- 機器翻譯解碼:選擇語法合理、語義正確的翻譯候選。
- 語音辨識 rescoring:降低 ASR 模型的同音詞誤率。
- 文本自動完成與預測:輸入法、代碼補全(GitHub Copilot)。
- 問題生成與摘要:條件語言模型 P(summary|document)。
- 對話系統與 Chatbot:逐詞生成回應。
- 語法檢查與錯誤修正。
當代挑戰與開放問題
長文本建模
- Transformer 的二次複雜度限制了最大上文長度。
- 解決方案:稀疏注意力、局部注意力、層次化建模、線性注意力近似。
- 最新進展(2024):許多模型達到 100k-1M token 的上文窗口。
知識的隱式 vs. 顯式編碼
- 語言模型在訓練資料中隱式習得世界知識,但無法更新或明確查詢。
- RAG(檢索增強生成)與外部知識庫的結合是當前實踐方向。
幻覺與事實性
- 語言模型有時生成聽起來合理但不正確的內容(幻覺)。
- 改善方向:監督微調、人類反饋強化學習(RLHF)、事實檢驗機制。
多語言與低資源語言
- 英文語言模型最成熟,非英文與低資源語言的預訓練資料稀缺。
- 轉移學習與多語言預訓練模型(如 mBERT、XLM-R)逐漸改善此況。
效率與部署
- LLM 的體型龐大,推論成本高。
- 優化方向:模型蒸馏、量化、低秩適應(LoRA)、推機批處理。
與相關概念的區別
- 語言模型 vs. 詞嵌入:嵌入只學習靜態詞向量,語言模型學習動態上下文相關表示。
- 語言模型 vs. 機器翻譯:語言模型是翻譯系統的子組件(解碼階段)。
- 語言模型 vs. 大型語言模型(LLM):LLM 是一類超大規模的語言模型,通常 > 1B 參數,並經過指令微調與對齐。
常見問題
語言模型能夠「理解」語言嗎?
這取決於如何定義「理解」。從機械角度,語言模型學習了文字序列的統計規律,能有效預測下一詞或生成連貫文本,但不具備意向性(intentionality)、不知道詞彙指向的真實對象。從應用角度,現代大型語言模型在許多任務上的表現(包括推理、解釋、翻譯)足以通過實用的「理解」測驗。哲學上的爭議仍在,但實踐中,我們可以說:語言模型學習到了語言的深層結構與世界知識的投影,這足以驅動許多下游應用的成功。
為什麼 n-gram 模型現在幾乎沒有人用了?
n-gram 的根本限制是無法捕捉長程依賴:前三個詞對第十個詞的影響被完全忽略。在實際文本中,遠距離的語義與句法相依性至關重要。此外,n-gram 對稀疏數據敏感,高階 n(n>5)時大部分序列未在訓練集出現,導致機率估計不可靠。神經網路與Transformer 的出現完全超越了這些限制,性能提升 10+ 倍。唯一 n-gram 仍有用武之地的是極低資源語言(標注資料極少),因為 n-gram 可以用少量資料快速訓練基線模型。
為什麼語言模型有時候會一本正經地說謊?
語言模型的訓練目標是最大化下一詞的條件機率,並非「說出事實」。當模型沒有看過某個專業知識(如最新研究發現、小眾事件),但詞彙組合聽起來合理時,它就會生成假資訊。這稱為「幻覺」(hallucination)。此外,訓練資料本身可能含有錯誤資訊,模型會學到並重複這些錯誤。改善方法:搭配事實檢索(RAG)、在訓練中加入事實核實任務、使用人類反饋強化學習,但目前沒有完全解決方案。根本上,語言模型擅長的是「模仿已見過的文本」,而非「推導客觀真理」。