
©作者 | 機器之心
自迴歸解碼已然成為大語言模型的推理標準。大語言模型每次前向計算需要訪問它全部的引數,但只能得到一個 token,導致其生成昂貴且緩慢。
近日,EAGLE 團隊的新作《EAGLE-3: Scaling up Inference Acceleration of Large Language Models via Training-Time Test》透過一系列最佳化解鎖了投機取樣的 Scaling Law 能力,可以將大語言模型的推理速度提高 6.5 倍,同時不改變大語言模型的輸出分佈,確保無損。同時,隨著訓練資料的增加,加速比還能進一步提高。

論文標題:
EAGLE-3: Scaling up Inference Acceleration of Large Language Models via Training-Time Test
論文地址:
https://arxiv.org/abs/2503.01840
專案地址:
https://github.com/SafeAILab/EAGLE
SGLang 版本:
https://github.com/sgl-project/sglang/pull/4247
EAGLE-3 的加速效果(DeepSeek-R1-Distill-LLaMA 8B 在數學推理資料集 GSM8K 上測試,其他模型在多輪對話資料集 MT-bench 上測試):

不同方法的生成速度對比:

背景
投機取樣使用一個小的模型快速生成草稿,一次生成多個 token。目標大語言模型透過一次前向計算並行驗證草稿的正確性,輸出正確的草稿,並確保無損。EAGLE 系列是投機取樣的最快實現。
EAGLE-1 在更有規律的特徵層面而不是 token 層面進行自迴歸,同時輸入取樣結果(超前一個時間步的 token)消除了不確定性,明顯提升了草稿模型的準確率。EAGLE-2 利用草稿模型的置信度近似接受率,據此動態地調整草稿樹的結構,進一步提升了投機取樣的效率。
機器之心之前已經報道了 EAGLE-1 和 EAGLE-2 的工作:
最新的大模型透過使用越來越多的訓練資料以取得更好的效能。比如說,對於 LLaMA 系列 7B(8B)大小的模型,LLaMA 1、LLaMA 2 和 LLaMA 3 分別使用了 1T、2T、15T token 訓練資料,模型結構和推理成本基本不變的前提下各項指標取得了明顯提升。
EAGLE-3 的作者們希望透過增加草稿模型的訓練資料量以提高接受率和加速比(藍色曲線)。遺憾的是, EAGLE-1 從訓練資料增加中得到的提升非常有限(紅色曲線)。
EAGLE-1 和 EAGLE-3 的加速比隨著訓練資料的增加而變化的趨勢:


動機
EAGLE 在特徵層進行自迴歸,再使用目標模型的分類頭得到草稿 token。這種方式利用了目標模型的中間結果和資訊,相比 token 層自迴歸有更好的效能。
因為草稿模型的最終任務是預測草稿 token,EAGLE 的損失函式包括兩部分,一部分是特徵預測損失,另一部分是 token 預測損失。特徵預測損失也可以被認為是一種約束,限制了模型的表達能力。
EAGLE-3 的作者們進行了實驗驗證,觀察第一個草稿 token 的接受率 0-α,在資料集較小時,特徵預測損失在訓練資料較少時可以提高效能,但嚴重損害了草稿模型的 scaling up 能力。

不過,不使用特徵預測損失會導致生成後續草稿 token 時的輸入偏離訓練分佈,導致第二個草稿 token 的接受率 1-α 嚴重下降。為了解決這一問題,EAGLE-3 使用 “訓練時測試” 模擬多步生成,從而兼顧了模型的 scaling up 能力和生成多個草稿 token 的能力。

EAGLE、Medusa 等投機取樣方法都重用目標模型的最後一層特徵作為草稿模型的提示,但 EAGLE-3 的作者們發現這存在缺陷。
大語言模型的最後一層特徵經過線性變換就能得到下一個 token 的分佈。對於滿秩的分類頭,最後一層特徵和下一個 token 的分佈一一對應。最後一層特徵只有下一個 token 的資訊,失去了目標模型的全域性性質。
因此,EAGLE-3 不再使用目標模型的最後一層特徵作為輔助資訊,而是混合目標模型的低層、中層、高層資訊來作為草稿模型的輸入。

