单卡RTX 5090跑出2788 tokens/s:扩散LLM加速框架ORL全开源

ORL项目用在线残差学习和GPU端去噪循环,让扩散LLM吞吐最高提升约6.9倍。
Reddit机器学习社区放出的ORL项目,针对扩散语言模型「理论可并行、实际收敛慢」的痛点,从训练策略与推理引擎两端发力。训练侧采用On-Policy残差学习,用当前模型实时生成的新轨迹训练,避免离线缓存残差带来的分布错配;同时引入相邻熵收缩,要求每步去噪降低不确定性并对高置信预测门控,让模型在更少前向中敲定更多token。推理侧dlmrt把整个去噪循环捕获进CUDA graph直接在GPU执行,相同设置下比SGLang/vLLM快1.2–1.6倍。实测中QwenDLM-4B吞吐提升约6.9倍,HumanEval pass@1从82.9%升到89.6%;LLaDA-2.1-mini仅需36个H100 GPU小时即获3倍吞吐。所有数字均为单请求峰值,项目已全面开源。
扩散语言模型(dLLM)一直有个尴尬之处:理论上能并行精炼多个token,实际却常常因为收敛慢而跑不出速度优势。Reddit机器学习社区最近放出的ORL(On-Policy Residual Learning)项目,试图用训练策略和后端引擎两头发力,把这件事推到实用层面。

