語言模型的核心本質:Token 級預測
語言模型在本質上是一種Token 級的統計模型,其核心任務是預測下一個最可能出現的 token。這看似簡單的機制,卻能夠產生複雜的語言理解與生成能力。
以 GPT 系列為例,模型接收一段文字作為輸入,輸出下一個 token 的機率分布。這個過程是逐個進行的:
- 輸入:「今天天氣」
- 輸出:「很好」的機率為 0.7、「不錯」的機率為 0.2、其他為 0.1
透過不斷重複這個過程,模型就能生成完整的句子或文章。
為何 Token 級預測能產生序列級理解?
這是一個關鍵問題:僅僅預測下一個 token,如何理解整個序列的語義?
答案在於注意力機制(Attention Mechanism)。Transformer 架構允許模型在預測每個 token 時,訪問輸入序列中的所有其他 token。透過自注意力機制,模型能夠:
- 理解上下文關係(「他」指的是誰)
- 捕捉長距離依賴(「因為...所以...」)
- 學習語法結構和語義關聯
因此,雖然預測單位是 token,但模型實際上是在進行序列級的上下文建模。
實例:從單詞預測到語言理解
讓我們用實際例子說明:
輸入序列:「小明把蘋果放在了桌子上,因為他餓了」
模型需要理解「他」指的是「小明」而非「桌子」。這個任務看似簡單,但需要:
- 識別實體(「小明」、「蘋果」、「桌子」)
- 理解動作和因果關係
- 追蹤代詞指代
這些都是序列級的理解任務,但透過每一步的 token 級預測逐步完成。
訓練目標:Next Token Prediction
大型語言模型的訓練採用「下一個 token 預測」(Next Token Prediction, NTP)作為目標函數:
Loss = -Σ log P(w_t | w_1, w_2, ..., w_{t-1})
這個目標函數的設計具有以下優勢:
- 可擴展性:只需要大量文本即可訓練
- 自監督:無需人工標註
- 通用性:學會的能力可遷移到多種任務
研究顯示,當模型規模夠大、訓練數據夠多時,NTP 能夠湧現出推理、程式碼撰寫等複雜能力。
序列級方法的興起與結合
雖然傳統語言模型是 token 級的,但近年來出現了多種序列級方法:
- 序列到序列(Seq2Seq): Encoder-Decoder 架構
- Position Encoding: 明確編碼位置資訊
- 完整句子訓練: 如 BERT 的 MLM(遮罩語言模型)
現代的先進模型往往結合多種方法。例如,GPT 專注於自迴歸 token 預測,而 BERT 则採用雙向序列編碼。理解這兩種範式的差異,有助於選擇適合的模型架構。