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

進階解碼與如何挑選設定

對比解碼、來自 logprobs 的信心、為推理而取樣,以及一張依任務挑選解碼設定的實用小抄。

對比解碼

對比解碼(contrastive decoding)是個巧妙的轉折:不再只信一個分布,而是比較兩個。把一個有能力的專家模型,對比一個弱小的業餘模型(或對比同一模型的早期層),然後偏好那些專家比業餘喜歡的 token。直覺是:平淡、一般、重複的 token 對兩者都有吸引力,所以減掉業餘的偏好就把它們抵消了——削減退化,往往還能提升事實性,而且不必只靠調低溫度。

可以據以行動的信心

你先前看到的對數機率不只是除錯時的好奇心。在一段範圍內取平均,它能估計模型有多確定——token logprobs 突然驟降,常標記出答案開始動搖或被捏造之處。你可以呈現每則答案的信心、把低信心案例轉給人工或更強的模型,或比較兩個候選接續。這是不完美的訊號——模型可能自信地犯錯——但它便宜,且常常有用。

\text{confidence} = \exp\!\left(\frac{1}{N}\sum_{i=1}^{N}\log p(t_i)\right)

用词元概率的几何平均来度量整段的置信度——对对数概率取平均,就得到一个可据以行动的数值。

把取樣當成推理工具

隨機性不只服務創意——它驅動一整類推理技巧。在自我一致性(self-consistency)中,你刻意在中等溫度下取樣多條不同的思路,再對它們的最終答案取多數決。因為每條被取樣的路徑探索略為不同的走法,共識通常比任何單次貪婪結果更可靠。在這裡,取樣帶來的多樣性正是全部重點——把溫度轉到零,這方法就蒸發了。

解碼速度是另一條軸

依任務的小抄

沒有放諸四海皆準的解碼器——正確的策略取決於任務,這正是取樣 vs 貪婪的全部教訓。一張起步地圖:

  1. 抽取、分類、結構化輸出:溫度約 0(貪婪)再加受限或 JSON 模式解碼——你要的是確定性與合法形狀。
  2. 程式碼與數學:低溫(0~0.3);當正確性重要時,取樣多個再投票或驗證。
  3. 一般聊天與問答:中等溫度(約 0.7)配 top-p 約 0.9——平衡的預設值。
  4. 創意寫作與腦力激盪:較高溫(0.9~1.2)、top-p 或 min-p,再加輕度重複懲罰以對抗迴圈。
  5. 搭配自我一致性的推理:中等溫度讓路徑分歧,再彙整答案。
p_i = \frac{\exp(z_i / T)}{\sum_{j}\exp(z_j / T)}

温度 T 在 softmax 之前对 logits 重新缩放——低温更接近贪心,高温更趋于发散的创造性采样。

把它整合起來

退一步看,整個領域其實是同一個概念的多重切面:模型遞給你一個分布,而解碼就是把它變成文字的策略。貪婪與集束追逐最可能;溫度、top-k、top-p 與 min-p 用機率換多樣性;logit bias、停止序列與文法施加形狀;對比解碼與 logprobs 精修品質與信心。掌握那一個選擇步驟,你就能讓完全相同的權重,時而像謹慎的書記、時而像大膽的詩人——全憑你如何解碼。

解码就是自回归循环中的策略——每一步把模型的分布变成一个选定的词元,再喂回去。

示意图:自回归的下一个词元生成循环,将每个选定的词元作为输入再喂回。