模型的最後一層產生一個大小為 V(詞彙表大小,通常為 32K–128K)的向量。每個元素是該 token 的 logit。Softmax 將這些轉換為機率:P(token_i) = exp(logit_i) / ∑ exp(logit_j)。在 softmax 之前,logits 可以是任何實數——正數、負數或零。logit 為 10 vs. 5 意味著模型認為第一個 token 大約 e^5 ≈ 150 倍更可能。
多種技術直接在 logits 上操作。溫度在 softmax 之前將所有 logits 除以 T(T<1 銳化、T>1 平坦化)。Top-k 將除最高 k 個外的所有 logits 歸零。Top-p(核取樣)將累積機率超過 p 的最小集合之外的 token 的 logits 歸零。Logit 偏差為特定 token 的 logits 增加固定偏移量——為「JSON」的 logit 加 +10 會使模型強烈偏好以 JSON 開頭。重複懲罰降低最近生成的 token 的 logits。
大多數 API 可以返回對數機率(softmax 輸出的對數)與生成的 token 一起。這些對於以下用途很有用:測量模型信心(低對數機率 = 不確定)、校準輸出(90% 信心的預測有 90% 的時間是正確的嗎?),以及從 LLM 建構分類器(比較不同補全的對數機率)。對數機率在極端值上比原始機率更具數值穩定性。