Nemotron-Labs 扩散语言模型实现光速级文本生成
Towards Speed-of-Light Text Generation with Nemotron-Labs Diffusion Language Models
NVIDIA 发布 Nemotron-Labs Diffusion 系列,包含 3B、8B、14B 文本模型及 8B VLM,采用商业友好的 NVIDIA Nemotron 开放模型许可。该模型支持自回归、扩散和自推测三种生成模式,通过并行生成并迭代精炼 token 提升效率。8B 模型相比 Qwen3 8B 平均准确率提升 1.2%,扩散模式 TPF 提升 2.6 倍,自推测模式达 6.4 倍。模型在 1.3T token 上预训练,通过 SGLang 部署。
](https://huggingface.co/MMaghoumi)
大型语言模型(LLM)已成为代码生成、数学问题求解、摘要、文档理解以及许多其他开发者工作流的默认接口。然而,在底层,许多 LLM 仍然以相同的方式生成文本:一次一个 token,每个 token 依赖于它之前出现的 token。因此,这些模型被称为自回归(autoregressive)模型,因为它们会消费自己的输出。
这种自回归(AR)方法取得了显著的成功。它训练稳定、服务简单,并且是现代语言建模取得大部分进展的原因。但它也带来了一个硬性限制:每个新 token 都需要一次完整的模型前向传播,并且在计算开始之前,每个权重都必须从内存中加载。对于构建延迟敏感型应用、运行较小 batch size 或试图更好地利用现代 GPU 的开发者来说,逐 token 生成可能会浪费性能,因为 GPU 的大部分时间都花在内存操作上,而不是计算上。
此外,一旦自回归模型生成了一个 token,它就是最终结果,模型本身不具备修改先前 token 的能力。因此,错误可能会在生成过程中传播。
Nemotron-Labs Diffusion 引入了一条新的前进道路:扩散语言模型(DLM),它通过并行生成多个 token,然后在多个步骤中迭代地精炼生成的 token 来工作。这些模型不仅能更好地利用现代 GPU 的计算模型,提供显著的运行时性能优势,还能修改已生成的 token,使其更适合修改现有文本和处理填充中间(fill-in-the-middle)任务。这种生成并精炼的特性还提供了一种内置的方式来控制推理预算。通过减少精炼步骤的数量,可以在运行时降低这些模型的计算需求。
模型、训练方案和技术报告的快速链接
Nemotron-Labs Diffusion 系列包括 3B、8B 和 14B 规模的文本模型,均采用商业友好的 NVIDIA Nemotron 开放模型许可 发布,以及一个 8B 规模的视觉语言模型(VLM),采用 NVIDIA 源代码许可发布,提供广泛的研究灵活性。在整个产品线中,NVIDIA 同时发布了基础模型和经过指令微调的聊天变体。NVIDIA 还通过 NVIDIA Megatron Bridge 框架 发布了训练这些模型的代码。
一个模型中的三种生成模式
Nemotron-Labs Diffusion 围绕一个简单的理念设计:自回归生成和扩散生成不应是独立的模型系列。它们应该是同一个模型的能力。该模型支持三种生成模式:
自回归模式 像标准的从左到右的 LLM 一样运行。这保持了与开发者已经熟悉的生成工作流的兼容性。
扩散模式 逐块生成,在多个步骤中逐步生成 token。
自推测模式 使用扩散来草拟多个候选 token,然后使用自回归解码来验证它们。这结合了扩散式草拟的速度潜力和 AR 验证的可靠性。
这种灵活的设计是面向开发者的关键特性,在速度和准确性都至关重要的场景中尤其有用,即使是在 batch size 不可预测的工作负载或单查询(batch size=1)的情况下。选择所需的推理模式几乎不需要在应用层面进行任何更改,因为这是一个部署时的设置。因此,开发者可以无缝地在他们今天使用的模型,或采用不同推理模式以实现超快生成速度的 Nemotron-Labs Diffusion 之间切换。
性能亮点
与 Qwen3 8B 相比,Nemotron-Labs Diffusion 8B 的平均准确率提升了 1.2%。比较以每次前向传播的 token 数(简称 TPF,一种与硬件无关的 token 解码效率衡量指标)衡量的推理速度,扩散模式比 AR 模型实现了 2.6 倍的 TPF 提升,而自推测模式则进一步将其推高至线性自推测的 6 倍和二次自推测的 6.4 倍,同时在评估任务上保持了相当的准确率。
我们如何训练 Nemotron-Labs Diffusion
扩散语言模型多年来一直很有前景,但历史上存在实际障碍:准确率低于强大的 AR 模型、训练更困难,以及与 KV 缓存的兼容性有限。
最近的工作改变了这一方向。Efficient-DLM 表明,预训练的 AR 模型可以通过继续预训练并将注意力机制改为逐块(block-wise)方法,转换为扩散语言模型。这种设计有助于保留 AR 模型的能力,同时实现支持 KV 缓存的并行解码。
Nemotron-Labs Diffusion 建立在相同的实用见解之上:向现有的 AR 模型添加扩散能力。该模型使用联合的 AR 和扩散目标进行训练,使其能够保留在初始 AR 训练期间学到的知识,同时扩散增加了并行草拟能力。该模型在来自 NVIDIA Nemotron 预训练数据集 的 1.3T token 上进行了预训练,并使用来自 NVIDIA Nemotron 后训练数据集 的 45B token 进行了额外的监督微调阶段。
通过 SGLang 进行部署和推理
Nemotron-Labs Diffusion 模型的部署将很快在 SGLang 的主分支中得到支持。在撰写本文时,推理支持可通过 GitHub 上的这个 issue tracker 请求 获得。
很巧妙的是,该集成允许你以三种不同的方式服务同一个 checkpoint,只需在算法配置中更改一行即可选择:
纯自回归 - 设置
ar_mode=true,模型的行为就像任何其他因果 LM 一样。可用作正确性参考,或者如果你只是想对照纯 AR 输出进行合理性检查。扩散模式(FastDiffuser) - 原始吞吐量的主打功能。模型通过迭代去噪,一次填充一个 32-token 的块,置信度阈值决定哪些 token 在每个步骤中“足够好”可以提交。
自推测(LinearSpec) - 这是我们最喜欢的模式。同一个模型双向草拟一个块,然后因果地验证它;任何匹配的前缀都会被提交。在温度为 0 时,输出相对于 AR 是无损的,但我们在 B200 上的 speedbench 数据集上达到了约 865 tok/s——大约是同一硬件上自回归基线的 4 倍。
立即开始
Nemotron-Labs Diffusion 将扩散式生成带入了一种开发者可以实际使用的形式:开放模型、熟悉的 AR 兼容性、扩散解码和自推测加速,全部集成在一个系列中。借助 Nemotron-Labs Diffusion,开发者获得了一种草拟、精炼、验证和加速文本生成的新方法,而无需更改他们的应用。


