過去兩年多,投機解碼(Speculative Decoding, SD)幾乎成了業(yè)界加速 LLM 推理的標準手法。它的原理并不復(fù)雜:讓一個參數(shù)量更小、跑得更快的“草稿模型”(draft model)先猜測目標大模型接下來要生成的若干 token,再由大模型在一次前向傳播中并行驗證這批猜測。
猜對的直接采納,猜錯的丟棄后重新來過。這個由 Google Research 的 Yaniv Leviathan 等人在 2022 年底提出的方法,已經(jīng)被 vLLM、SGLang、TensorRT-LLM 等主流推理引擎悉數(shù)收編,Google 自己也在今年 2 月的官方博客中專門回顧了這一技術(shù)的發(fā)展脈絡(luò)。
然而投機解碼有一個結(jié)構(gòu)性瓶頸始終沒有被真正突破:草稿模型的“猜”和大模型的“驗”依然是串行的。每一輪驗證結(jié)束之后,草稿模型才能拿到結(jié)果,才能開始下一輪猜測。驗證器等草稿、草稿等驗證器,整個流程里總有一方在閑著。
2026 年 3 月 3 日,來自斯坦福大學(xué)的 Tanishq Kumar、普林斯頓大學(xué) Tri Dao(FlashAttention 核心作者之一),以及 Together AI 的 Avner May,在 arXiv 上貼出了一篇名字很有趣的論文《投機的投機解碼》(Speculative Speculative Decoding)。他們的核心問題只有一個:能不能把草稿和驗證之間最后這層串行依賴也給干掉?
![]()
圖丨相關(guān)論文(來源:arXiv)
答案是可以,而且他們給出了一個完整的工程化方案,叫做 Saguaro(仙人掌柱,亞利桑那州那種巨型仙人掌的名字)。
在 Llama-3.1-70B 上用四張 H100 做推理,batch size 為 1、貪心解碼的條件下,Saguaro 相比標準自回歸解碼最高加速約 5 倍,相比已經(jīng)優(yōu)化過的投機解碼還能再快接近 2 倍。且這些數(shù)據(jù)橫跨了 HumanEval(代碼)、GSM8k(數(shù)學(xué))、Alpaca(指令跟隨)和 UltraFeedback(對話)四個數(shù)據(jù)集的平均值,而不是只選取某一表現(xiàn)最突出的個別場景。
在傳統(tǒng)的投機解碼中,草稿模型必須等驗證結(jié)果回來,才知道大模型接受了多少個 token、在哪個位置拒絕并采樣了所謂的“獎勵 token”(bonus token)。這個獎勵 token 是從殘差分布(residual distribution)中抽取的,它的值直接決定下一輪猜測的起點。
SSD 的做法是:不等了。在大模型驗證當前這一輪猜測的同時,草稿模型就開始預(yù)測驗證結(jié)果可能是什么樣的,有多少 token 會被接受?獎勵 token 最可能是哪幾個?
![]()
(來源:arXiv)
然后針對每一種可能的結(jié)果,預(yù)先準備好對應(yīng)的下一輪猜測,存進一個叫“投機緩存”(speculation cache)的數(shù)據(jù)結(jié)構(gòu)中。等驗證結(jié)果真正傳回來時,如果正好命中了緩存中的某個結(jié)果,草稿模型立刻返回預(yù)備好的 token 序列,完全跳過草稿階段的延遲。
如果沒命中,則退回到一個后備策略,相當于降級成普通的投機解碼。關(guān)鍵在于:命中緩存這件事不是偶爾發(fā)生的。論文報告的緩存命中率在貪心解碼下超過 90%,在溫度為 0.7 的隨機采樣場景下也能維持在 70% 以上。
這套思路讓人聯(lián)想到 CPU 領(lǐng)域的投機執(zhí)行(speculative execution)。處理器遇到條件分支時,不等判斷結(jié)果出來,先把兩條路徑都預(yù)執(zhí)行一遍,猜對了就賺到了,猜錯了就回滾。作者在論文中也明確承認了這個類比。
區(qū)別在于,CPU 投機執(zhí)行面對的分支通常只有兩三條路徑,而 LLM 驗證結(jié)果的空間是天文數(shù)字級別的(K+1)×V,K 是猜測長度,V 是詞表大小,對 Llama 系列而言 V 超過 12 萬。所以不可能為所有結(jié)果都準備好緩存,必須在有限預(yù)算下選擇最有可能命中的那些。
Saguaro 針對這個問題提出了三層優(yōu)化。第一層是緩存構(gòu)建策略。論文證明了一個數(shù)學(xué)結(jié)論:在給定緩存總預(yù)算 B 的約束下,最優(yōu)的“扇出”分配(即為驗證序列中每個位置準備多少個候選獎勵 token)應(yīng)該服從一個上封頂?shù)膸缀渭墧?shù)。
越靠后的位置(即更多 token 被接受的情況),被接受的概率本身就越低,分配的猜測預(yù)算也應(yīng)該越少。這很符合直覺,但給出嚴格的最優(yōu)解仍然需要一整套拉格朗日乘子法的推導(dǎo)。
實驗表明,相比均勻分配扇出,幾何扇出策略在高溫采樣時優(yōu)勢尤其明顯,因為高溫下驗證結(jié)果的不確定性更大,“把錢花在刀刃上”就更重要。
第二層是一個全新的采樣方案,作者稱之為 Saguaro 采樣。在標準投機解碼中,當草稿 token 被拒絕時,獎勵 token 從殘差分布中采樣,而殘差分布的形式是 max(p_target - p_draft, 0) 的歸一化。這意味著殘差分布重度依賴草稿分布的形狀。
![]()
圖丨Saguaro 采樣(來源:arXiv)
Saguaro 采樣的策略是故意在草稿采樣階段壓低那些最可能成為緩存候選的 token 的概率(乘以一個小于 1 的系數(shù) C),這樣做會讓殘差分布中的概率質(zhì)量向這些候選 token 集中,從而提高獎勵 token 恰好落在緩存里的概率。代價是草稿分布偏離了目標分布,接受率會下降。
但論文通過理論構(gòu)造證明,存在一些目標/草稿分布的組合,使得這種刻意偏移帶來的緩存命中率提升足以補償接受率的下降,在端到端速度上反而更快。超參數(shù) C 提供了在兩者之間連續(xù)調(diào)節(jié)的旋鈕。
第三層關(guān)于緩存未命中時的后備策略。這一點隨 batch size 增大變得越來越關(guān)鍵,因為 batch 中只要有一個序列沒命中緩存,整個 batch 就得等后備草稿完成。論文給出的策略是:在小 batch size 下,后備模型就用主草稿模型做即時投機(just-in-time speculation);當 batch size 超過某個臨界值 b* 時,切換到一個極低延遲的后備方案,比如返回隨機 token 甚至基于 n-gram 的非神經(jīng)網(wǎng)絡(luò)投機器。
論文推導(dǎo)了 b* 的解析表達式,并用實驗驗證了這個切換點的位置與理論預(yù)測一致。
![]()
(來源:arXiv)
值得注意的是整個方法的一個前提:SSD 要求草稿模型運行在獨立于目標模型的硬件上。論文的實驗設(shè)置中,目標模型用四張 H100 做張量并行(tensor parallelism),草稿模型單獨占一張 H100。
兩者之間通過 NCCL 通信,每輪交換的數(shù)據(jù)量很小,目標模型只需傳回接受了幾個 token 和獎勵 token 是什么,草稿模型傳回預(yù)備好的 token 序列和 logits。這意味著 SSD 總共用了 5 張 GPU 而非投機解碼的 4 張。
但論文中關(guān)于吞吐 - 延遲帕累托前沿(Pareto frontier)的分析顯示,即便把多出來的這張 GPU 算進去,SSD 在每張 GPU 的吞吐效率上依然優(yōu)于基線方案,也就是說并不只是靠堆硬件換速度。
整個推理優(yōu)化領(lǐng)域正處在一個方法爆發(fā)期,SSD 的出現(xiàn)并不孤立。發(fā)表于 2025 年 3 月的 EAGLE 系列通過讓草稿模型以目標模型的內(nèi)部表示為條件來提升接受率;NVIDIA 在 2025 年 10 月的技術(shù)博客中專門介紹了 EAGLE-3 在其 GPU 上的部署實踐;SGLang 社區(qū)在 2025 年底也開源了 SpecForge 框架來訓(xùn)練 EAGLE-3 草稿頭。
Together AI 自己則在 2025 年 12 月發(fā)布了 ATLAS(AdapTive-LeArning Speculator System),一套能在生產(chǎn)環(huán)境中動態(tài)適應(yīng)工作負載變化的自適應(yīng)投機系統(tǒng)。Tri Dao 當時在采訪中提到,靜態(tài)投機器在工作負載發(fā)生漂移時效果會大幅下降,用戶從聊天切換到寫代碼,接受率就可能掉一截。ATLAS 的方向是讓投機器在運行時自主學(xué)習(xí)。
而 SSD/Saguaro 瞄準的則是另一個完全正交的維度:不是讓其猜得更準,而是讓猜測和驗證同時發(fā)生。論文也明確指出 SSD 可以和 EAGLE-3、token-tree 方法等組合使用,附錄 E 討論了 SSD-EAGLE-3 的組合方案,雖然存在草稿模型缺少目標模型激活信息的退化問題,但可以通過訓(xùn)練草稿模型適應(yīng)自我條件來緩解。
不過論文坦承,投機解碼整體上是一種“以計算換延遲”的策略,對于吞吐受限的場景,如大規(guī)模強化學(xué)習(xí)訓(xùn)練中的數(shù)據(jù)生成、離線批量推理等并不適用,因為驗證步驟本身就在消耗寶貴的 GPU 計算資源。SSD 在這個基礎(chǔ)上還進一步加大了計算開銷:草稿模型每輪需要為 B×K×(K+1)×F 個 token 做解碼(B 是 batch size,K 是猜測長度,F(xiàn) 是扇出),比標準投機解碼的 B×K 多出了 (K+1)×F 倍。這些額外的 FLOP 投入在低延遲場景下可以被隱藏,在高吞吐場景下則可能成為負擔。
另外,自定義注意力掩碼的構(gòu)建和稀疏內(nèi)存訪問模式也制約了草稿端可以做多少步有效推測,論文中大部分端到端加速來自于隱藏草稿延遲,而非增加猜測長度。
參考資料:
https://arxiv.org/abs/2603.03251
運營/排版:何晨龍
特別聲明:以上內(nèi)容(如有圖片或視頻亦包括在內(nèi))為自媒體平臺“網(wǎng)易號”用戶上傳并發(fā)布,本平臺僅提供信息存儲服務(wù)。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.