什麼是投機解碼?LLM 推論加速的基本原理

在了解 MineDraft 之前,我們需要先理解「投機解碼」(Speculative Decoding)的基本概念。傳統的大型語言模型(LLM)推論過程中,每產生一個 token(文字單位)都必須經過完整的神經網路計算,這造成推論速度受到嚴重限制。

投機解碼的解決思路是:使用一個較小的「草稿模型」(Draft Model)快速產生多個候選 token,再由較大的「目標模型」(Target Model)一次性驗證這些候選結果。如果草稿模型的猜測正確,就能大幅節省計算時間;若猜測錯誤,則由目標模型接管並修正。

然而,標準投機解碼面臨一個關鍵瓶頸:草稿階段和驗證階段必須嚴格依序執行,導致系統常常需要等待,無法充分發揮硬體效能。

MineDraft 的核心創新:批次平行投機解碼框架

MineDraft 是由研究團隊提出的創新框架,旨在解決傳統投機解碼的效率問題。其核心概念是「批次平行」(Batch Parallel):讓多個輸入序列同時進入投機解碼流程,而非一次只處理一個序列。

這個設計的巧妙之處在於:當某個序列正在等待目標模型驗證時,系統可以同時讓其他序列的草稿模型繼續工作。這種「時間重疊」的策略能有效隱藏投機解碼的等待時間,讓硬體利用率大幅提升。

根據研究論文(arXiv:2603.18016v1)指出,MineDraft 專為批次場景優化,能在保持輸出品質的同時,顯著縮短整體推論延遲。

MineDraft 的實際運作流程

MineDraft 的運作可以分為以下步驟:

  • 步驟一:批次輸入 — 系統一次接收多個使用者查詢或提示(prompts),形成一個批次(batch)。
  • 步驟二:草稿生成 — 小型草稿模型同時為批次中的所有序列產生候選 token。
  • 步驟三:驗證分配 — 目標模型以批次方式驗證所有草稿 token,而非逐個處理。
  • 步驟四:動態重疊 — 當目標模型忙碌時,草稿模型持續為下一批 token 做準備。
  • 步驟五:結果整合 — 系統根據驗證結果整合輸出,正確的 token 直接採用,錯誤的則重新生成。

這種流程確保了無論是草稿模型還是目標模型,都不會出現閒置等待的狀況。

效能提升與適用場景

MineDraft 的設計帶來了多重效益:

  • 延遲降低 — 透過隱藏等待時間,減少每個 token 的平均處理時間。
  • 吞吐量提升 — 批次處理讓系統能同時服務更多使用者請求。
  • 資源優化 — 更充分的平行計算減少 GPU 閒置時間。

這個框架特別適合以下場景:聊天機器人即時回應、文件批量翻譯、多筆摘要生成、程式碼自動補全等需要快速處理大量文字的應用。

與傳統投機解碼的比較

傳統投機解碼(Standard SD)與 MineDraft 的最大差異在於「執行模式」:

  • 標準 SD:草稿 → 驗證 → 草稿 → 驗證(嚴格依序)
  • MineDraft:多序列草稿與驗證同時進行(批次平行)

舉例來說,假設有 4 個查詢需要處理:傳統方式必須等第一個查詢完成驗證才能開始第二個查詢的草稿階段,而 MineDraft 可以讓 4 個查詢的草稿模型同時運作,形成流水線式的處理流程。

這種設計讓 MineDraft 能更充分發揮現代 GPU 的平行計算能力,為大規模 LLM 部署提供更高效的推論解決方案。