大数跨境

DeepSeek V4更新DSpark:先猜答案,再让大模型批改

DeepSeek V4更新DSpark:先猜答案,再让大模型批改 AI大模型智能体前沿
2026-07-05
4
导读:真正难的不是多猜,而是知道什么时候别猜

导读

 

我第一次看到 DSpark“单用户生成速度提升 60%—85%”时,下意识以为 DeepSeek 又做了一个更小、更快的模型。读完论文才发现,方向恰好相反:主模型没有少算答案,也没有拿精度换速度。它只是找了一个草稿员先往前猜几步,再让大模型一次批改。真正刁钻的地方是,草稿写多长,居然还得看 GPU 此刻忙不忙。


推测解码不是让大模型少想,而是把逐字批改变成整段批改

先把 推测解码(Speculative Decoding) 说人话。

普通大模型像一个特别谨慎的作者:写完一个 token,重新读一遍上下文,再写下一个。输出 100 个 token,就要沿着这条串行链走很多轮。不是它故意磨蹭,自回归生成本来就这么干。

推测解码塞进来一个“草稿员”。它先猜出后面几枚 token,再交给目标模型一次验证。猜对的前缀留下;碰到第一处错误,后面的草稿一起作废,目标模型从分歧处接管。

听着像拿小模型糊弄大模型?

不是。Leviathan 等人的原始论文给出了一套拒绝采样规则,在相应条件下,最终采样仍服从目标模型的分布。它省掉的是串行等待,不是质量标准。

这里最容易产生一个误解:一次验证 8 个 token,并不等于成本和验证 1 个完全相同。更准确地说,Transformer 能并行计算这些位置;当推理受显存带宽、批处理和硬件利用率限制时,批量验证的边际成本可能远低于逐枚生成。

所以速度账本可以压成一句:

每个 token 的耗时 ≈(草稿耗时 + 验证耗时)÷ 每轮接受数量。

草稿写得太慢,不划算。猜 16 个只对 2 个,也不划算。高并发时还把大概率会错的尾部 token 塞进 batch,我看着都烦:它们会挤掉其他用户的位置。

这不是“猜得越多越快”的游戏。

如果候选接受率不高,推测解码甚至可能比老老实实逐 token 生成更慢,这个反例比所有漂亮加速数字都重要。

并行草稿跑得快,却可能把“of course”猜成“of problem”

草稿模型有两种脾气。

Eagle3 一类自回归草稿器按顺序猜。前一个 token 出来后,后一个再跟上,句子比较连贯;代价是草稿越长,串行步骤越多。像一个认真但手慢的助理。

DFlash 一类并行草稿器则把多个位置一次产出。它可以用更深的网络,第一枚 token 往往猜得不错,草稿长度拉长也不用等比例增加前向次数。

麻烦藏在后半句。

假设上下文后面可能接 “of course”,也可能接 “no problem”。几个位置各猜各的,就可能拼出 “of problem”。每个词单看都像那么回事,合起来却很邪门。论文把这类现象叫作多模态碰撞;越往草稿尾部,接受率越容易衰减。

并行解决了等待,却切断了词与词之间的商量。

DSpark 的做法有点像给快手助理配一个轻量编辑。重活交给并行骨干,一次生成整块基础 logits;随后由顺序头从左到右补入前缀依赖。

默认的 Markov head 甚至只看前一个 token。它用 rank 256 的低秩分解做转移修正:前面抽到 “of”,后面就抬高 “course”、压低 “problem”。论文也试了能记住更长前缀的 RNN head,但增益有限,部署更麻烦,于是没把复杂当勋章。

在 Qwen3-4B、8B、14B 的离线实验中,DSpark 的宏平均接受长度相对 Eagle3 分别提高 **30.9%、26.7%、30.0%**,相对 DFlash 提高 **16.3%、18.4%、18.3%**。草稿长度从 4 拉到 16 时,顺序模块给整轮延迟增加的开销约 **0.2%—1.3%**,接受长度最高多出 30%。

这些数字挺漂亮,但先别急着欢呼。离线实验关闭了置信度调度,为的是单独比较草稿质量;而且评测使用 Qwen3 与 Gemma 4 目标模型、统一训练数据和非思考模式。换模型、换工作负载,数字不会自动复制粘贴。

我更喜欢这个设计的地方,是它没有执着于纯并行或纯串行,而是把昂贵计算并行化,只留下便宜的依赖修正。

DSpark 真正难的一步,是让 GPU 决定今天该批改几题

草稿更连贯,只解决了一半。