ORL解决了什么问题
自回归LLM一次生成一个token,扩散LLM理论上可以在一次前向中并行确定多个token。但让模型在更少的前向次数里收敛,一直不好做。
ORL把注意力放在两个环节。第一是残差学习:模型不是每一步从零预测,而是携带上一步的预测作为残差上下文,逐步精炼。问题在于这些残差由模型自身生成,分布会随训练变化。如果用离线缓存的旧残差训练,推理时就会出现分布错配。ORL的做法是直接用当前模型生成的新轨迹来训练,回放推理时真正遇到的残差状态。
第二是让不确定性下降得更快。仅监督最终输出,模型未必学会快速收敛。ORL引入相邻熵收缩(Adjacent Entropy Contraction),要求每个去噪步骤相对上一步降低不确定性,并对已经高置信度的预测做门控,避免无效施压。效果是模型学会在一次前向中敲定更多token,同时保持甚至提升准确率。
残差学习与分布错配是理解ORL的关键背景。扩散语言模型的去噪过程可以看作一个迭代精炼循环:每一步模型接收当前带噪状态,输出对干净token的预测。残差学习让模型不直接预测最终结果,而是预测「相对上一步的增量」,把上一步的预测作为上下文带入下一步,从而减小每步需要学习的映射复杂度。
难点在于,推理时这些残差是当前模型自己生成的,分布会随着模型权重更新而漂移。如果训练时使用的是离线缓存、由旧模型产生的残差,模型学到的映射就与推理时遇到的状态不匹配,误差会逐步累积。这正是「on-policy」的来由:训练数据必须由当前策略(当前模型)实时生成,类似强化学习中的on-policy采样,才能保证训练分布与推理分布一致。
三组模型的实测数据
QwenDLM-4B是从Qwen3-4B转换而来的扩散模型。据作者在Reddit帖子中报告,ORL将每次前向的token数提升最多6.2倍,配合dlmrt引擎的端到端吞吐提升约6.9倍,HumanEval pass@1从82.9%升到89.6%。
LLaDA-2.1-mini上,ORL只需要4.2M自生成训练token和36个H100 GPU小时的后训练,就能在质量相当的前提下获得最多3倍吞吐提升。DiffusionGemma 26B MoE本身并行度已经很高,ORL仍带来最多1.2倍的每次前向token数提升。
硬件峰值方面,单张RTX 5090配合LLaDA-2.1-mini + ORL的NVFP4精度达到2,788 tokens/s;8×B200上DiffusionGemma 26B MoE + ORL的NVFP4达到7,708 tokens/s。作者明确说明,这些数字是单请求解码(batch size 1)下的峰值,不是并发聚合吞吐,也不是任意prompt上的平均值。
与投机解码的对比同样值得看。在单张H100、相近实测准确率下,QwenDLM-4B + ORL达到1,298 tokens/s,DFlash为746 tokens/s,EAGLE3为405 tokens/s。作者也交代了这是端到端系统比较:ORL走dlmrt,投机解码走vLLM。
NVFP4是NVIDIA在Blackwell架构上引入的4位浮点推理格式,与更早的FP8、INT4量化方案并行存在。它采用E2M1(1位符号、2位指数、1位尾数)的微缩放结构,并配合块级缩放因子,在保持数值范围的同时把权重和激活压到4位。相比INT4,浮点格式对异常值的容忍度更高,在语言模型上通常能保留更好的精度。
Blackwell的Tensor Core原生支持NVFP4矩阵乘,因此实际加速来自两处:一是显存占用和带宽需求下降约4倍,让单卡能装下更大模型;二是矩阵乘吞吐显著提升。文章里单张RTX 5090跑出2,788 tokens/s,正是这一格式在消费级Blackwell卡上的直接体现。需要留意的是,量化本身可能带来轻微质量损失,作者报告的是在相近准确率下取得的吞吐数字。
dlmrt推理引擎做对了什么
光有训练策略不够,推理侧的调度方式会吃掉扩散解码的低延迟优势。dlmrt的核心思路是把整个去噪循环捕获进一张CUDA graph,直接在GPU上执行,而不是每一步都从CPU发起并同步。
相同模型和相同解码设置下,作者报告dlmrt在单张H100上比SGLang/vLLM快1.2到1.6倍。dlmrt还支持Blackwell架构上的NVFP4推理,包括消费级RTX 5090,这也是单卡跑出2,788 tokens/s的前提。训练侧配套做了残差状态捕获、专用注意力kernel和计算均衡打包,训练步速最多加快5.2倍。
CUDA graph是NVIDIA提供的一种GPU执行优化机制。常规的深度学习推理中,每个算子(kernel)都由CPU逐个发起启动指令,Python解释器和框架调度会引入数十微秒级的开销。对于一次生成几万个token的自回归模型,这点开销可以摊薄;但扩散LLM一次前向可能只解码少量步骤,且去噪循环本身步骤数有限,CPU调度开销占比会被显著放大,直接吃掉低延迟优势。
CUDA graph的做法是:把整段去噪循环录制一次,捕获其中所有kernel启动、内存操作和依赖关系,形成一个可重放的图结构。之后每次推理只需一次launch即可在GPU上连续执行整段循环,无需CPU逐步介入和同步。这要求模型结构、张量形状和内存地址在录制与重放之间保持稳定,因此对动态控制流和可变序列长度有一定约束。
SGLang与vLLM是目前主流的开源LLM推理服务框架,二者都针对自回归模型的连续批处理、KV cache管理和PagedAttention做了深度优化。它们的调度粒度是逐token或逐步的,天然适合自回归的串行生成模式。
当把扩散LLM放到这类框架上运行时,会面临两个不匹配:一是扩散去噪循环内部步骤紧密耦合,框架逐步调度会引入额外同步;二是并行解码多个token时,KV cache与注意力计算的组织方式与自回归假设不同。dlmrt报告的1.2–1.6倍优势,本质上来自把整个去噪循环视作一个原子执行单元,绕开了通用框架为自回归场景设计的调度路径,而非模型本身的算力差异。
开源清单与上手方式
项目采用完全开源策略,覆盖模型权重、训练代码、评估流程和推理引擎。作者放出的入口包括arXiv论文(2610.20687)、项目主页与交互demo、GitHub上的训练与评估代码、dlmrt推理引擎仓库,以及Hugging Face上的checkpoint。
如果你手头有RTX 5090,可以直接用dlmrt跑LLaDA-2.1-mini ORL NVFP4 checkpoint。作者也在征集复现、不同负载测试和推理引擎贡献。
一个值得关注的信号
扩散LLM的讨论长期停留在架构可能性上,ORL把问题拉回到工程可验证的层面:残差分布错配怎么解、收敛速度怎么监督、去噪循环怎么在GPU上不被打断。这三件事共同决定了扩散LLM能不能在本地推理场景里和自回归模型正面竞争。
需要留意的是,目前所有亮眼数字都限定在单请求解码,并集中在特定benchmark的峰值表现上。真实业务里的并发吞吐、长上下文稳定性和不同任务分布下的收敛行为,还需要社区复现来补充。
相关推荐

WorkBuddy全流程教程:从零搭建AI办公自动化智能体
WorkBuddy 全流程教程精讲:从下载安装、三种工作模式到多模态绘本视频实战,再到专家团搭建智能体与工作流配置,帮你用低成本 AI Agent 实现办公自动化。

WorkBuddy智能体全攻略:7天从入门到自动化实战
基于B站256集WorkBuddy全套精讲课程,系统拆解腾讯AI办公工作台的核心能力:Agent原理、Skill封装、连接器跨平台、定时自动化、知识库与零代码开发,附学习路径建议。

8个AI账号翻车7个:我用AI干活的真实复盘
B站8个AI运营账号仅1个跑通。本文拆解"演AI"与"用AI干活"的本质区别,分析5条视频217万播放背后的产能控制、评论区运营和交付节奏策略。