解碼與取樣

重複懲罰(repetition penalty)

放著不管,LLM 很愛鬼打牆:某個詞語一旦出現,模型往往覺得它就是最可能的接續,於是你會得到「的的的」、或一整段一直繞著同一句打轉。重複懲罰的對策,是在挑下一個詞元之前,把已經出現過的詞元的分數調低。相關的變體——隨著某詞元被用過幾次而加重的頻率懲罰(frequency penalty),以及只要某詞元出現過一次就觸發的存在懲罰(presence penalty)——能更細地控制要多嚴厲地壓抑重複。

機制就是對 logits 動點手腳:把近期脈絡裡任何詞元的分數除一個數或減一些,讓它變得比較沒吸引力。輕輕用能讓文字保持新鮮;催得太猛卻會反效果,因為有些重複本來就對——人名、關鍵字、程式語法、甚至「的」這個字本身。調得不好,模型會閃躲自然的用字,文句因此變得怪異。它處理的是退化的症狀而非根因,所以最好搭配合理的取樣一起用。

又称
frequency penaltypresence penalty