方法
與其他投機取樣方法一致,EAGLE-3 交替執行草稿階段和驗證階段。
草稿階段以下圖為例。在預填充或者上一個驗證階段,EAGLE-3 記錄模型的低、中、高層特徵序列,分別記為 l、m 和 h,拼接 k 維向量 l、m 和 h 得到 3k 維向量,然後透過一個全連線層將其降維到 k 維,就得到融合了不同層級資訊的特徵 g,其中 k 為目標模型的隱藏層維度。
目標是生成以 “How can I” 為字首的草稿 token 序列,只輸入 g_how 和 g_can,草稿模型無法感知隨機的取樣過程。
因此 EAGLE-3 引入取樣結果 I 的詞向量嵌入 e_I。將 g 與對應的超前一個時間步的嵌入 e 拼接,即 g_how 與 e_can 拼接,g_can 和 e_I 拼接。將拼接後的向量透過全連線層降到 k 維,並將其輸入進一個單層的 transformer 得到 a。然後,將 a 輸入分類頭,取樣得到第一個草稿 token “do”。
在 step 1,以 “How can” 為字首時,EAGLE-3 重用了來自目標模型的 g_how 和 g_can。
在 step 2,字首是 “How can I”。理想的方式是重用來自目標模型的 g_how、g_can 和 g_I。但這是不可能的,因為 token “I” 還沒有被目標模型檢查,無法獲取 g_I。EAGLE-3 用上一個 step 草稿模型的輸出 a_I 替代 g_I,拼接 a_I 與取樣結果 “do” 的詞向量嵌入作為草稿模型 step2 的輸入。
在 step 3,同樣無法獲得 g_do,所以使用 a_do 代替,拼接 a_do 與 e_it 作為草稿模型的輸入。之後的 step 同理。


實驗
EAGLE-3 在多輪對話、程式碼、數學推理、指令遵循、總結五項任務上分別使用 MT-bench、Humaneval、GSM8K、Alpaca、CNN/DM 資料集進行了實驗,並與 7 種先進的投機取樣方法(SpS、PLD、Medusa、Lookahead、Hydra、EAGLE、EAGLE-2)進行了比較。
該實驗分別在 Vicuna (V), LLaMA-Instruct 3.1 (L31), LLaMA-Instruct 3.3 (L33), DeepSeek-R1-Distill-LLaMA (DSL) 上進行。

表格中的 Speedup 為加速比,τ 為平均接受長度,也就是目標模型每次前向計算能生成的 token 數。EAGLE-3 每次前向計算能生成大約 4-7 個 token,而自迴歸解碼每次生成 1 個 token,因此 EAGLE-3 明顯加速了大語言模型的生成,加速比為 3.1x-6.5x。
在所有任務和模型上,EAGLE-3 的加速比和平均接受長度都是最高的,明顯優於其他方法。

應用
EAGLE-3 釋出第一天就被整合到 SGLang 中。在生產級框架中,EAGLE-3 也有數倍加速效果。以下實驗由 SGLang 團隊提供並以 LLaMA 3.1 8B(batch size=1, 1x H100)為例。

投機取樣往往被認為在大 batch size 下會降低吞吐量。但是在 SGLang 這一生產級框架下,EAGLE-3 在 batch size 為 64 時仍可以提高 38% 的吞吐量,而 EAGLE 在 batch size 為 24 時就導致吞吐量下降。
這裡 1.00x 以 SGLang (w/o speculative) 的吞吐量作為基準。以下實驗由 SGLang 團隊提供並以 LLaMA 3.1 8B(1x H100)為例。

李堉暉:北京大學智慧學院碩士,滑鐵盧大學訪問學者,受張弘揚老師和張超老師指導,研究方向為大模型加速和對齊。
魏芳芸:微軟亞研院研究員,研究方向為具身智慧、影像生成和 AI agents。
張超:北京大學智慧學院研究員,研究方向為計算機視覺和大模型加速。
張弘揚:滑鐵盧大學計算機學院、向量研究院助理教授,研究方向為大模型推理加速、AI 安全和世界模型。
更多閱讀

#投 稿 通 道#
讓你的文字被更多人看到
如何才能讓更多的優質內容以更短路徑到達讀者群體,縮短讀者尋找優質內容的成本呢?答案就是:你不認識的人。
總有一些你不認識的人,知道你想知道的東西。PaperWeekly 或許可以成為一座橋樑,促使不同背景、不同方向的學者和學術靈感相互碰撞,迸發出更多的可能性。
PaperWeekly 鼓勵高校實驗室或個人,在我們的平臺上分享各類優質內容,可以是最新論文解讀,也可以是學術熱點剖析、科研心得或競賽經驗講解等。我們的目的只有一個,讓知識真正流動起來。
📝 稿件基本要求:
• 文章確係個人原創作品,未曾在公開渠道發表,如為其他平臺已發表或待發表的文章,請明確標註
• 稿件建議以 markdown 格式撰寫,文中配圖以附件形式傳送,要求圖片清晰,無版權問題
• PaperWeekly 尊重原作者署名權,並將為每篇被採納的原創首發稿件,提供業內具有競爭力稿酬,具體依據文章閱讀量和文章質量階梯制結算
📬 投稿通道:
• 投稿郵箱:[email protected]
• 來稿請備註即時聯絡方式(微信),以便我們在稿件選用的第一時間聯絡作者
• 您也可以直接新增小編微信(pwbot02)快速投稿,備註:姓名-投稿

△長按新增PaperWeekly小編
🔍
現在,在「知乎」也能找到我們了
進入知乎首頁搜尋「PaperWeekly」
點選「關注」訂閱我們的專欄吧
·
