@NVIDIAAI: 大多数语言模型一次只生成一个token。我们刚刚发布了Nemotron-Labs-Diffusion,一个扩散语言模型系列…
摘要
NVIDIA发布了Nemotron-Labs-Diffusion,这是一个扩散语言模型系列,可以并行生成多个token,从而实现更快的推理和更好的GPU利用率,模型规模从3B到14B,包括视觉语言变体。
查看缓存全文
缓存时间: 2026/05/20 22:36
大多数语言模型一次只生成一个 token。
我们刚刚发布了 Nemotron-Labs-Diffusion,这是一个扩散语言模型系列,采用不同的方法,能够在单个模型内并行生成多个 token。这些模型不会永久固化每个 token,而是可以在生成过程中进行修正,从而实现更快的推理,更好地利用现代 GPU。
该模型系列范围从 3B 到 14B,包括视觉语言变体。现已可用:https://nvda.ws/4tEnTxP
nvidia/Nemotron-Labs-Diffusion-14B · Hugging Face
来源:https://huggingface.co/nvidia/Nemotron-Labs-Diffusion-14B?linkId=100000422877931 Chat (https://d1qx31qr3h6wln.cloudfront.net/publications/Nemotron_Diffusion_Tech_Report_v1.pdf?VersionId=db8_EMO8B.vmU26.jr7Le9pN3MqcUDNL) Nemotron-Labs-Diffusion 模型系列 (https://huggingface.co/collections/nvidia/nemotron-labs-diffusion) 许可证 (https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-nemotron-open-model-license/)
Demo (https://huggingface.co/nvidia/Nemotron-Labs-Diffusion-14B/blob/main/assets/demo.mp4)
https://huggingface.co/nvidia/Nemotron-Labs-Diffusion-14B?linkId=100000422877931#model-overview 模型概述
Nemotron-Labs-Diffusion 是一种三模式语言模型,通过在推理时简单地切换同一模型的注意力模式,同时支持自回归解码和基于扩散的并行解码。这两种模式之间的协同作用催生了第三种模式,称为自推测解码:同一模型执行基于扩散的并行草稿生成和共享 KV 缓存的自回归验证,实现高接受长度和解码效率。通过简单地更改注意力模式实现的无缝模式切换,使得单一模型在不同部署场景的不同并发级别下都能实现高效率。
三模式语言模型示意图
https://huggingface.co/nvidia/Nemotron-Labs-Diffusion-14B?linkId=100000422877931#highlights 亮点
- SOTA 3B、8B、14B 稠密语言模型系列(基础、指令、视觉语言变体),支持自回归、扩散和自推测解码,专注于解码效率。
- 生成过程从内存受限转向计算受限。模型权重加载一次,并在生成过程中重复使用以计算多个 token。
- 自推测解码使用扩散进行草稿生成,使用自回归进行验证,为 MTP 方法提供了更强的替代方案:
- 与 SGLang 中的 Qwen3-8B-Eagle3 相比,接受长度提高 3 倍,速度提升 2.2 倍。
- 在相同精度下,每次前向的 token 数是 Qwen3-8B(无 MTP)的 5.9 倍。
- 跨平台的实际设备加速:
- DGX Spark(8B,并发数 1):使用 w4a16 时,速度提升 2.7 倍,达到 112 tok/s,而自回归仅为 41.8 tok/s。
- GB200(8B,并发数 1):速度提升 3.3 倍,达到 850 tok/s,而自回归为 253 tok/s,Eagle3 为 360 tok/s。自定义 CUDA 内核进一步提升至 1015 tok/s(4 倍)。
- 扩散加速之光分析表明,通过更好的采样,单用户吞吐量可以进一步翻倍(相比当前最佳)——未来研究方向。
效率结果
精度结果
https://huggingface.co/nvidia/Nemotron-Labs-Diffusion-14B?linkId=100000422877931#licenseterms-of-use 许可证/使用条款
此模型的使用受 NVIDIA Nemotron 开放模型许可证 (https://www.nvidia.com/en-us/agreements/enterprise-software/nvidia-nemotron-open-model-license/) 的约束。
https://huggingface.co/nvidia/Nemotron-Labs-Diffusion-14B?linkId=100000422877931#environment 环境
transformers>=5.0.0
https://huggingface.co/nvidia/Nemotron-Labs-Diffusion-14B?linkId=100000422877931#chat-with-our-model 与模型对话
`` from transformers import AutoModel, AutoTokenizer import torch
repo_name = “nvidia/Nemotron-Labs-Diffusion-14B”
tokenizer = AutoTokenizer.from_pretrained(repo_name, trust_remote_code=True) model = AutoModel.from_pretrained(repo_name, trust_remote_code=True) model = model.cuda().to(torch.bfloat16)
history = []
user_input = input(“User: “).strip() history.append({“role”: “user”, “content”: user_input})
prompt = tokenizer.apply_chat_template(history, tokenize=False, add_generation_prompt=True) prompt_ids = tokenizer(prompt, return_tensors=‘pt’).input_ids.to(device=‘cuda’)
AR 模式对话
out_ids, nfe = model.ar_generate(inputs.input_ids, max_new_tokens=512)
dLM 模式对话
out_ids, nfe = model.generate(prompt_ids, max_new_tokens=512, block_length=32, threshold=0.9, eos_token_id=tokenizer.eos_token_id)
线性自推测模式对话
out_ids, nfe = model.linear_spec_generate(prompt_ids, max_new_tokens=512, block_length=32, eos_token_id=tokenizer.eos_token_id)
tokenized_out = tokenizer.batch_decode(out_ids[:, prompt_ids.shape[1]:], skip_special_tokens=True)[0] print(f“Model: {tokenized_out}“) print(f”[Num Function Eval (NFE)={nfe}]“) ``
https://huggingface.co/nvidia/Nemotron-Labs-Diffusion-14B?linkId=100000422877931#inference-with-linear-self-speculation–lora-enhanced-drafter 使用线性自推测 + LoRA 增强草稿模型进行推理
可选的 LoRA 适配器可以应用于线性自推测模式中的扩散草稿模型,以进一步提高接受长度:
`` import torch from transformers import AutoModel, AutoTokenizer from peft import PeftModel
repo = “nvidia/Nemotron-Labs-Diffusion-14B” tokenizer = AutoTokenizer.from_pretrained(repo, trust_remote_code=True) model = AutoModel.from_pretrained(repo, trust_remote_code=True) model = model.cuda().to(torch.bfloat16)
附加 linear_spec LoRA 适配器。
model = PeftModel.from_pretrained(model, repo, subfolder=“linear_spec_lora”).eval()
解包以便直接调用 linear_spec_generate(它内部会切换 LoRA)。
base = model.model
history = [{“role”: “user”, “content”: “Solve: What is 15% of 240?”}] prompt = tokenizer.apply_chat_template(history, tokenize=False, add_generation_prompt=True) prompt_ids = tokenizer(prompt, return_tensors=“pt”).input_ids.cuda()
out_ids, nfe = base.linear_spec_generate( prompt_ids, max_new_tokens=512, block_length=32, eos_token_id=tokenizer.eos_token_id, ) print(tokenizer.decode(out_ids[0, prompt_ids.shape[1]:], skip_special_tokens=True)) print(f“[NFE={nfe}]“) ``
https://huggingface.co/nvidia/Nemotron-Labs-Diffusion-14B?linkId=100000422877931#ethical-considerations 伦理考量
NVIDIA 认为值得信赖的 AI 是共同责任,我们已建立政策和实践,以支持广泛 AI 应用的开发。在按照服务条款下载或使用时,开发者应与其内部模型团队合作,确保该模型满足相关行业和用例的要求,并解决未预见的产品滥用问题。有关此模型伦理考量的更详细信息,请参阅偏见 (https://huggingface.co/nvidia/Nemotron-Labs-Diffusion-14B/blob/main/model_cards/bias.md)、可解释性 (https://huggingface.co/nvidia/Nemotron-Labs-Diffusion-14B/blob/main/model_cards/explainability.md)、安全 (https://huggingface.co/nvidia/Nemotron-Labs-Diffusion-14B/blob/main/model_cards/safety.md) 和隐私 (https://huggingface.co/nvidia/Nemotron-Labs-Diffusion-14B/blob/main/model_cards/privacy.md) 子卡。
请在此报告模型质量、风险、安全漏洞或 NVIDIA AI 相关问题 (https://www.nvidia.com/en-us/support/submit-security-vulnerability/)。
https://huggingface.co/nvidia/Nemotron-Labs-Diffusion-14B?linkId=100000422877931#citations 引用
@techreport{fu2026nemotronlabsdiffusion, title = {Nemotron-Labs-Diffusion: A Tri-Mode Language Model Unifying Autoregressive, Diffusion, and Self-Speculation Decoding}, author = {Yonggan Fu and Lexington Whalen and Abhinav Garg and Chengyue Wu and Maksim Khadkevich and Nicolai Oswald and Enze Xie and Daniel Egert and Sharath Turuvekere Sreenivas and Shizhe Diao and Chenhan Yu and Ye Yu and Weijia Chen and Sajad Norouzi and Shiyi Lan and Ligeng Zhu and Jin Wang and Jindong Jiang and Morteza Mardani and Mehran Maghoumi and Song Han and Ante Jukic and Nima Tajbakhsh and Jan Kautz and Pavlo Molchanov}, institution = {NVIDIA}, year = {2026}, note = {Technical report} }
相似文章
@NVIDIAAI:我们将一个300亿参数模型一分为二,并行生成token,而非逐个生成。推出Nemotron-Labs…
NVIDIA Research推出Nemotron-Labs-TwoTower,这是一种扩散语言模型,它将一个300亿参数的模型分成两半,实现并行token生成,生成速度提升2.42倍,同时保持了原始质量的98.7%。
迈向光速文本生成:Nemotron-Labs扩散语言模型
NVIDIA推出Nemotron-Labs Diffusion,这是一系列扩散语言模型,可并行生成文本并迭代优化,从而提供更快的生成速度并支持修订之前的令牌。
NVIDIA 发布了 Nemotron-TwoTower-30B-A3B-Base-BF16,这是一种基于 Nemotron 3 Nano 30B-A3B 主干构建的异常扩散型语言模型。
NVIDIA 发布了 Nemotron-TwoTower-30B-A3B-Base-BF16,这是一种基于扩散的语言模型,采用逐块自回归扩散方法,通过对令牌块进行迭代去噪来生成文本,实现了自回归基线 2.42 倍的生成吞吐量,同时保留了基准测试质量 98.7% 的水平。
@PavloMolchanov: 我们发布了Nemotron-Labs-Diffusion - 首个三模式语言模型系列(3B/8B/14B),可在自回归……之间切换
NVIDIA发布了Nemotron-Labs-Diffusion,这是首个三模式语言模型系列(3B/8B/14B),通过改变注意力模式在自回归、扩散和自推测解码之间切换,实现高达4倍的实际吞吐量。
nvidia/Nemotron-Labs-Diffusion-14B
NVIDIA发布了Nemotron-Labs-Diffusion,这是一个三模式语言模型系列(3B、8B、14B),支持自回归(AR)、扩散和自推测解码,相比标准AR解码实现了2.7倍到4倍的加速。