Naver AI 研究團隊提出 DLoop,這是一種循環形式的推測解碼(Speculative Decoding)技術。傳統推測解碼在每個草稿階段後都會進行驗證,即使草稿模型表現良好,仍會產生不必要的目標模型前向傳遞。DLoop 透過在驗證前自適應地執行多個草稿階段來解決此問題:當草稿模型保持信心時,它會繼續生成草稿,並最終一起驗證所有累積的代幣。為了確保草稿模型在額外草稿階段的可靠性,DLoop 採用了「循環感知訓練」(Loop-aware training),讓模型暴露於未驗證草稿代幣的自身隱藏狀態中。透過增加草稿模型的前向傳遞次數,DLoop 減少了驗證所需的目標模型前向傳遞次數。實驗結果顯示,在包括 EAGLE-3、DFlash、Domino、DSpark 及多代幣預測模組等多種推測解碼方法中,DLoop 將實際時鐘速度(wall-clock speedup)提升了 5% 至 41%,同時保持無損解碼(lossless decoding)。相關程式碼將發布於 GitHub。

事件背景

推測解碼旨在加速大型語言模型(LLM)的自回歸生成過程。其運作方式是由一個輕量級的草稿模型提出代幣,隨後由較大的目標模型進行驗證。隨著草稿模型能力的提升,目標模型經常接受草稿階段產生的所有代幣,但每次草稿階段後仍需進行驗證,導致即使草稿可以繼續,仍會產生不必要的目標模型前向傳遞。現有的自適應草稿長度方法僅能提升自回歸草稿模型的速度,因為對於平行草稿模型而言,進一步的草稿生成需要未驗證草稿代幣的目標模型隱藏狀態。DLoop 針對此限制,提出了一種允許在單次驗證前進行多次草稿生成的循環機制。

社群觀察

社群討論中,用戶 ChandeeStacker 對該技術表示讚賞。用戶 q-admin007 以幽默方式簡化解釋該技術,稱其為「用草稿模型的結果替換主模型及其驗證,並讓草稿模型進行驗證」。用戶 BringTea_666 分享了其在 Qwen3.8 27B 模型(4bit 量化、4k/4v 上下文、fp8 激活)上的測試經驗,列出了不同推測解碼方法的吞吐量數據:基準線 100t/s、MTP 216t/s、DSpark 319t/s、Dflash2 365t/s、Dflash2+Dspark 371t/s、Draft Tree 406t/s 等,並表示將嘗試在 MegaCapybara 專案中測試 DLoop。用戶 norenEnmotalen 則表示期待該技術能惠及 GPU 和記憶體資源受限的使用者。