返回文章列表
推理与部署

Flash-dLLM:用I/O感知缓存与并行验证加速扩散式大模型

阅读约 2 分钟

扩散式大语言模型(dLLM)试图摆脱自回归模型逐个生成token的路径,通过非自回归方式提升生成并行度。不过,理论上的并行并不必然转化为实际吞吐:当推理过程反复读取和写入KV缓存时,GPU的内存搬运可能成为新的瓶颈。

Flash-dLLM的切入点,正是把KV缓存和并行解码放到同一个系统问题中考察。论文指出,已有加速方案往往分别研究缓存或并行验证,却没有充分处理两者叠加后产生的I/O开销。该框架不需要重新训练模型,主要由两个组件构成。

核心要点

  • **Flash-Cache:**作者实现了融合式Triton内核,将QKV投影、RoPE处理和缓存写入合并,减少中间结果在显存中的重复移动。针对批次内查询长度不同的情况,系统采用块级调度,以改善注意力计算与缓存访问的配合。
  • **选择性刷新缓存:**缓存并非每次都完整重写,而是重点更新新解码token以及一组固定的高关注度已解码token。这样可以在保持缓存有效性的同时,压低写入成本。
  • **Flash-Verify:**框架采用由dLLM自身完成的draft-and-verify策略,不依赖辅助模型。其“两视图”因果注意力掩码让模型在同一框架下生成候选并进行验证,页面材料称每步接受的token数量大致翻倍。

从页面给出的LLaDA-1.5结果看,Flash-dLLM达到每秒148至211个token;相较于不使用缓存的贪心解码,速度提升为22.3至148.2倍。在GSM8K和HumanEval上,它分别比Elastic-Cache快5.1倍和11.0倍,并且比Fast-dLLM少使用约48%的GPU显存,批量规模可扩展到32。上述数字来自素材所述实验,实际收益仍会受到模型、序列长度、硬件和实现环境影响。

这项工作的意义不只是提出一种更快的解码策略,也体现了dLLM部署中的一个重要趋势:算法并行性必须与内存系统协同设计。对于长序列和较大批次,减少KV缓存的无效读写可能比单纯增加计算并行度更关键。与此同时,自验证方案避免了额外草稿模型的存储和调度成本,为受显存限制的部署场景提供了更简洁的路径。其后续价值仍需通过更广泛模型、任务和硬件环境的复现实验来进一步确认。

来源:Hugging Face Daily Papers

评论

正在确认登录状态……

正在加载评论……

相关文章