首頁  >  文章  >  科技週邊  >  GPT-4可能也在用的推測解碼是什麼?一文綜述前世今生與應用情況

GPT-4可能也在用的推測解碼是什麼?一文綜述前世今生與應用情況

王林
王林轉載
2024-02-20 15:45:02572瀏覽

眾所周知,大型語言模型(LLM)的推理通常需要使用自迴歸取樣,這個推理過程相當緩慢。為了解決這個問題,推測解碼(Speculative Decoding)已經成為 LLM 推理的一種新型取樣方法。這種方法在每個採樣步驟中,會先預測幾個可能的 token,然後並行地驗證是否準確。與自迴歸解碼不同,推測解碼能夠單步解碼多個 token,從而加速推理。

儘管推測解碼在許多方面都表現出巨大潛力,但也帶來了一些需要深入研究的關鍵問題。首先,我們需要思考如何選擇或設計適當的近似模型,以在推測的準確性和生成的效率之間取得平衡。其次,重要的是確保評估標準能夠同時維持生成結果的多樣性和品質。最後,必須認真考慮近似模型和目標大模型之間的推理過程的對齊,以提高推理的準確性。

來自香港理工大學、北京大學、MSRA以及阿里的研究者對推測解碼進行了全面的研研,機器之心對此進行了綜合總結。

GPT-4可能也在用的推測解碼是什麼?一文綜述前世今生與應用情況


  • #論文標題:Unlocking Efficiency in Large Language Model Inference: A Comprehensive Survey of Speculative Decoding
  • 論文網址:https://arxiv.org/pdf/2401.07851.pdf

#推測解碼的演化之路

文章首先詳細介紹了推測解碼技術的早期研究情況,並透過時間表展示了其發展歷程(見圖2) 。

分塊取樣(Blockwise Decoding)是一種在 Transformer 解碼器上整合額外前饋神經(FFN)頭的方法,能夠單步產生多個 token。

為了進一步充分發揮分塊取樣演算法的潛力,提出了推測解碼的解決方案。這種演算法涵蓋了一個獨立的近似模型,通常採用專門的非自回歸 Transformer,能夠有效率且精確地執行生成任務。

繼推測解碼出現之後,有學者接著提出了「投機採樣演算法」(Speculative Sampling),在推測解碼中加入了無損加速核採樣。

總的來說,這些關於推測解碼的創新嘗試已經開始加強 Draftthen-Verify 範式,並且展示了在 LLM 加速方面的巨大潛能。

GPT-4可能也在用的推測解碼是什麼?一文綜述前世今生與應用情況

公式和定義

本節首先簡要概述了標準自回歸解碼的內容,然後深入闡述了推測解碼演算法,包括對形式定義、方法論的全面描述以及演算法的詳細闡述。

本文提出了一個組織架構來對相關研究進行分類,如下圖 3 所示。

GPT-4可能也在用的推測解碼是什麼?一文綜述前世今生與應用情況

本文在前人的基礎上,對「推測解碼演算法」再次進行了正式的定義:

#推測解碼演算法是一種先生成後驗證的解碼模式,在每個解碼步驟,它首先需要能產生多個可能的token,然後使用目標大語言模型並行地評估所有這些token,以加快推理速度。演算法表 2 是一個詳細的推測解碼過程。

GPT-4可能也在用的推測解碼是什麼?一文綜述前世今生與應用情況

隨後,本文深入研究了這個典範不可或缺的兩個基本子步驟— 產生與評估。

產生

#在每個解碼步驟中,推測解碼演算法首先會生成多個可能的token,作為對目標大語言模型的輸出內容的推測。

本文將產生的內容分為兩類:獨立生成(independent drafting )和自生成(self-drafting),並在下表 1 中總結了其公式。

GPT-4可能也在用的推測解碼是什麼?一文綜述前世今生與應用情況

驗證

在每個解碼步驟中,並行驗證近似模型產生的token,以確保輸出品質與目標大語言模型高度一致。這個過程也確定了每一步可允許的 token 數量,這是一個能夠影響加速情況的一個重要因素。

對各種驗證標準的總結如下表 2 所示,包括那些在大語言模型推理中支持貪心解碼和核採樣的標準。

GPT-4可能也在用的推測解碼是什麼?一文綜述前世今生與應用情況

產生和驗證的子步驟會持續迭代,直到滿足終止條件為止,即[EOS] token 被解碼或句子達到最大長度。

此外,本文引入了 token 的樹驗證演算法,這是一種逐步提高 token 接受度的有效策略。

GPT-4可能也在用的推測解碼是什麼?一文綜述前世今生與應用情況

模型對齊

#提高推測準確度是加速推測解碼的關鍵:近似模型的預測行為越接近目標大語言模型,對其產生token 的接受率就越高。為此,現有的工作探索了各種知識提取(KD)策略,以使近似模型的輸出內容與目標大語言模型的輸出內容保持一致。

分塊解碼首先採用序級知識擷取(Seq-KD)來進行模型對齊,以目標大語言模型產生的句子訓練近似模型。

此外,Seq-KD 也是提高平行解碼產生品質的有效策略,提高了平行解碼的生成效能。

下表 3 中總結了現有推測解碼方法的主要特徵,包括近似模型的類型或生成策略、模型對齊方法、支援的評估策略和加速程度等情況。

GPT-4可能也在用的推測解碼是什麼?一文綜述前世今生與應用情況

應用程式

#除了作為一種通用範式外,最近的工作還表明,推測解碼的一些變體在特定任務中表現出非凡的有效性。此外,其他研究已經將這種範式應用於解決某些應用情境特有的延遲問題,從而實現推理加速。

例如,有些學者認為,推測解碼特別適合模型輸入和輸出高度相似的任務,如語法糾錯和檢索增強生成。

除了這些工作之外,RaLMSpec(Zhang et al., 2023b)用推測解碼來加速檢索增強語言模型(RaLMs)。

機會與挑戰

問題 1:如何權衡預測內容的準確度與產生效率?儘管目前對這個問題取得了一些進展,但在使近似模型與目標大語言模型生成內容保持一致方面仍有相當大的改進空間。除了模型對齊之外,其他因素(如產生品質和預測長度的確定)也會影響推測的準確性,值得進一步探索。

問題 2:如何將推測解碼與其他領先技術結合?作為一種通用的解碼模式,推測解碼已經與其他先進技術相結合,展示了其潛力。除了加速純文字的大語言模型之外,推測解碼在多模式推理中的應用,如圖像合成、文字轉語音合成和視訊生成,也是未來研究的一個有趣而有價值的方向。

更多細節內容請參閱原文。

以上是GPT-4可能也在用的推測解碼是什麼?一文綜述前世今生與應用情況的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除