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 精修品質與信心。掌握那一個選擇步驟,你就能讓完全相同的權重,時而像謹慎的書記、時而像大膽的詩人——全憑你如何解碼。

解碼就是自迴歸迴圈中的策略——每一步把模型的分布變成一個選定的詞元,再餵回去。

示意圖:自迴歸的下一個詞元生成迴圈,將每個選定的詞元作為輸入再餵回。