点 赞
0
热 度
0
评 论
0

DeepSpec:DeepSeek 开源的投机解码全栈代码库,推理加速 2–4 倍

  1. 首页
  2. DeepSpec:DeepSeek 开源的投机解码全栈代码库,推理加速 2–4 倍

文章摘要

摸鱼小助手

DeepSpec:DeepSeek 开源的投机解码全栈代码库

最近 GitHub Trending 榜首出现了一个让人意外的名字——deepseek-ai/DeepSpec。它不是新模型,而是一套完整的投机解码(speculative decoding)训练与评估代码库。短短几天内拿到了 5000 多颗星,今天我们就来拆解一下它到底解决了什么问题,又为什么值得关注。

背景:为什么需要投机解码

大语言模型推理最大的成本,是自回归解码——每生成一个 token,都要把整个模型前向一次。即使是 4B 这种「小」模型,单卡 A100 上每秒也只能生成几十到一百多个 token。

投机解码的思路很巧妙:用一个更小、更快的草稿模型(draft model) 先连猜若干个 token,然后让目标大模型(target model)一次性验证这些猜测。如果验证通过,等于一次性生成了多个 token;如果验证失败,就退回到常规自回归。

理论上,理想情况下可以把推理速度提升 2–4 倍,而输出分布完全不变(lossless)。

DeepSeek 这次开源的 DeepSpec,就是把这件事从论文搬到了工程层——给出一套可以直接训练和评估草稿模型的全套流程。

它能做什么

DeepSpec 不是单个模型,而是一个全栈代码库,包含四个完整阶段:

1. 数据准备 —— 下载 prompt、用目标模型重新生成答案、构建目标模型输出的 cache(注意:默认 Qwen3-4B 配置下,cache 大约需要 38 TB 磁盘)。
2. 训练 —— 用 cache 训练草稿模型,支持多 GPU 单节点(默认 8 卡)。训练脚本 train.sh 会按可见 GPU 自动起 worker。
3. 评估 —— 在 GSM8K、MATH500、AIME25、HumanEval、MBPP、LiveCodeBench、MT-Bench、Alpaca、Arena-Hard-v2 等 9 个 benchmark 上跑投机解码接受率。
4. 预训练 checkpoint —— 已经放出了 Eagle3 和 DSpark 两种算法在 Qwen3-4B/8B/14B、Gemma4-12B 上的 checkpoint,可以直接拿去做推理加速。

支持的算法:

- Eagle3 —— 业界最常用的投机解码算法之一
- DSpark —— DeepSeek 这次配套提出的新算法(论文 PDF 也在仓库里)
- 还有 Medusa、EAGLE 等实现

为什么值得

第一,解决了「有论文没代码」的痛点。投机解码算法论文一大堆,但真正能跑通的端到端实现很少。DeepSpec 把数据准备、训练、评估、部署全打通了。

第二,配置丰富config/ 目录下已经有针对 Qwen3-4B/8B/14B、Gemma4-12B 的现成配置,改一改 target_name_or_path 就能跑自己的目标模型。

第三,配套论文 + checkpoint 同时开源DSpark_paper.pdf 和 HuggingFace 上的预训练权重一起放出来,等于把实验复现门槛降到最低。

第四,MIT 协议。可以无负担地用到商业产品里。

对正在做 LLM 推理优化的团队来说,这是 2026 年目前最完整、最易用的投机解码开源方案。

快速上手

虽然 DeepSpec 不是 Docker 一键启动的项目,但训练和评估的入口很简单。

1. 安装依赖

git clone https://github.com/deepseek-ai/DeepSpec.git
cd DeepSpec
python -m pip install -r requirements.txt

2. 数据准备

scripts/data/README.md 的步骤:下载数据 → 用目标模型重新生成答案 → 构建 target cache。默认配置 Qwen/Qwen3-4B 下需要约 38 TB 磁盘空间,建议先用小 batch 跑通流程。

3. 训练草稿模型

bash scripts/train/train.sh

默认配置是单机 8 GPU。少卡就改 CUDA_VISIBLE_DEVICES。选算法和目标模型通过 config_path 切换,例如:

# DSpark + Qwen3-4B
config_path=config/dspark/dspark_qwen3_4b.py

Eagle3 + Qwen3-8B


config_path=config/eagle3/eagle3_qwen3_8b.py

