JOVANA
Explore Library Glossary Getting Started Three Levels Fields How it works Mission
Join the mission
All guides

預訓練:教模型預測下一個詞元

在模型能與你對話之前,它花數月只做一件事:猜下一個字。來認識這個悄悄撐起一切的自監督目標。

一個任務統御一切

當你與大型語言模型對話時,它彷彿能理解問題、寫程式、解釋物理。但這些能力沒有一項是被「直接教會」的。它們都是某個簡單到近乎難為情的遊戲的副產品,而這個遊戲被玩了數兆次:給定一段文字,預測接下來會出現什麼。這個遊戲就是預訓練目標——見預訓練目標——而 LLM 幾乎所有的能力,都源自於它把這件事練到爐火純青。

具體來說,模型一次讀進一個詞元(token),並在每個位置上,對每一個可能的下一個詞元輸出一個機率。如果真正的下一個詞元是「海洋」,而模型只給它 2% 的機率,它就「感到意外」了——而我們訓練的目標,正是要把這份意外降到最低。這其實就是被放大到極致的語言模型(language modeling)

模型先把文字切分成 token,再映射為 token id,最後轉成嵌入向量——這就是它據以預測下一個 token 的原始輸入。

圖示:文字被切分為 token,轉換為 token id,再轉為嵌入向量。

為何它不需要標註:自監督

大多數機器學習需要人類來標註資料:這張照片是貓、那則評論是正面的。預訓練完全繞開了這一點。文字本身就是它的標準答案。要產生一筆訓練範例,你只要拿一個句子、把下一個詞元蓋住,再請模型預測它——那個被蓋住的詞元就是標籤,由文字本身免費提供。這個技巧稱為自監督預訓練(self-supervised pretraining),正是它讓 LLM 能從整個網際網路學習,而不需要一支標註大軍。

因為每個句子裡的每個位置都成了一筆免費的訓練範例,一份 1,000 個詞元的文件就能產生約 1,000 個預測問題。把它乘上一個包含數兆詞元的語料庫,你就有了天文數字般的監督訊號——而且沒有任何人需要動手標註任何東西。

因果語言模型:只能向左看

有一條規則讓這個遊戲保持誠實:當模型要預測第 i 個位置的詞元時,它只能看前面的詞元,絕不能看後面的。否則它就是在偷看答案。這種由左到右的設定就是因果語言模型(causal language modeling,又稱自迴歸建模),並透過因果遮罩(causal masking)在網路內部強制執行——一個阻止注意力伸向未來的遮罩。

這與推論時的下一個詞元預測(next-token prediction)是完全相同的機制。美妙的結果是:模型的訓練與生成使用完全相同的邏輯。預訓練時它預測下一個詞元來學習;之後當你與它對話時,它預測下一個詞元來書寫。除了前綴文字的來源以外,什麼都沒有改變。

自迴歸生成:每個預測出的 token 會被重新餵回去預測下一個——與預訓練時完全相同的從左到右邏輯。

自迴歸下一個 token 生成迴圈的圖示,將每個輸出重新作為輸入餵回。

context = ["The", "capital", "of", "France", "is"]
# model only sees the words to the left, then scores every token
P(next = "Paris")  -> 0.71
P(next = "Lyon")   -> 0.05
P(next = "banana") -> 0.0001
# the real next token was "Paris"; loss rewards the 0.71
在每個位置,模型對整個詞彙表打分;真正的下一個詞元就是標籤。

衡量意外:交叉熵損失

我們如何為一次預測打分?用交叉熵損失(cross-entropy loss)。在每個位置上,損失等於模型分配給正確下一個詞元那個機率的負對數。把對的詞元給予高機率,損失就小;給它極小的機率,損失就大。在一個批次上取平均,這個單一的數字就是驅動整個學習的全部訊號。

\mathcal{L} = -\log p_\theta\!\left(x_t \mid x_{<t}\right)

每個位置的交叉熵損失:模型賦予真實下一個 token 機率的負對數。

交叉熵有個你到處都會看到的親戚:困惑度(perplexity),它其實就是損失的指數。困惑度為 10 代表模型平均而言的不確定程度,就像在 10 個選項中均勻亂猜一樣。看著損失(與困惑度)穩定下降,正是團隊判斷一場耗資數百萬美元的訓練是否健康的依據。

為何如此簡單的遊戲行得通

這裡藏著一個深刻的想法。為了在烹飪部落格、法律合約、Python 錯誤訊息之間都能準確預測下一個詞元,模型被悄悄逼著學會文法、事實、算術、程式結構,甚至一套對人類如何推理的粗略模型。你無法可靠地接完「海平面上水的沸點是」這句話,除非你存著一個事實。預測是一匹特洛伊木馬:把它瞄得夠準、規模拉得夠大,理解就偷偷溜了進來。

這也是為什麼人們會爭論 LLM。懷疑者把一個下一個詞元預測器稱為隨機鸚鵡(stochastic parrot),認為它只是把資料重新混合;樂觀者則看到一種真實的、儘管陌生的能力,從規模中浮現出來。兩派看的是同一條損失曲線。本軌接下來會仔細追蹤這條曲線:這個遊戲所玩的資料、詞元與算力的預算、推動權重的最佳化器,以及讓長達數月的訓練成為可能的分散式系統