ai/nemotron-3-nano

Verified Publisher

By Docker

Updated 7 days ago

Artifact
0

10K+

ai/nemotron-3-nano repository overview

Read our How to Run Nemotron 3 Nano Guide!

See Unsloth Dynamic 2.0 GGUFs for our quantization benchmarks.

  • Note <think> and </think> are separate tokens, so use --special if needed.
  • You can also fine-tune the model with Unsloth.

NVIDIA-Nemotron-3-Nano-30B-A3B

Model Overview

Model Developer: NVIDIA Corporation

Model Dates:

September 2025 - December 2025

Data Freshness:

  • The post-training data has a cutoff date of November 28, 2025.
  • The pre-training data has a cutoff date of June 25, 2025.

Description

Nemotron-3-Nano-30B-A3B-BF16 is a large language model (LLM) trained from scratch by NVIDIA, and designed as a unified model for both reasoning and non-reasoning tasks. It responds to user queries and tasks by first generating a reasoning trace and then concluding with a final response. The model's reasoning capabilities can be configured through a flag in the chat template. If the user prefers the model to provide its final answer without intermediate reasoning traces, it can be configured to do so, albeit with a slight decrease in accuracy for harder prompts that require reasoning. Conversely, allowing the model to generate reasoning traces first generally results in higher-quality final solutions to queries and tasks.

The model employs a hybrid Mixture-of-Experts (MoE) architecture, consisting of 23 Mamba-2 and MoE layers, along with 6 Attention layers. Each MoE layer includes 128 experts plus 1 shared expert, with 5 experts activated per token. The model has 3.5B active parameters and 30B parameters in total.

The supported languages include: English, German, Spanish, French, Italian, and Japanese. Improved using Qwen.

This model is ready for commercial use.

What is Nemotron?

NVIDIA Nemotron™ is a family of open models with open weights, training data, and recipes, delivering leading efficiency and accuracy for building specialized AI agents.

To get started, you can use our quickstart guide below.

Feature Voting

We want to hear from you! Share your ideas, vote on what matters, and help shape the future of Nemotron.

License/Terms of Use

Governing Terms: Use of this model is governed by the NVIDIA Open Model License Agreement.

Reasoning Benchmark Evaluations

We evaluated our model on the following benchmarks:

TaskNVIDIA-Nemotron-3-Nano-30B-A3B-BF16Qwen3-30B-A3B-Thinking-2507GPT-OSS-20B
General Knowledge
MMLU-Pro78.380.975.0
Reasoning
AIME25 (no tools)89.185.091.7
AIME25 (with tools)99.2-98.7
GPQA (no tools)73.073.471.5
GPQA (with tools)75.0-74.2
LiveCodeBench (v6 2025-08–2025-05)68.366.061.0
SciCode (subtask)33.333.034.0
HLE (no tools)10.69.810.9
HLE (with tools)15.5-17.3
MiniF2F pass@150.05.712.1
MiniF2F pass@3279.916.843.0
Agentic
Terminal Bench (hard subset)8.55.06.0
SWE-Bench (OpenHands)38.822.034.0
TauBench V2 (Airline)48.058.038.0
TauBench V2 (Retail)56.958.838.0
TauBench V2 (Telecom)42.226.349.7
TauBench V2 (Average)49.047.748.7
BFCL v453.846.4*-
Chat & Instruction Following
IFBench (prompt)71.551.065.0
Scale AI Multi Challenge38.544.833.8
Arena-Hard-V2 (Hard Prompt)72.149.6*71.2*
Arena-Hard-V2 (Creative Writing)63.266.0*25.9&
Arena-Hard-V2 (Average)67.757.848.6
Long Context
AA-LCR35.959.034.0
RULER-100@256k92.989.4-
RULER-100@512k91.384.0-
RULER-100@1M86.377.5-
Multilingual
MMLU-ProX (avg over langs)59.577.6*69.1*
WMT24++ (en->xx)86.285.683.2

