解碼與取樣

束搜尋(beam search)

束搜尋會分散下注。它不像貪婪解碼那樣每一步只認定一個詞元,而是同時保留機率最高的數條半成品序列——比方說四條或八條「束」——並行地把它們全部往下延伸,依目前整段序列的總機率為每一條打分。最後回傳分數最高的那條完整序列。就像同時探索森林裡幾條看起來有希望的小徑,到後來才決定哪一條真的通往好地方。

這通常能找到比貪婪更高機率的文字,所以它長期主宰了機器翻譯等「答案大致只有一個」的任務。但用在開放式生成上反而會出事:最大化總機率會把輸出推向又短、又安全、又重複,因為人類文字真正可能的接續,並不等於那條單一最高機率的字串。束搜尋也比較慢、比較吃資源,因為它要同時對好幾條序列跑模型。現代聊天型 LLM 多半改用取樣。

又称
beam decoding