Paper

Flash-dLLM 论文速读:扩散语言模型的 KV 缓存与并行解码终于合流了

DOC
N°240
DATE
Sep 24, 2026
READ
4 min read
TAGS
arXiv, 扩散语言模型, 推理加速, KV缓存, 投机解码, 推理优化

dLLM 的最后一公里问题

扩散语言模型(dLLM)是过去一年自回归路线之外最受关注的技术分支:不做逐 token 自回归,而是对整段文本并行去噪,天然带并行生成的想象空间。它的吸引力很直接——一次前向可以精炼多个 token,理论上绕开了自回归模型逐 token 生成的串行天花板;双向注意力还带来一个自回归模型做不到的能力:先生成结尾再补开头、改中间不动两头,在编辑改写和结构化填充场景里几乎是量身定做。

但部署侧一直有个尴尬——推理太慢、显存太贵。根因有两条:dLLM 的双向注意力加块级去噪结构让传统 KV 缓存难以直接复用(去噪轮次之间序列内容持续变化,缓存的有效性天然打折);已有的加速工作要么只优化缓存、要么只优化并行解码,两块各自为政,叠加使用时反而暴露出新的瓶颈。

9 月 22 日提交的 Flash-dLLM(arXiv 2609.26796)把这两块拧成了一股绳,而且免训练。

第一步:把瓶颈定位对

Flash-dLLM 做的第一件事是重新定位瓶颈,这一步比优化本身更有信息量。作者的结论是:一旦启用 KV 缓存,dLLM 推理的主导瓶颈就从算力转移到了 GPU 显存 IO。直觉不难理解——缓存复用意味着大量显存读写,并行 token 验证意味着每步要搬更多的数据,两者叠加时,冗余的显存搬运量被急剧放大,计算单元反而在等数据。

这个定位延续了 FlashAttention 时代确立的经典判断:省的不是计算,是数据搬家。对做过推理优化的团队来说,这条经验不陌生,但把它明确验证到 dLLM 场景,等于给整个 dLLM 推理优化社区指了路——后续的优化工作应该优先盯着显存 IO,而不是继续堆算子算力。

两个核心设计

设计一:IO 感知的融合 KV 缓存内核。 对策是一个 IO 感知的融合内核,把缓存读写与计算在算子层面融合,直接削减显存搬运次数。融合的关键在于识别哪些缓存读写是冗余的:去噪过程中大量中间状态被写回显存、下一轮又原样读回,这些往返在融合算子里被就地消化。结果是同样的计算量、更少的显存流量,在显存带宽受限的卡上收益最明显。

设计二:缓存驱动的草稿验证解码。 传统投机解码需要辅助草稿模型,而 Flash-dLLM 提出 KV 缓存驱动的草稿验证策略:dLLM 自己既当草稿器又当验证器,缓存既是加速手段又是两种角色之间的信息媒介,一次前向里草拟多个 token 并行验证。不需要辅助模型,意味着显存占用更低、部署拓扑更简单,还顺便解决了草稿模型与目标模型分布不匹配的经典难题——因为草稿和验证本来就是同一个模型。

实验结果

在数学推理与代码生成两类基准上的结果:

对比项GSM8KHumanEval
相对 Elastic-Cache 加速比5.1 倍11.0 倍
显存效率同步提升同步提升
生成质量保持保持
训练需求免训练免训练

论文还特别强调了扩展性:序列更长、批量更大时,Flash-dLLM 的优势会进一步放大——因为显存 IO 压力随长度与批量的增长快于算力压力,IO 优化在天平重的那一端收益更大。这个特性对生产环境尤其重要:线上服务通常要扛批量并发,基准测试里单请求测不出来的差距,会在真实负载下被拉开。

与既有方法的代差

在 Flash-dLLM 之前,dLLM 加速的代表性路线各有取舍:有的做块级并行但缓存利用率低,有的像 Elastic-Cache 这样做弹性缓存分配但在 IO 层面留了大量冗余。Flash-dLLM 的定位是把这些割裂的优化统一起来——缓存机制是地基,解码策略盖在地基上,两者针对的是同一个瓶颈的不同侧面。这也是为什么它能同时拿到速度与显存效率的双重领先,而以往的方法往往是一侧改善、另一侧恶化。对工程团队的实际含义是:如果你在做 dLLM 部署选型,比较对象应该直接换成 Flash-dLLM 与它的后续版本,而不是历史方法。

工程视角:这篇论文改变了什么

对三类团队有直接价值。做 dLLM 本地部署的团队:此前 dLLM 的单 token 成本与自回归模型差距太大,Flash-dLLM 一下收窄 5 到 11 倍,长文本与高并发场景的可行性重估。做推理内核的团队:论文把「缓存复用与并行验证的联合 IO 分析」这个此前没人系统做的空白填上了,融合内核的思路可以平移到自回归栈。做模型选型的团队:dLLM 在编辑改写、结构化填充、可控生成等场景的优势本来就成立,效率短板补上后,选型矩阵里应该给它留一个正式位置。

冷静的一面也要说:实验集中在数学推理与代码生成两类基准,开放域对话与超长上下文场景的表现还需更多第三方复现;此外方法与 dLLM 的块级去噪结构深度耦合,自回归模型无法直接受益。但方向已经清楚——dLLM 的工程化拐点,很可能就是从这篇论文开始算的。

Frequently asked questions

为什么扩散语言模型的 KV 缓存这么难做?
dLLM 采用双向注意力加块级去噪的生成方式:每一轮去噪时序列内容都在变,传统自回归模型那种「写一次、读多次」的缓存假设不再成立,缓存内容会随去噪轮次失效。已有工作要么放弃缓存,要么把缓存和并行解码分开研究,忽略了两者叠加时的显存 IO 瓶颈——这正是 Flash-dLLM 补上的空白。
5.1 倍和 11 倍提速是和谁比的?
和此前最强的 dLLM 加速方法 Elastic-Cache 比。GSM8K 数学推理基准上 5.1 倍,HumanEval 代码生成基准上 11 倍。两个数字都同时覆盖速度与显存效率,且是在保持生成质量的前提下取得的。对关注 dLLM 落地的团队来说,这基本宣告了上一代加速方法可以直接淘汰。
草稿验证解码为什么不需要辅助模型?
传统投机解码需要一个小模型先草拟、大模型验证,两套模型来回切换。Flash-dLLM 利用了 dLLM 的双向注意力结构:以 KV 缓存为媒介,dLLM 自身同时扮演草稿器和验证器,一次前向里草拟多个 token 并行验证。省掉辅助模型意味着显存减半、部署拓扑简化,这正是它在长序列与大批量下扩展性更好的原因之一。
免训练意味着什么?对工程团队的实际好处是什么?
免训练指不需要对模型做任何微调或重训练,纯推理侧优化。实际好处有三:现有 dLLM 权重直接可用,不存在能力回退的风险;不用准备训练数据和算力,集成成本低;加速策略可以按硬件灵活调参,同一套模型在不同显卡上各自调到最优。
现在有哪些值得关注的 dLLM,这篇论文对它们意味着什么?
学界与业界已有 LLaDA、Mercury、Gemini Diffusion 等代表工作,dLLM 的并行生成潜力在编辑改写、结构化填充等场景有独特优势,但推理效率一直是落地短板。Flash-dLLM 把 IO 感知缓存和并行解码整合成一套可复用框架后,dLLM 与自回归模型的单 token 成本差距被大幅收窄,本地部署的可行性显著提高。
// next.txt ›

Some outbound links in this post are affiliate links — see disclosure.