扩散语言模型(dLLM)按块并行去噪生成文本,天然适合并行解码,但推理效率一直是走向生产的绊脚石。9 月 22 日,MBZUAI VILA Lab 在 arXiv 放出 Flash-dLLM(arXiv:2609.26796),无需重训、即插即用,把 LLaDA-1.5 吞吐拉到 148-211 token/s,比无缓存贪心解码最快提速 148.2 倍,代码以 Apache-2.0 开源。
瓶颈不在算力,在内存 I/O
论文的第一个判断反直觉:KV 缓存启用后,dLLM 推理的主导瓶颈不是 attention 计算也不是解码策略,而是 GPU 显存 I/O——缓存反复读写、并行验证反复搬运数据,算力大量时间在等数据。现有方法通常孤立研究 KV 缓存或并行解码,恰好漏掉这个联合 I/O 瓶颈。RTX 3090 微基准里,融合缓存管线每层提速 1.37 倍;更关键的观察是,中间层 top-32 高注意力已解码 token 就吃掉约 50% 的注意力——绝大多数缓存位置无需每次重算。
Flash-Cache:融合内核加选择性刷新
第一件武器 Flash-Cache 是 I/O 感知的融合 KV 缓存内核:QKV 投影、RoPE、缓存写入融合进同一个 Triton kernel,中间 key/value 不落显存、直接写进缓存,长短不一的 query 用块表调度。刷新由注意力引导:每步只重算新解码 token,外加固定预算内按注意力重要性挑出的高影响力 token,其余位置全部吃缓存。整套设计零训练、零改动。
Flash-Verify:自己给自己当验稿员
第二件武器 Flash-Verify 解决验证问题,不需要外挂草稿模型——dLLM 自己既当起草者又当验证者。高置信 token 按阈值直接接受;剩余候选以「双视图」进入验证序列,一份保留草稿值、一份填 [MASK],因果掩码让位置看不到自己的草稿、却能看到前面的草稿;两个视图预测一致且掩码侧置信度达标才接受。作者报告这招让每步接受的 token 数翻了约一倍。
跑分好看,但别当成无损加速
单卡 A100 80GB、LLaDA-1.5 基座上,Flash-Cache 加 Flash-Verify 在论文 Table 1 的八项设置中全部拿到最高吞吐:GSM8K-512 跑到 210.6 token/s(81.0 倍),MBPP-512 跑到 148.2 token/s(148.2 倍),整体提速 22.3-148.2 倍;对论文所称此前最强基线 Elastic-Cache,GSM8K-512 快 5.1 倍、HumanEval-512 快 11.0 倍,对置信度感知解码吞吐高 23.5%-45.0%。精度面,GSM8K-512 拿到 83.02%,精度吞吐双第一。内存侧,batch 16 时约 26GB,比 Fast-dLLM 的约 50GB 省约 48%;后者 batch 24 就内存溢出,Flash-dLLM 能扩到 batch 32。README 也诚实备注:HumanEval-512 上置信度感知配置 42.07% 高于 Flash-Verify 的 40.24%,代价是吞吐更低——按精度-吞吐平衡选配置,别把加速当普遍无损。
所以呢
Flash-dLLM 的价值不在某个单一倍数,而在把「I/O 感知」这个系统层视角带进扩散语言模型推理:缓存与并行解码必须联合设计,真瓶颈才会暴露。对推理框架开发者和 dLLM 团队,这是可直接 fork 的 Apache-2.0 起点;对旁观者,这是 dLLM 从论文走向可部署的信号。参考:arxiv.org/abs/2609.26796 与 GitHub VILA-Lab/Flash-dLLM。