首个用于加速扩散式大语言模型(diffusion-based Large Language Models, 简称 dLLMs)推理过程的免训练方法。
上海交通大学EPIC Lab团队提出了一种无需训练、即插即用的高效推理缓存机制:dLLM-Cache。
其核心思想在于,在一个多步去噪过程中,复用相邻时间步上变化较小的特征,仅更新那些变化较大的特征,从而实现了计算量的大幅降低,并保持了原有的生成质量。
图1 不同dLLMs使用dLLM–Cache和不使用dLLM–Cache在速度和质量上的对比
dLLM-Cache具有几个重要的亮点:
1. 训练无关,即插即用。dLLM-Cache完全在推理过程中工作,无需修改模型参数或重训练。dLLM-Cache可以在完全不损失模型输出质量的前提下,带来最高9.1倍的推理速度提升 。
2. 通用于主流dLLM架构,如LLaDA、Dream以及LLaDA-V、MMaDA、Dimple等多模态模型。
3. 在推理过程中,首次识别出了prompt部分的Transformer中间层特征(Key、Value、Attention output、FFN output)长期稳定,而response部分仅有一小部分tokens的特征变化较大,为缓存特征并后续复用提供了理论基础。
4. 独创了以V-verify机制为核心的选择更新策略。以Value向量的变化为选择基准,成功识别出了response部分变化较大的那些tokens,通过仅更新这些特征,摒弃了高达75%的冗余计算。
本论文共同第一作者刘知远和杨奕存是哈尔滨工业大学2022级本科生,目前在上海交通大学EPIC Lab进行科研实习,师从张林峰助理教授,主要研究方向为高效深度学习,此前曾在CVPR2025上收获满分论文。
接下来,我们一起来看看该研究的细节。
基于扩散的大语言模型正成为语言生成领域最受关注的新范式之一。随着模型架构的发展、去噪算法的优化以及Masked Diffusion在语言建模中逐步展现出与自回归模型不同的建模能力,这类模型正在逐步成为挑战 GPT 等主流模型的重要力量。
以LLaDA、Dream为代表的扩散语言模型,基于迭代去噪的生成过程,不再依赖严格的自回归因果结构,天然支持双向建模、全局依赖和反向推理等能力,已经在“逆转诅咒”、数学推理等任务上展现出领先性能。
然而,这种范式的优势也伴随着巨大的代价。为了确保生成的质量,dLLMs在推理过程中通常需要执行长达数百步的去噪迭代,每一步都需重新计算attention、FFN等所有层的特征,计算量相当于多次完整前向传播。这为dLLMs的推理效率带来了严重的瓶颈,制约了其实际部署。更重要的是,主流的加速手段如用于自回归模型的KV Cache,由于不兼容双向注意力架构,在dLLMs中完全失效。
与传统的自回归语言模型不同,dLLMs不再依赖顺序生成下一个token,而是采用随机遮蔽(mask) + 逐步还原的方式建模token分布,这种机制使得模型具备天然的双向建模能力,理论上能够更好地处理逆向逻辑、长距离依赖等任务。
LLaDA 等模型已经在多个基准任务中超越主流ARMs,尤其在“逆转诅咒”上明显胜出。
然而,这种扩散式推理带来一个严重的挑战:为了确保生成质量,dLLMs通常需要上百步的去噪迭代,每一步都需全量计算Attention、FFN等模块,导致其推理速度相比ARMs慢一个数量级,落地成本高。同时,ARMs 通用的加速方法如KV-Cache因dLLMs的双向注意力设计而无法兼容。这些造成了dLLMs在推理时既慢又缺乏加速手段的现象。这正是 dLLM-Cache所要破解的核心问题。
本文作者仔细研究了dLLMs推理的中间特征变化过程,发现如下关键现象:
图2 dLLM中两个相邻去噪步骤之间的Key、Value、Attention Output和FFN Output的余弦相似度
Prompt tokens的特征在整个去噪过程中基本保持稳定,每一步都重新计算这些特征是完全不必要且浪费计算资源的;
Response tokens多数变化很小,仅少部分变化剧烈,全量计算所有response tokens存在冗余。
由此,问题转化为了如何高效识别出这些变化剧烈的response tokens。
图3 Response tokens的K或V变化与其他特征变化的相关性
本文作者首创性得提出了V-verify机制。它的提出源于另一项重要的发现:作者量化了response tokens的底层特征(Key, Value向量)的变化与其上层复杂特征(Attention Output, FFN Output)的变化之间的关系,结果显示它们存在着极强的正相关性,皮尔逊相关系数最高可达0.944。
这意味着,一个token底层的Value向量是否发生变化,是其整体状态是否发生改变的一个极佳的、且计算成本极低的“指示器”。
基于以上这些关键的观察,本文作者提出了dLLM-Cache ,具体的框架设计如下:
图4 dLLM-Cache方法整体pipeline
对于prompt部分,作者设计了长间隔Prompt缓存,每隔Kp步(在实验中一般设置为100)更新一次prompt的Key、Value、Attention Output、FFN Output,其余步骤全部复用先前结果。这样避免了对稳定不变的特征的重复计算,大幅减少了计算量。
对生成目标response区域,由于response tokens的特征并不是一直保持稳定不变的,作者设计了较短间隔的Response缓存,每隔Kr步(在实验中一般设置为8左右)全量更新一次response的Key、Value、Attention Output、FFN Output,在其余的步骤,作者提出了基于V-verify的自适应缓存策略:
通过这种“长间隔”与“自适应”相结合的缓存策略,dLLM-Cache在Transformer的每一层都实现了计算量的极致优化,且整个过程无需任何额外训练,做到了真正的即插即用。
本文在 LLaDA 8B和Dream 7B两大代表性的开源dLLM的基础版与指令微调版上,针对数学与科学、通用任务、代码生成三大领域的8个主流基准测试,对dLLM-Cache的有效性进行了严苛的检验 。评估维度不仅包括推理速度(TPS)和计算效率(FLOPs),更核心的是模型性能得分(Score),以确保加速不是以牺牲模型能力为代价。
本文在LLaDA 8B的基础版和指令微调版上都部署了dLLM-Cache,下图的实验结果充分展示了其强大的加速能力和卓越的生成质量保持。在几乎所有的基准测试中,都达到了5倍以上的加速效果,且在绝大部分情况下,生成质量都没有降低,甚至有轻微的提升。特别是当面对LongBench任务时,prompt的稳定性带来了更显著的加速效果,在HotpotQA上实现了高达9.1倍的无损加速。
图5 dLLM-Cache在LLaDA模型上的效果
为了进一步证明dLLM-Cache的通用性和鲁棒性,作者将其无缝迁移至另一款架构略有不同的dLLM——Dream 7B上。下图的实验结果再次印证了dLLM-Cache方法的有效性,充分说明了其通用于主流dLLM架构。
图6 dLLM-Cache在Dream模型上的效果
作者还将dLLM和主流的基于ARM的LLM进行了对比,下图展示了LLaDA 8B与LLaMA3 8B在GSM8K任务上的比较。结果显示,原始的LLaDA在准确率上以近20个点的巨大优势领先于LLaMA3,但在推理速度上却远不及。然而,在使用了本文的dLLM-Cache之后,LLaDA的推理速度获得了超过3.3倍的提升,首次超过了LLaMA3的推理速度。这一结果有力地证明,本文提出的dLLM-Cache能够让dLLMs在保持其显著准确率优势的同时,获得与ARMs相当竞争力的推理速度。
图7 使用dLLM-Cache的dLLM vs 使用KV-Cache的ARM
论文链接: https://github.com/maomaocun/dLLM-cache/blob/main/asset/paper.pdf
代码已开源: https://github.com/maomaocun/dLLM-Cache
文章来自于“量子位”,作者“EPIC Lab团队”。
【开源免费】graphrag是微软推出的RAG项目,与传统的通过 RAG 方法使用向量相似性作为搜索技术不同,GraphRAG是使用知识图谱在推理复杂信息时大幅提高问答性能。
项目地址:https://github.com/microsoft/graphrag
【开源免费】Dify是最早一批实现RAG,Agent,模型管理等一站式AI开发的工具平台,并且项目方一直持续维护。其中在任务编排方面相对领先对手,可以帮助研发实现像字节扣子那样的功能。
项目地址:https://github.com/langgenius/dify
【开源免费】RAGFlow是和Dify类似的开源项目,该项目在大文件解析方面做的更出色,拓展编排方面相对弱一些。
项目地址:https://github.com/infiniflow/ragflow/tree/main
【开源免费】phidata是一个可以实现将数据转化成向量存储,并通过AI实现RAG功能的项目
项目地址:https://github.com/phidatahq/phidata
【开源免费】TaskingAI 是一个提供RAG,Agent,大模型管理等AI项目开发的工具平台,比LangChain更强大的中间件AI平台工具。
项目地址:https://github.com/TaskingAI/TaskingAI
【开源免费】XTuner 是一个高效、灵活、全能的轻量化大模型微调工具库。它帮助开发者提供一个简单易用的平台,可以对大语言模型(LLM)和多模态图文模型(VLM)进行预训练和轻量级微调。XTuner 支持多种微调算法,如 QLoRA、LoRA 和全量参数微调。
项目地址:https://github.com/InternLM/xtuner
【开源免费】LangGPT 是一个通过结构化和模板化的方法,编写高质量的AI提示词的开源项目。它可以让任何非专业的用户轻松创建高水平的提示词,进而高质量的帮助用户通过AI解决问题。
项目地址:https://github.com/langgptai/LangGPT/blob/main/README_zh.md
在线使用:https://kimi.moonshot.cn/kimiplus/conpg00t7lagbbsfqkq0