All evaluation results were collected via Nemo Evaluator SDK and Nemo Skills. The open source container on Nemo Skills packaged via NVIDIA's Nemo Evaluator SDK used for evaluations can be found here. In addition to Nemo Skills, the evaluations also used dedicated packaged containers for Tau-2 Bench, ArenaHard v2, AA_LCR. A reproducibility tutorial along with all configs can be found in Nemo Evaluator SDK examples. * denotes the accuracy numbers are measured by us.

Deployment Geography: Global
Use Case

NVIDIA-Nemotron-3-Nano-30B-A3B-BF16 is a general purpose reasoning and chat model intended to be used in English and coding languages. Other non-English languages (English, Spanish, French, German, Japanese, Italian) are also supported. This model is intended to be used by developers designing AI Agent systems, chatbots, RAG systems, and other AI-powered applications. This model is also suitable for typical instruction-following tasks.

Release Date

December 15, 2025 via Hugging Face

Reference(s)

Model Architecture

  • Architecture Type: Mamba2-Transformer Hybrid Mixture of Experts (MoE)
  • Network Architecture: Nemotron Hybrid MoE
  • Number of model parameters: 30B

Model Design

The model was trained with 25T tokens, with a batch size of 3072, and used the Warmup-Stable-Decay (WSD) learning rate schedule with 8B tokens of learning rate warm up, peak learning rate of 1e-3 and minimum learning rate of 1e-5. There are a total of 52 layers, of which there are 23 of each MoE and Mamba-2 and the remaining 6 layers use grouped query attention (GQA) with 2 groups. Each MoE layer has 128 routed experts, where each token activates top-6 experts, along with 2 shared experts which are activated on all tokens.

Training Methodology

Stage 1: Pre-Training

Stage 2: Supervised Fine-Tuning

Stage 3: Reinforcement Learning

  • The model underwent multi-environment reinforcement learning using synchronous GRPO (Group Relative Policy Optimization) across math, code, science, instruction following, multi-step tool use, multi-turn conversations, and structured output environments. Conversational quality was further refined through RLHF using a generative reward model. All datasets are disclosed in the Training, Testing, and Evaluation Datasets section of this document. The RL environments and datasets are released as part of NeMo Gym.
  • Software used for reinforcement learning: NeMo RL, NeMo Gym

NVIDIA-Nemotron-3-Nano-30B-A3B-BF16 model is a result of the above work.

The end-to-end training recipe is available in the NVIDIA Nemotron Developer Repository. Evaluation results can be replicated using the NeMo Evaluator SDK. More details on the datasets and synthetic data generation methods can be found in the technical report NVIDIA Nemotron 3 Nano.

Input

  • Input Type(s): Text

  • Input Format(s): String

  • Input Parameters: One-Dimensional (1D): Sequences

  • Maximum input size: 128K tokens

  • Other Properties Related to Input: Supported languages include: English, Spanish, French, German, Japanese, Italian

Output

  • Output Type(s): Text

  • Output Format: String

  • Output Parameters: One-Dimensional (1D): Sequences

  • Maximum output size: 128K tokens

Our AI models are designed and optimized to run on NVIDIA GPU-accelerated systems. By leveraging NVIDIA's hardware (e.g. GPU cores) and software frameworks (e.g., CUDA libraries), the model achieves faster training and inference times compared to CPU-only solutions.

Software Integration

  • Runtime Engine(s): NeMo 25.11.01
  • Supported Hardware Microarchitecture Compatibility: NVIDIA H100-80GB, NVIDIA A100
  • Operating System(s): Linux

The integration of foundation and fine-tuned models into AI systems requires additional testing using use-case-specific data to ensure safe and effective deployment. Following the V-model methodology, iterative testing and validation at both unit and system levels are essential to mitigate risks, meet technical and functional requirements, and ensure compliance with safety and ethical standards before deployment.

Quick Start Guide

Use it with Transformers

The snippet below shows how to use this model with Huggingface Transformers (tested on version 4.57.3). We recommend using NeMo Framework 25.11.01 to ensure all required libraries are available.

Please note that the model supports up to a 1M context size, although the default context size in the Hugging Face configuration is 256k due to higher VRAM requirements.

