推測解碼會損害 LLM 推理準確性嗎?

推測解碼會損害 LLM 推理準確性嗎?

Mitchell Stern 等人於 2018 年提出了推測解碼的原型概念。此方法隨後被各種方法進一步開發和完善,包括 Lookahead Decoding、REST、Medusa 和 EAGLE,顯著加速了大型語言模型(LLM)的推理過程。

你可能會想:LLM 中的推測解碼會損害原始模型的準確性嗎?簡單的回答是不會。

正統的推測解碼演算法是無損的,我們將透過數學分析和實驗來證明這一點。

數學證明

推測採樣公式可定義如下:

其中:

以下是 DeepMind 論文對該公式無損性質的證明:

如果你覺得閱讀數學公式太過枯燥,接下來我會用一些直觀的圖示來說明證明過程。v√

實驗

雖然我們已從數學上證明推測解碼在原理上是無損的,但實作過程中仍可能出現錯誤。因此,實驗驗證也是必要的。我們針對兩種情況進行了實驗:確定性的貪婪解碼方法與隨機的多項式採樣方法。

貪婪解碼

我們要求 LLM 生成一個短篇故事兩次,第一次使用原始推理,第二次使用推測解碼。我們使用了 Medusa 的推測解碼實作。模型權重為 medusa-1.0-vicuna-7b-v1.5 及其基礎模型 vicuna-7b-v1.5。測試運行後,我們得到了兩個完全相同的結果。生成的文本如下:

多項式採樣

在隨機採樣的情況下,情況較為複雜。大多數在隨機程式中重現結果的方法都使用固定的隨機種子,以利用偽隨機生成器的確定性。然而,這種方法不適用於我們的情境。我們的實驗依賴大數法則:只要樣本數足夠多,實際分佈與理論分佈之間的誤差將趨近於零。

我們對四個提示詞的第一個生成 token 各進行了 1,000,000 次採樣迭代。使用的模型權重為 Llama3 8B Instruct 和 EAGLE-LLaMA3-Instruct-8B。統計結果如下所示:

  • 藍色:基礎模型的 logits 經過 softmax 後的結果
  • 綠色:草稿模型的 logits 經過 softmax 後的結果
  • 橙色:推測採樣(1,000,000 次)的 token 頻率

基礎模型採樣分佈的標準差為 9.694e-5。這符合預期。

結論

推測解碼不會損害大型語言模型的推理準確性。透過嚴謹的數學分析和實際實驗,我們證明了標準推測解碼演算法的無損特性。數學證明顯示推測採樣公式如何保留基礎模型的原始分佈。我們的實驗,包括確定性的貪婪解碼和機率性的多項式採樣,進一步驗證了這些理論發現。貪婪解碼實驗在有無推測解碼的情況下產生了完全相同的結果,而多項式採樣實驗在大樣本數下 token 分佈的差異微乎其微。

這些結果共同證實,推測解碼可以顯著加速 LLM 推理而不犧牲準確性,為未來更高效、更易於使用的 AI 系統鋪平了道路。

歡迎造訪 Novita AI 了解更多詳情!