詳細解釋
Top-k採樣是文本生成中的隨機解碼策略,在每一步只從概率最高的k個token中採樣,平衡生成質量和多樣性。
工作原理:
- 計算:
- 模型輸出所有token的概率分布
- 選擇概率最高的k個token
- 重新歸一化這k個的概率
- 從中隨機採樣
參數k:
- k=1:等同於貪婪搜索(確定性)
- k小(如10):保守,高質量
- k大(如100):更多樣性
- k=詞彙表大小:完全隨機
與其他策略的對比:
- Greedy:
- 確定性,單一輸出
- 無創意
- Top-k:
- 隨機,可控多樣性
- 排除低概率亂碼
- Top-p(Nucleus):
- 動態k,累積概率閾值
- 通常更靈活
- Temperature:
- 調整分布平滑度
- 可與top-k結合
應用:
- 創意寫作:適中k值
- 對話系統:防止重複
- 代碼生成:較小k保證語法
局限性:
- 固定k:不考慮分布形狀
- 長尾:可能排除合理的低頻詞
- 改進:Top-p通常更優
組合使用:
- Temperature + Top-k:
- 先調temperature平滑
- 再top-k截斷
- 典型設置:
- Temperature:0.7-1.0
- Top-k:40-100
Top-k是控制生成多樣性的經典方法。