代码有固定语法,往后猜 8 枚 token 可能还挺稳;开放聊天的分叉多,猜到第 4 枚就开始发虚。同一份草稿,在 GPU 空闲时多验几枚没大碍,高并发时却可能占掉宝贵的 batch 容量。

固定草稿长度很省事,也很笨。

DSpark 给每个位置加了置信度头,估计“前面的 token 都通过后,这一枚还能存活”的概率。神经网络又有个老毛病:自信得有点冒犯人。论文在 Alpaca 上观察到校准前 ECE 约为 3%—8%,经过顺序温度缩放后,平均降到约 **1%**。

调度器再把这些存活概率和 GPU 的实测吞吐曲线放到一起算。低负载时,验证长一点;负载上来,就砍掉回报低的后缀。每条请求拿到的验证长度可以不同。

这才是 DSpark 最有生产味的部分:模型负责判断草稿靠不靠谱,系统负责判断此刻值不值得验证。

在 DeepSeek-V4 预览版真实流量中,DSpark 相对生产基线 MTP-1,在匹配总体吞吐能力时,让 V4-Flash 的单用户生成速度提高 **60%—85%**,V4-Pro 提高 **57%—78%**。

注意限定词:匹配吞吐、生产基线、特定预览版系统。

论文图里还有 661% 和 406% 的吞吐优势,但作者自己泼了冷水:那出现在严格 SLA 下,MTP-1 已接近运行边界、并发批次很小。拿它包装成“日常吞吐翻六倍”,挺糟糕,也容易把读者带沟里。

看到作者亲自拆自家爆款标题,我反而放心一点。

代码开源了,但 38TB 会让很多人先冷静下来

DeepSpec 仓库已经放出数据准备、训练、评估代码,以及 Qwen3 4B/8B/14B、Gemma 4 12B 对应的 Eagle3、DFlash、DSpark checkpoint。许可证是 MIT。

然后,现实账单来了。

官方 README 提醒:默认 Qwen3-4B 配置构建 target cache,存储量大约 38TB;默认脚本面向单节点 8 卡。少卡可以调整 CUDA_VISIBLE_DEVICES,但成本不会凭空消失。

所以,普通开发者可以先做三件事:

  1. 想理解算法:直接读论文 Figure 1,再看仓库里的 DSpark 配置,不必先训练。
  2. 想跑评估:使用官方公开 checkpoint,对照 GSM8K、HumanEval、MT-Bench 等脚本验证接受长度。
  3. 想训自己的草稿器:先估算目标缓存、GPU 数量和目标模型服务成本,别下载完仓库才发现硬盘已经举白旗。

还有一条容易漏掉:官方 README 明确建议,领域任务最好重新微调草稿模型;若目标模型主要运行在 thinking mode,也尤其要重新适配。草稿器学的是目标模型的出牌习惯,不是随便拎一个就能通吃。

DSpark 没有让大模型跳过思考。

它只是把等待切碎,把能并行的先并行,把容易猜错的及时扔掉。以前我们问“下一次多猜几个 token 会不会更快”,现在问题变成了:

繁忙计算资源中的 token 座位调度

⬆️AI生成

GPU 正忙着,这枚 token 还值得占一个座位吗?

参考资料

  • DSpark 官方技术报告: https://github.com/deepseek-ai/DeepSpec/blob/main/DSpark_paper.pdf
  • DeepSpec 官方代码仓库: https://github.com/deepseek-ai/DeepSpec
  • 推测解码原始论文: https://arxiv.org/abs/2211.17192
  • DeepSeek-V3 官方仓库: https://github.com/deepseek-ai/DeepSeek-V3
  • DFlash 原始论文: https://arxiv.org/abs/2602.06036
  • EAGLE-3 原始论文: https://arxiv.org/abs/2503.01840
  • 量子位参考文章: https://mp.weixin.qq.com/s/BVlgO1e6StBGIaxGPTQIXQ
  • 机器之心参考文章: https://mp.weixin.qq.com/s/xFzo8SBzqcxtAL3mYnYV-A
—THE END—

文章仅做学术分享,如有侵权请联系删除,非常感谢!


【声明】内容源于网络
0
0
AI大模型智能体前沿
分享AI大模型智能体前沿知识,探寻多元应用,洞察未来趋势,带你一路 “卷” 赢行业!🔥
内容 1083
粉丝 0
AI大模型智能体前沿 分享AI大模型智能体前沿知识,探寻多元应用,洞察未来趋势,带你一路 “卷” 赢行业!🔥
总阅读13.0k
粉丝0
内容1.1k