Model reference · open weights
Nemotron-Labs-Diffusion is an open-weight language model from NVIDIA. Nemotron-Labs-Diffusion-8B (BF16) weighs 17.0 GB; the smallest configuration that runs it is 2× RTX 3060 12 GB.
Summary of the nvidia/Nemotron-Labs-Diffusion-8B model card, 2026-10-01
What it is
| Released by | NVIDIA |
|---|---|
| Released | 2026-03-18 |
| Parameters | 8.5B |
| VRAM | 17.0 GB for the weights |
What it runs on
| Card | Requests at once | Context max | Memory | |
|---|---|---|---|---|
| 8K each | 32K each | |||
| RTX 3060 12 GB … RTX 4060 Ti 16 GB 2 smaller cards | — | — | — | |
| RTX 3090 24 GB | 4 | 1 | 39K | 23.4 GB |
| RTX 4090 24 GB | 4 | 1 | 39K | 23.4 GB |
| RTX 5090 32 GB | 11 | 2 | 93K | 31.0 GB |
| L40S 48 GB | 22 | 5 | 183K | 44.0 GB |
| A100 80 GB | 52 | 13 | all 256K | 78.2 GB |
| H100 80 GB | 49 | 12 | all 256K | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | 63 | 15 | all 256K | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | 74 | 18 | all 256K | 107 GB |
| H200 141 GB | 101 | 25 | all 256K | 138 GB |
| B200 180 GB | 134 | 33 | all 256K | 176 GB |
| 2× RTX 3060 12 GB tensor parallel | 4 | 1 | 33K | 11.6 GB a card |
| 2× RTX 4060 Ti 16 GB tensor parallel | 10 | 2 | 86K | 15.4 GB a card |
| 2× RTX 4090 24 GB tensor parallel | 24 | 6 | 197K | 23.4 GB a card |
| 2× RTX 3090 24 GB tensor parallel | 24 | 6 | 198K | 23.4 GB a card |
| Requests at once | 8K tokens each | 32K tokens each |
|---|---|---|
| 1 | 18.9 GB | 22.3 GB |
| 5 | 23.4 GB | 40.5 GB |
| 8 | 26.9 GB | 54.2 GB |
| 16 | 36.0 GB | 90.7 GB |
| 32 | 54.2 GB | 164 GB |
| 64 | 90.7 GB | 310 GB |
One card, with vLLM's small-card settings.
Builds
| Build | Params | Precision | Weights | Smallest setup |
|---|---|---|---|---|
| Nemotron-Labs-Diffusion-8B (above) ↗ | 8.5B | BF16 | 17.0 GB | 2× RTX 3060 12 GB |
| Nemotron-Labs-Diffusion-3B ↗ | 3.8B | BF16 | 7.7 GB | RTX 3060 12 GB |
From the model card
Nemotron-Labs-Diffusion is a tri-mode language model that supports both AR decoding and diffusion-based parallel decoding by simply switching the attention pattern of the same model during inference. The synergy between these two modes enables a third mode, called self-speculation: the same model performs diffusion-based parallel drafting and AR verification with shared KV cache, achieving high acceptance lengths and decoding efficiency. The seamless mode switching by simply changing attention patterns enables high efficiency at different concurrency levels in varying deployment scenarios with one single model.
Use of this model is governed by the NVIDIA Nemotron Open Model License.
transformers>=5.0.0
from transformers import AutoModel, AutoTokenizer
import torch
repo_name = "nvidia/Nemotron-Labs-Diffusion-8B"
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')
## Chat in AR Mode
out_ids, nfe = model.ar_generate(inputs.input_ids, max_new_tokens=512)
## Chat in dLM Mode
out_ids, nfe = model.generate(prompt_ids, max_new_tokens=512, block_length=32, threshold=0.9, eos_token_id=tokenizer.eos_token_id)
## Chat in Linear Self-Speculation Mode
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}]")
An optional LoRA adatper can be applied to the diffusion drafter in the linear self-speculation mode to further increase the acceptance length:
import torch
from transformers import AutoModel, AutoTokenizer
from peft import PeftModel
repo = "nvidia/Nemotron-Labs-Diffusion-8B"
tokenizer = AutoTokenizer.from_pretrained(repo, trust_remote_code=True)
model = AutoModel.from_pretrained(repo, trust_remote_code=True)
model = model.cuda().to(torch.bfloat16)
# Attach the linear_spec LoRA adapter.
model = PeftModel.from_pretrained(model, repo, subfolder="linear_spec_lora").eval()
# Unwrap so we can call linear_spec_generate directly (it toggles LoRA internally).
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}]")
NVIDIA believes Trustworthy AI is a shared responsibility and we have established policies and practices to enable development for a wide array of AI applications. When downloaded or used in accordance with our terms of service, developers should work with their internal model team to ensure this model meets requirements for the relevant industry and use case and addresses unforeseen product misuse. For more detailed information on ethical considerations for this model, please see the bias, explainability, safety & security, and privacy subcards.
Please report model quality, risk, security vulnerabilities or NVIDIA AI Concerns here.
@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 Jingyu Liu 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},
noteQuoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.