貪婪解碼

Greedy Decoding

每步選機率最高token的解碼方式

詳細解釋

貪婪解碼(Greedy Decoding)是序列生成中最簡單的解碼策略,每一步選擇概率最高的token,確定性輸出,計算高效但可能陷入重複或次優解。

工作原理:

  • 每步操作:
  1. 計算所有候選token的概率
  2. 選擇argmax(概率最高)
  3. 將其作為下一步輸入
  4. 重複直到結束符

特性:

  • 確定性:相同輸入總是相同輸出
  • 快速:無需採樣,簡單取最大值
  • 局部最優:每步最優≠全局最優
  • 重複傾向:容易循環重複

與其他策略的對比:

  • Beam Search:
  • 保留多個候選
  • 計算成本高
  • 質量通常更好
  • Sampling(Top-k/p):
  • 隨機性
  • 多樣性高
  • 不確定輸出
  • Greedy:
  • 最簡單最快
  • 適合確定性任務
  • 可能質量不高

適用場景:

  • 確定性任務:
  • 數學計算
  • 格式轉換
  • 代碼補全(某些場景)
  • 評估基準:
  • 標準化比較
  • 消除隨機性影響

問題:

  • 重複循環:
  • 「我我我...」或「the the...」
  • 自增強循環
  • 次優解:
  • 開頭選錯導致整體差

改進:

  • Repetition Penalty:
  • 懲罰已出現token
  • Temperature=0:
  • 軟化後取最大值
  • 略有不同

在LLM中的使用:

  • 較少直接使用
  • 評估基準常用
  • 某些任務配合懲罰使用

Greedy Decoding是最簡單的解碼基線。

探索更多AI詞彙

查看所有分類,繼續學習AI知識