投機采樣(Speculative Decoding) 是一種加速大型語言模型(LLM)推理的技術,其核心思想是通過預生成候選token序列并異步校驗,從而減少主模型的計算量,同時保持生成結果的準確性。
核心思想是通過并行預測和驗證候選Token序列,減少自回歸解碼的延遲,同時保持生成質量無損。
核心思想
- 雙模型協作:
使用一大一小兩個模型:- 草案模型(Draft Model):輕量級模型(如TinyLLaMA),快速生成候選Token序列(通常3-5個Token)。
- 目標模型(Target Model):原始大模型(如LLaMA-7B),并行驗證草案模型的輸出,糾正錯誤并保留正確部分。
- 并行驗證機制:目標模型通過單次前向傳播計算所有候選Token的概率分布,對比草案模型的預測概率,按接受準則(如概率一致性)決定是否采納。
-
分階段生成:
- 第一階段(投機階段):使用一個輕量級模型(如小型LLM、緩存歷史結果或規則模型)快速生成若干候選token序列。
- 第二階段(校正階段):主LLM(如GPT-3等大模型)僅對候選序列中不確定或低置信度的部分進行校驗和修正,而非逐token重新計算。
-
核心假設:
- 輕量模型生成的候選token中,大部分是正確的(尤其在簡單或重復性任務中),主模型只需修正少數錯誤即可保證輸出質量。
工作流程
- 草案生成:草案模型以自回歸方式生成候選序列(如“sunny, and, warm”)。
- 并行驗證:目標模型同時計算這些候選的概率,若草案模型的概率≤目標模型的概率,則接受該Token;否則拒絕并回退至首個錯誤位置,由目標模型重新生成。
- 循環迭代:更新上下文后重復上述步驟,直至生成完整文本。
-
預生成候選:
- 輕量模型根據當前上下文生成多個候選token(例如預測接下來的5個token)。
- 例如:主模型需要生成
["The", "sky", "is", "blue"]
,輕量模型可能先生成["The", "sky", "is", "red"]
。
-
異步校驗:
- 主模型將候選序列作為輸入,計算每個token的概率分布,并與輕量模型的結果對比。
- 若輕量模型生成的token在主模型中概率較高(置信度達標),則直接采納;否則替換為正確token。
-
動態調整:
- 根據任務復雜度調整預生成深度(如簡單問題多生成候選,復雜問題少生成)。
技術優勢
- 無損加速:通過概率校準確保輸出與目標模型自回歸生成的結果一致,實驗顯示加速比達2-3倍(如T5-XXL模型)。
- 無需微調:直接復用現有模型,無需修改架構或權重。
- 硬件效率:減少內存帶寬壓力,適合邊緣設備部署。
-
加速效果:
- 減少主模型的逐token計算次數。例如,若預生成5個候選token,主模型只需校驗1次即可完成5步生成。
- 實驗表明,端到端推理速度可提升2-5倍(取決于任務類型和模型規模)。
-
無損生成:
- 通過校正機制保證最終輸出與主模型直接生成的結果完全一致(Lossless),避免精度損失。
-
通用性:
- 兼容不同架構(如Decoder-only、Encoder-Decoder)和生成任務(如文本、代碼)。
與其他方法對比
方法 | 原理 | 加速比 | 準確性損失 | 適用場景 |
---|---|---|---|---|
投機采樣 | 預生成+校正 | 高 | 無 | 復雜生成任務 |
模型蒸餾 | 用小型模型替代大模型 | 中 | 有 | 簡單任務 |
并行采樣 | 多頭生成候選token(如Medusa) | 中 | 有(需微調) | 短序列任務 |
靜態批處理 | 合并多個請求并行處理 | 低 | 無 | 固定長度生成 |
局限性
- 依賴輕量模型質量:
- 若預生成模型性能差,可能導致主模型校驗次數增加,反而降低效率。
- 復雜任務效果受限:
- 對需要全局推理的任務(如數學證明、邏輯推理),輕量模型可能難以生成有效候選。
- 系統復雜度:
- 需實現異步調度、緩存管理等機制,工程實現難度較高。
典型應用
- 實時交互:如聊天機器人、搜索引擎即時問答。
- 長文本生成:如新聞摘要、故事創作。
- 資源受限場景:邊緣設備或低成本云服務部署。
總結
投機采樣通過“預測-校正”范式,在保證生成質量的前提下顯著降低主模型的計算負載,是當前LLM推理加速領域的重要突破。其核心價值在于挖掘推理過程中的冗余性,并通過系統級優化(如緩存復用、動態批處理)進一步釋放性能潛力。
改進與變體
- Medusa模型:目標模型集成多個預測頭(Medusa Head),直接生成多分支候選序列,替代外部草案模型,進一步提升效率。
- 動態調整:根據目標模型置信度分階段生成候選,優化生成長度與修正成本的平衡。