首页 / 开源榜单 / AngelSpec

AngelSpec

腾讯原生的 PyTorch 框架,用于训练投机解码草稿模型,在不牺牲输出质量的前提下加速 LLM 推理。

PythonNOASSERTIONDeploy & Inference
⭐ GitHubhttps://github.com/Tencent/AngelSpec
109
Star 数
+0
Star 增速
2026年7月30日
最后更新
6
点击数

1. 项目概述

AngelSpec 是腾讯原生的 PyTorch 训练框架,用于构建投机解码草稿模型——即让大语言模型每次前向传播生成多个 token 而非仅一个的“预测器”小模型,在不影响输出质量的情况下降低推理延迟。

2. 背景与定位

投机解码通过让轻量级草稿模型提前提议多个 token,再由完整的目标模型在一次前向传播中完成验证,从而加速 LLM 推理。只有当草稿模型与目标模型良好对齐时,这种加速才能真正体现——而在生产规模下训练出良好的对齐效果,过去通常需要拼凑各种研究代码。AngelSpec 由腾讯混元 AI 基础设施团队创建,旨在填补这一空白:它将投机解码视为首要的训练目标,而非事后补救的推理技巧,并将支撑腾讯自有 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.yamlvllm_qwen3_8b_dflare.yamlsglang_qwen3_8b_dflash.yamlsglang_qwen3_8b_dspark.yamlvllm_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

贡献 —— 复刻仓库,进行修改,并提交拉取请求:

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.yamlsglang_qwen3_8b_dflash.yaml)。

问:AngelSpec 如何处理超长训练上下文?
答:结合 Ulysses 序列并行与内存高效的单次因果传播,带 TTT 的 MTP 训练可扩展至 128k token 上下文。

问:我在哪里可以阅读设计背后的技术细节?
答:配套论文《AngelSpec:迈向真实世界的高性能投机解码推理》可在 arXiv:2607.25852 获取。

11. 快速链接

12. 总结

AngelSpec 将腾讯生产级的投机解码训练流水线打包为一个开放的、配置驱动的框架,涵盖六种草稿架构以及 vLLM 和 SGLang 两种后端。对于需要大规模降低 LLM 推理延迟的团队来说,它最具价值——无论是通过部署其已发布的草稿模型,还是通过训练自定义模型——而无需从零开始构建投机解码训练技术栈。