import torch
from transformers import AutoTokenizer, AutoModelForCausalLM

# Load tokenizer and model
tokenizer = AutoTokenizer.from_pretrained("nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16")
model = AutoModelForCausalLM.from_pretrained(
    "nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16",
    torch_dtype=torch.bfloat16,
    trust_remote_code=True,
    device_map="auto"
)
messages = [
    {"role": "user", "content": "Write a haiku about GPUs"},
]

tokenized_chat = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    add_generation_prompt=True,
    return_tensors="pt"
).to(model.device)

outputs = model.generate(
    tokenized_chat,
    max_new_tokens=1024,
    temperature=1.0,
    top_p=1.0,
    eos_token_id=tokenizer.eos_token_id
)
print(tokenizer.decode(outputs[0]))

temperature=1.0 and top_p=1.0 are recommended for reasoning tasks, while temperature=0.6 and top_p=0.95 are recommended for tool calling.

If you’d like to use reasoning off, add enable_thinking=False to apply_chat_template(). By default, enable_thinking is set to be True.


tokenized_chat = tokenizer.apply_chat_template(
    messages,
    tokenize=True,
    enable_thinking=False,
    add_generation_prompt=True,
    return_tensors="pt"
).to(model.device)

# Use Greedy Search for reasoning off
outputs = model.generate(
    tokenized_chat,
    max_new_tokens=32,
    do_sample=False,
    num_beams=1,
    eos_token_id=tokenizer.eos_token_id
)
print(tokenizer.decode(outputs[0]))
Use it with vLLM

For more detailed information on how to use the model with vLLM, please see this cookbook.

pip install -U "vllm>=0.12.0"

Download the custom parser from the Hugging Face repository.

wget https://huggingface.co/nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16/resolve/main/nano_v3_reasoning_parser.py

Launch a vLLM server using the custom parser. In this example, we use a context length of 256k. You can increase the context size up to 1M to support longer contexts.

vllm serve --model nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16 \
 --max-num-seqs 8 \
  --tensor-parallel-size 1 \
  --max-model-len 262144 \
  --port 8000 \
  --trust-remote-code \
  --tool-call-parser qwen3_coder \
  --reasoning-parser-plugin nano_v3_reasoning_parser.py \
  --reasoning-parser nano_v3

If you’d like to use reasoning off with vLLM, you can do the following:
vLLM OpenAI curl request:

curl http://localhost:8000/v1/chat/completions \
    -H "Content-Type: application/json" \
    -d '{
        "model": "model",
        "messages":[{"role": "user", "content": "Write a haiku about GPUs"}],
        "chat_template_kwargs": {"enable_thinking": false}
    }'

vLLM OpenAI client:

response = client.chat.completions.create(model=model, messages=messages, extra_body={"chat_template_kwargs": {"enable_thinking": False}})
Use it with TRT-LLM

For more detailed information on how to use the model with TRT-LLM, please see this cookbook.

# nano_v3 example yaml is https://github.com/NVIDIA/TensorRT-LLM/blob/main/examples/auto_deploy/nano_v3.yaml
trtllm-serve <model_path> \
--backend _autodeploy \
--trust_remote_code \
--reasoning_parser nano-v3 \
--tool_parser qwen3_coder \
--extra_llm_api_options nano_v3.yaml
Use it with SGLang

For more detailed information on how to use the model with SGLang, please see this cookbook.

python3 -m sglang.launch_server --model-path nvidia/NVIDIA-Nemotron-3-Nano-30B-A3B-BF16 \
  --trust-remote-code \
  --tp 1 \
  --attention-backend flashinfer \
  --tool-call-parser qwen3_coder \
  --reasoning-parser nano_v3

Model Version(s)

  • v1.0

Training, Testing, and Evaluation Datasets

Data Modality: Text
The total size: 10,648,823,153,919 Tokens
Total number of datasets: 141
Dataset partition: Training [100%], testing [0%], validation [0%]
Time period for training data collection: 2013 to May 1, 2025
Time period for testing data collection: 2013 to May 1, 2025
Time period for validation data collection: 2013 to May 1, 2025
Data Collection Method by dataset: Hybrid: Automated, Human, Synthetic
Labeling Method by dataset: Hybrid: Automated, Human, Synthetic

