1. 專案概覽
AngelSpec 是騰訊的 PyTorch 原生訓練框架,用於建構推測解碼草稿模型——這些小型「預測器」模型能讓大型語言模型在每次前向傳播中生成多個 token 而非僅有一個,從而降低推理延遲且不影響輸出品質。
2. 背景與定位
推測解碼透過輕量級草稿模型提前提議數個 token,再由完整的目標模型一次性驗證,藉此加速 LLM 推理。唯有當草稿模型與目標模型良好對齊時,加速效果才會顯現——而在生產規模下良好地訓練這種對齊,過去往往需要拼湊各種研究程式碼。騰訊的混元 AI 基礎設施團隊建立 AngelSpec 以填補這一缺口:它將推測解碼視為一等公民的訓練目標,而非事後補救的推理技巧,並將騰訊自家 Hy3 與 Qwen3 草稿模型發布背後的訓練流程產品化。
它與其他推測解碼訓練器的不同之處在於:
- 單一框架內的架構廣度——六種不同的草稿架構(自回歸與區塊並行)可透過設定選取,無需使用獨立的程式碼庫。
- 解耦訓練設計——推理(隱藏狀態生成)與訓練(最佳化)在透過高吞吐量張量儲存連接的獨立 GPU 工作節點群上執行,因此兩者皆可獨立擴展。
- 生產血統——它是用於訓練並發布騰訊自家 Hy3-A21B 與 Qwen3-8B 草稿模型的框架,而非研究原型。
3. 功能類別
- 🧩 草稿架構——6 種可選方法。代表性範例:DFly(具備隱藏修正自回歸頭的區塊並行)、DFlash(錨點取樣 + 並行區塊生成)、DFlare(具備可學習逐層目標融合的 DFlash)、Eagle3(自回歸測試時訓練)、DSpark(具備 EAGLE 風格自回歸頭的 DFlash 主幹)、MTP(以完整 MoE 解碼器層作為草稿頭)。目的:將草稿方法與目標模型及延遲預算匹配,無需切換框架。
- ⚙️ 訓練設定——5 種以上即可執行的 YAML 設定。範例:
vllm_qwen3_8b_dfly.yaml、vllm_qwen3_8b_dflare.yaml、sglang_qwen3_8b_dflash.yaml、sglang_qwen3_8b_dspark.yaml、vllm_qwen3_8b_mtp_pack_usp_40k.yaml。目的:為常見的目標模型與後端重現已知良好的訓練配方。 - 📦 可執行範例——2 套目標模型範例套組(Hy3 多節點、Qwen3-8B 單節點),涵蓋 DFly、DSpark、MTP 與 DFly-CPT 變體。目的:為新手提供一個可運作的端到端訓練執行起點。
- 🤗 已發布草稿模型——在 Hugging Face 上有多個預訓練檢查點,包含 Hy3-DFly-Block8 與 Hy3-MTP-TTT3,同時提供標準與「思考」模式。目的:讓使用者無需從零訓練,即可立即評估或部署推測解碼。
4. 關鍵亮點
- 結合 TTT 的長上下文 MTP 訓練——多 token 預測訓練採用線上策略、多深度展開,搭配記憶體高效的單次因果傳播,透過 Ulysses 序列並行將上下文擴展至 128k token。
- 接受度對齊損失函數——可組合的損失(交叉熵、top-k KL、LK 損失、D-PACE 權重)經過調校,可直接最佳化對推測解碼至關重要的指標:目標模型實際接受的草稿 token 數量。
- 感知文件的序列打包——Megatron 風格的固定長度打包結合跨文件隔離,在不洩漏不相關文件間注意力的情況下保持高訓練吞吐量。
- 線上推測解碼評估——訓練執行會在訓練期間回報真實的推測解碼指標(例如平均接受長度),而非僅有代理損失,讓草稿模型品質即時可見。
- 透過 Mooncake 解耦推理/訓練——用於隱藏狀態生成與模型最佳化的獨立 GPU 工作節點群透過 Mooncake 張量儲存進行通訊,允許雙方在大型叢集上獨立擴展。
- 實測端到端加速——DFly 相較於自回歸解碼提供高達 2.40 倍的平均端到端加速,其基準吞吐量增益在真實流量與高並發下依然穩固。
5. 依角色的使用情境
- 一般開發者——將已發布的草稿模型(例如 Qwen3-8B 變體)與 vLLM 或 SGLang 整合,無需重新訓練即可加速現有推理管線。
- DevOps / SRE——使用解耦的工作節點群設計,為隱藏狀態生成與訓練分別規劃 GPU 叢集容量,並將線上接受長度指標作為生產健康訊號進行監控。
- 資料 / 研究科學家——針對專有目標模型訓練自訂草稿模型,在六種受支援架構間進行實驗,並針對特定工作負載調整接受度對齊損失權重。
- 專案經理——評估 AngelSpec 發布的基準與檢查點,在投入工程時間進行客製訓練前,先界定推理成本降低計畫的範圍。
6. 入門指南
尋找所需內容——瀏覽儲存庫的設定與範例,或查看 Hugging Face 上發布的檢查點:
https://huggingface.co/collections/AngelSlim/angelspec
安裝 / 整合:
pip install -e ".[vllm]"
pip install mooncake-transfer-engine
./examples/qwen3-8b-dfly/run.sh
貢獻——複製儲存庫,進行更改,然後發起 pull request:
git clone https://github.com/Tencent/AngelSpec
7. 專案結構
AngelSpec/
├── angelspec/ # 核心框架程式碼(架構、損失、訓練迴圈)
├── configs/ # 訓練設定 YAML 檔案
├── examples/ # 可執行的端到端範例(Hy3、Qwen3-8B 目標)
├── tests/ # 測試套件
├── docs/ # 文件原始碼
└── tools/ # 建置與公用指令碼(例如 build_conda.sh)
8. 相關生態系
- TorchSpec——AngelSpec 用於推測解碼訓練基本元素的 PyTorch 原生基礎。
- Mooncake——提供連接 AngelSpec 解耦推理與訓練 GPU 工作節點群的張量儲存傳輸引擎。
- vLLM / SGLang——受支援的推理後端,同時用於訓練階段展開與部署生成的草稿模型。
- AngelSlim——騰訊更廣泛的大型模型壓縮工具套件,AngelSpec 是其中一部分。
9. 授權條款
- ✅ 在 Apache-2.0 授權條款下使用、修改與散布 AngelSpec 自身的程式碼,包含用於商業用途。
- ✅ 在此框架之上建置並訓練您自己的草稿模型。
- ❌ 重新散布時請勿移除現有的版權或授權聲明。
- ℹ️ 隨附的第三方元件帶有其原始授權(Eagle 與 Transformers 為 Apache-2.0;SpecForge、DeepSpec 與 TorchSpec 為 MIT)——在單獨重新散布這些部分之前,請檢查相關子目錄。
10. 常見問題
問:我應該從哪個草稿架構開始?
答:對於大多數目標模型,DFly 是合理的預設選擇——它提供了已發布的最大加速(高達 2.40 倍),並且有現成的設定,如 vllm_qwen3_8b_dfly.yaml。
問:我需要訓練自己的草稿模型才能使用 AngelSpec 嗎?
答:不需要。預訓練檢查點(例如 Hy3-DFly-Block8、Hy3-MTP-TTT3)已發布於 Hugging Face 收藏集 且可直接部署。
問:AngelSpec 支援哪些推理後端?
答:同時支援 vLLM 與 SGLang,可依設定選取(例如 vllm_qwen3_8b_dfly.yaml 與 sglang_qwen3_8b_dflash.yaml)。
問:AngelSpec 如何處理非常長的訓練上下文?
答:結合 TTT 的 MTP 訓練使用 Ulysses 序列並行,搭配記憶體高效的單次因果傳播,將上下文擴展至 128k token。
問:我可以在哪裡閱讀設計背後的技術細節?
答:隨附的論文《AngelSpec: Towards Real-World High Performance Inference with Speculative Decoding》可在 arXiv:2607.25852 取得。
11. 快速連結
- 儲存庫:https://github.com/Tencent/AngelSpec
- 文件:https://angelspec.readthedocs.io
- 技術報告:https://arxiv.org/abs/2607.25852
- 預訓練模型:https://huggingface.co/collections/AngelSlim/angelspec
- 問題:https://github.com/Tencent/AngelSpec/issues
- 提取請求:https://github.com/Tencent/AngelSpec/pulls
12. 總結
AngelSpec 將騰訊生產級的推測解碼訓練流程打包為一個開放、設定驅動的框架,涵蓋六種草稿架構以及 vLLM 與 SGLang 兩種後端。對於需要在大規模下降低 LLM 推理延遲的團隊而言,它最具價值——無論是透過部署其已發布的草稿模型,還是透過訓練客製模型——皆無需從零建置推測解碼訓練堆疊。