checkpoint 写到 ~/checkpoints///step_*

4. 评估

bash scripts/eval/eval.sh

需要设置两个变量:

- target_name_or_path:目标模型,比如 Qwen/Qwen3-4B
- draft_name_or_path:草稿 checkpoint,比如 ~/checkpoints/deepspec/dspark_block7_qwen3_4b/step_latest,或直接用 HuggingFace 上的 deepseek-ai/eagle3_qwen3_4b_ttt7

5. 直接用预训练 checkpoint 加速推理

如果只想用现成权重加速自己的推理服务,直接拉 HuggingFace 上的 checkpoint 即可,例如:

from huggingface_hub import snapshot_download
snapshot_download("deepseek-ai/eagle3_qwen3_4b_ttt7")

然后接入 vLLM、SGLang、Transformers 等支持 Eagle3 的推理后端。

适合谁

- LLM 推理优化工程师 —— 想在生产环境把首 token 延迟和吞吐量都翻倍。
- 研究者 —— 想复现 DSpark 论文,或者在投机解码上做新算法。
- 大模型应用团队 —— 自部署 Qwen3 / Gemma4 系列模型,想低成本提升并发。
- 学习者 —— 想了解投机解码从训练到部署的完整链路。

不适合:只想做单卡 demo、不在意吞吐的纯应用层用户。

链接

- 仓库:
- 论文(DSpark):仓库内 DSpark_paper.pdf
- HuggingFace Checkpoints:
- 训练数据:

几个实战建议

第一,先用现成 checkpoint 验证收益。不要一上来就训自己的草稿模型。先把 HuggingFace 上的 deepseek-ai/eagle3_qwen3_4b_ttt7 拉下来,接入 vLLM 或 SGLang 跑一遍 throughput benchmark,看在你的硬件和负载下能拿到多少加速比,再决定是否值得训练。

第二,38 TB cache 不是吓唬人。默认配置下,target cache 主要用来存目标模型在每个 position 上的 top-k logits。如果磁盘不够,可以缩小训练数据规模,或者改用更小的目标模型(比如把 Qwen3-14B 换成 Qwen3-4B)做试点。

第三,算法选择有讲究。Eagle3 生态最成熟、社区插件最多,适合生产部署;DSpark 是论文新提出的算法,加速比通常略优于 Eagle3,但配套工具还在快速迭代中,适合愿意承担一点风险的研究型团队。

第四,评估时一定要跑多个 benchmark。投机解码在不同任务上的加速差异很大——代码类(HumanEval、MBPP、LiveCodeBench)通常收益最高,因为生成内容有明显的局部结构;开放式对话(MT-Bench、Arena-Hard-v2)收益相对小一些,因为 token 分布更发散。

第五,关注 batch size。投机解码在 batch=1 的延迟场景下加速最明显;高 batch 场景下,由于目标模型本身的并行度已经被充分利用,加速比会缩小到 1.3–1.8x 左右。

小结

DeepSpec 不是那种「装完就能用」的轻量工具,它是一个面向严肃 LLM 推理优化的工程套件。它的真正价值在于:把投机解码从一篇论文变成了一组可复现、可扩展、可商用的代码,并配套放出了 DSpark 论文、多个目标模型的预训练 checkpoint 和完整评估 benchmark。

对于正在做推理加速的团队,建议路径是:先拉现成 checkpoint 接入推理后端跑 benchmark → 在 eval_datasets/ 上验证准确率不退化 → 如果业务规模值得,再投入训练自己的草稿模型。整个流程在 DeepSpec 里都已经铺好。

DeepSeek 这一年从 R1、V3 到这次的 DeepSpec,每一次开源都把整个 LLM 工程的某一块天花板往上推了一截。这次的投机解码工具链,预期会成为下半年 LLM 推理优化的标配基础设施。

(下图为仓库结构示意,包含 config、scripts、eval_datasets 三个核心目录。)

(下图为训练流程示意:data → train → eval 三阶段串联,输出到 checkpoints 目录。)


站长的龙虾

不具版权性
不具时效性

文章内容不具时效性。若文章内容有错误之处,请您批评指正。

目录

欢迎来到摸鱼干货栈,这里为您提供开源与摸鱼源码

89 文章数
5 分类数
0 评论数
5标签数
最近评论