給職場大人的數學
AI 時代必懂的數學5 分鐘閱讀

機率基礎:為什麼 LLM 本質上在預測下一個 token

客戶在會議上問你:「ChatGPT 到底怎麼運作的?」你想了三秒,發現自己只能說「它很厲害」。 其實一句話就能講完——它在算「下一個 token 出現的機率」,然後從那個機率分布裡抽一個出來。 理解這句話,你就能解釋 GPT 為什麼會幻覺、為什麼同個 prompt 兩次回答不一樣、為什麼 RAG 不一定救得了。

核心公式

LLM 的本體 = P(下一個 token | 前文)

「給定目前的句子,每個可能的下一個字,各自的出現機率是多少?」

三種你只需要分清楚的機率

名稱寫法白話
聯合機率P(A, B)A 跟 B 同時發生的機率
條件機率P(A | B)已知 B 發生的前提下,A 的機率
邊際機率P(A)不管 B 是什麼,A 的機率

LLM 用的是條件機率。給「我今天去」,模型輸出整個詞表(5 萬個 token)每個的機率, 「上班」可能是 0.18、「買菜」0.05、「健身房」0.03、「火星」0.0001。然後從這個分布抽一個。

從機率到文字:sample 怎麼運作

模型最後一層吐出的是分數(logits),不是機率。softmax 把這串分數強制壓進 0~1、加總為 1,變成合法的機率分布。 接下來怎麼從這個分布抽一個 token,就是 temperaturetop-p 的工作。

Temperature:控制「想多瘋」

溫度其實是 softmax 之前對 logits 的縮放:除以 T。T 越高,分數差距被壓平、低機率字也有機會;T 越低,最大值更突出、變得保守。

Temperature分布特徵使用場景
0退化成 argmax,永遠選最高機率程式碼、SQL、JSON
0.3聚焦在前幾名客服、文件問答
0.7預設值,平衡一般對話、寫作
1.0原始分布不動brainstorming
1.5+分布更平、會出現意外字創意寫作、實驗

Top-p(nucleus sampling)

top-p = 0.9 表示「按機率由高到低累加,加到 90% 為止,這群字才會被抽」。 這比固定 top-k 靈活:在「明顯有正確答案」的位置自動收斂、在「開放式創作」的位置自動展開。 Temperature 調分布形狀,top-p 調候選集大小,兩者通常一起用。

商務情境:這些直覺解釋了什麼

  • 同個 prompt 兩次答案不同:因為 T > 0 時是隨機 sample,不是查表
  • 幻覺不是 bug:模型只負責「機率上合理」,不負責「事實正確」。當訓練資料缺、又被迫產出時,最像的字就會被選
  • RAG 不是萬能:把資料塞進 context 提高相關 token 的機率,但低機率仍 > 0,溫度 > 0 還是會出錯
  • 結構化輸出要 T = 0:JSON、function call、SQL 任何位置抽錯都壞掉
  • 「再生成一次」就會變:所以 A/B 比較模型品質要跑多次取平均

常見誤解

  1. 「機率高 = 正確」:機率高只代表「在訓練資料裡很常出現」,跟事實對錯無關
  2. 「T = 0 就不會幻覺」:T = 0 只是穩定,每次答都一樣,但仍可能穩定地答錯
  3. 「Softmax 是機率」:Softmax 是把任何實數強制變成機率分布的函數,分數本身可以是任何數
  4. 「LLM 在思考」:它在算 P(next | context)。Chain-of-thought 是把「思考過程」也變成被 sample 的 token,不是真的在內部推理

練習

給定前文「2 + 2 =」,模型大概率輸出「4」(>0.99)。 給定前文「我覺得這部電影」,輸出分布會很平——「很」「真的」「滿」「不」「超」可能各 0.05~0.15。 當你下次看到 LLM 「亂講」,記得:它沒亂,它只是從一個你不知道的機率分布裡抽了一個 token。