最新提交
历史
2 次提交2 次提交文件夹和文件
仓库文件导航
ASpec更快的 Draft 训练。更多实验空间。
ASpec 是一个面向投机解码 Draft 模型的高吞吐训练框架。它优化了 Draft 前向、反向与优化器执行,将训练与 Target 特征生成重叠, 并在独立实验之间共享兼容的 Target 特征。
ASpec 基于 TorchSpec 代码库开发, 在其训练基础设施之上进一步优化了执行与工作流。
使用同一套工作流探索算法与模型结构、进行长上下文训练、比较 独立实验,并让检查点走完评估与导出流程。
为什么选择 ASpec?
- 加速 Draft 训练本身。 优化的注意力、融合内核以及选择性的 head/loss 计算,减少了每次前向和反向传播中的计算量与内存流量。
- 让训练流水线持续运转。 将 Target 特征生成与 Draft 训练重叠, 通过 GPU 张量数据路径传输特征,并按有效工作量调度训练。
- 一个 Target,多个并发的 Draft 实验。 在一次性生成兼容 Target 特征的同时,比较算法、结构或 超参数。每个 Draft 保留自己的权重、优化器、进度和检查点,无需共享优化器步进屏障。 单节点工作流参见 共享 Target 训练 。
- 让长上下文训练切实可行。 结合序列打包、上下文并行和 优化的注意力执行,减少填充浪费并将长序列分布到多块 GPU 上。
- 无需重建工作流即可探索。 在一致的配置、报告、恢复、评估和导出机制下 切换算法与模型配方。
选择你的 Draft
为你的工作负载选择算法和模型结构。Draft 与 Target 模型可以具有 不同的架构:
| 维度 | 已实现的选项 |
|---|---|
| Draft 算法 | DSpark、DFlash、EAGLE3、EAGLE4、原生 MTP;实验性 DFlash2 |
| FFN 与路由 | Dense、Qwen MoE、Ling MoE |
| 注意力结构 | MHA/GQA、物化 MLA、滑动窗口注意力(SWA)、CSA、QSA、DSA |
| 执行 | 序列打包、上下文并行、共享 Target 特征、静态多节点训练 |
支持的组合、训练阶段和导出格式参见 算法详情 和 结构阶段 。 Qwen 与 Ling 上的 DSpark/DFlash 是主要的优化和配方重点;其他已实现的 路径有明确的支持边界,DFlash2 仍处于实验阶段。
从首次多 GPU 运行扩展到静态多节点训练,支持 NVLink、TCP 和 RDMA 数据路径。 查看 支持的路径与限制,然后浏览 配方 获取起点。
从这里开始
- 运行源码安装; 容器 也可用。
- 选择 Qwen3-8B 或 Ling tiny 体验相同的双 GPU 计划、训练、 报告、恢复和导出工作流。
- 选择训练配方 并 准备训练数据.
配方涵盖 Qwen3-8B、Qwen3.5-9B 原生 MTP、Qwen3.8-27B 长上下文以及 Ling tiny/flash 3.0/flash 3.1。
在仓库根目录下:
bash setup.sh source .venv/bin/activate CUDA_VISIBLE_DEVICES=0,1 aspec quickstart ling-tiny --output outputs/ling-tiny-001 # Or choose Qwen3-8B: CUDA_VISIBLE_DEVICES=0,1 aspec quickstart qwen3-8b --output outputs/qwen3-8b-001
两个配置均使用内置的原始对话、各自的 tokenizer/模板,并执行八步的
train/resume/native-export 检查。添加 --target /absolute/path/to/model 以使用本地检查点。
如需使用 Target 生成的数据进行训练并进行留出评估,请继续阅读
Qwen3-8B DSpark 配方.
性能
ASpec 同时提升了 Draft 执行和完整的在线训练流水线。 DSpark 对比 在 Hopper GPU 上测量了 Qwen3-8B 和 Qwen3.8-27B 在短上下文和长上下文下的表现。一个具有代表性的 Qwen3-8B / 4K 结果:
| 测量 | ASpec 输入 tokens/s | / TorchSpec | / SpecForge | / AngelSpec |
|---|---|---|---|---|
| 仅 Draft,1 GPU | 15,256.44 | 1.96× | 2.07× | 2.48× |
| 在线稳态窗口,8 GPU | 77,721.37 | 2.28× | 2.50× | 2.68× |
该对比对每个 Draft rank 和微步(MBS1)使用一份原始文档,按文档对齐 锚点预算和逻辑批大小,采用常规互连和充足缓冲区。仅 Draft 不包含 Target 执行、传输和特征加载;在线稳态窗口在预热更新八次后包含这些内容。这些是训练输入速率,不是推理加速比或达到给定 模型质量所需的时间。完整矩阵分别报告软件栈、GPU 拆分和完整循环速率。
一项单独的 固定序列 Qwen3-8B / CP1 研究 比较了训练质量:BSHD 验证 CE 与 TorchSpec 保持接近;测得的平均接受长度(每轮验证的 token 数,包含 Target 奖励 token)为 TorchSpec 3.665717、ASpec BSHD 3.691665、ASpec THD 3.746300。在启用确定性推理的情况下,三者均在 256 个问题上、跨三次重复与仅 Target 的贪心输出 token ID 一致。这些发现涵盖该训练序列和评估配置。
关于你自己的训练运行,请参阅 DSpark 性能设置 用于 cuDNN attention 和 direct-prefill 选项。资源拆分取决于工作负载。
参见 基准测试结果与方法 用于测量工作负载和可复现比较。要评估你训练的草稿模型,请使用 评估与导出指南 用于留出指标、验收和下游验证。
了解更多
引用
如果你觉得 ASpec 有用,请考虑引用它:
@misc{aspec2026,
author = {Zhou, Aihui and Long, Lingkun and Yu, Chaofan and
Yang, Zhe and Peng, Cunyin and Zhang, Zhiqiang and Zhou, Jun},
title = {{ASpec}: A High-Throughput Training Framework for Speculative Decoding},
year = {2026},
url = {https://github.com/inclusionAI/ASpec}
}
引用元数据可在 CITATION.cff.
许可证
ASpec 采用 Apache 2.0 许可证。 Apache 2.0第三方材料保留其自身的许可证和声明;请参阅源文件头部和 许可证文本模型和数据集许可证 相互独立。
致谢
我们感谢 TorchSpec, AngelSpec,以及 SpecForge 感谢他们对投机解码训练生态系统的贡献。
关于
一个面向投机解码模型的高吞吐训练框架。
github.com/inclusionAI/ASpec