NVIDIA-Nemotron-3-Nano-30B-A3B-BF16 is pre-trained on a large corpus of high-quality curated and synthetically-generated data. It is trained in the English language, as well as 19 other languages and 43 programming languages. Our sources cover a variety of document types such as: webpages, dialogue, articles, and other written materials. The corpus spans domains including legal, math, science, finance, and more. We also include a small portion of question-answering, and alignment style data to improve model accuracy. The model was trained for approximately 25 trillion tokens.

The post-training corpus for NVIDIA-Nemotron-3-Nano-30B-A3B-BF16 of high-quality curated and synthetically-generated data. Primary languages used for post-training include English, German, Spanish, French, Italian, and Japanese.

These datasets, such as FinePDFs, EssentialWeb, HotpotQA, SQuAD, and HelpSteer3, do not collectively or exhaustively represent all demographic groups (and proportionally therein). For instance, these datasets do not contain explicit mentions of demographic classes such as age, gender, or ethnicity in 64-99% of samples, depending on the source. In the subset where such terms are present, document-based datasets (FinePDFs and EssentialWeb) contain representational skews, such as references to "male" outnumbering those to "female", and mentions of "White" as the most frequent among ethnic identifiers (comprising 43-44% of ethnicity mentions). To mitigate these imbalances, we recommend considering evaluation techniques such as bias audits, fine-tuning with demographically balanced datasets, and mitigation strategies like counterfactual data augmentation to align with the desired model behavior. This evaluation used a 3,000-sample subset per dataset, identified as the optimal threshold for maximizing embedder accuracy.

During post-training, we generate synthetic data by distilling trajectories, solutions, and translations from strong teacher models and agent systems, often grounded in real tasks or documents and aggressively filtered for quality. For math, code, and science, we start from curated problem sets and use open source permissive models such as GPT-OSS-120B to produce step-by-step reasoning traces, candidate solutions, best-of-n selection traces, and verified CUDA kernels. For long-context and science, we build synthetic QA and reasoning data by retrieving passages from long documents, generating MCQ/OpenQA questions and answers, and paraphrasing them into multiple prompt/response formats to ensure diversity. Across all pipelines we stack automated verification—compilers, numerical checks, language identification—to ensure our data is high quality.

For all domains, we apply a unified data filtering pipeline to ensure that only high-quality, license-compliant, and verifiable samples are used for post-training. We first discard malformed examples using structural checks (e.g., missing tool definitions when tool calls are present). We then aggressively filter reasoning traces exhibiting pathological repetition, such as repeated n-grams within a sliding window or across the entire trajectory, which we found to be a strong indicator of malformed or low-quality reasoning. Finally, based on internal audits of synthetically generated datasets, we observed that some teacher models occasionally produce reasoning traces and final responses that implicitly align with specific political entities or promote nationalistic narratives. To mitigate this, we apply targeted keyword- and regex-based filters and remove all trajectories matching such behavior.

Alongside the model, we release our final pre-training and post-training data, as outlined in this section. For ease of analysis, there is a sample set that is ungated. For all remaining code, math and multilingual data, gating and approval is required, and the dataset is permissively licensed for model training purposes.

More details on the datasets and synthetic data generation methods can be found in the technical report NVIDIA Nemotron 3 Nano.

DatasetCollection Period
GSM8K4/23/2025
CC-NEWS4/23/2025
Common Crawl4/23/2025
Wikimedia4/23/2025
Bespoke-Stratos-17k4/23/2025
tigerbot-kaggle-leetcodesolutions-en-2k4/23/2025
[glaive-function-calling-v2](https://huggingface.co/datase

…(truncated — see the full README on HuggingFace)

Tag summary

Content type

Unrecognized

Digest

sha256:e0ff3ba0d

Size

22.9 GB

Last updated

7 days ago

docker pull ai/nemotron-3-nano

This week's pulls

Pulls:

5,457

Last week