Model reference · open weights

Nemotron-Cascade-2

LLMs nvidia Text gen · MoE 1 build Its own licence terms 32k dl/mo

Nemotron-Cascade-2 is an open-weight language model from NVIDIA. Nemotron-Cascade-2-30B-A3B (BF16) weighs 63.2 GB; the smallest configuration that runs it is H100 80 GB.

For self-hosting, compare this build's requirements below with the GPU you plan to rent.

  • Nemotron-Cascade-2 is a 31.6B parameter model by NVIDIA designed for text generation, reasoning, and agentic tasks.
  • It supports a 262,144 token context length, operates in both thinking and instruct modes, and is trained for English.
  • The model is released under the NVIDIA Open Model License.

Summary of the nvidia/Nemotron-Cascade-2-30B-A3B model card, 2026-10-01

What it is

Released byNVIDIA
Released2026-03-18
Parameters31.6B
VRAM63.2 GB for the weights

What it runs on

Memory and cards for Nemotron-Cascade-2-30B-A3B (BF16)

63.2 GBweights, file size
6 MBcache per 1K tokens
98 MBfixed state per request
1.4 GBruntime overhead, at least
262,144 tokenscontext max
CardRequests at onceContext maxMemory
8K each32K each
RTX 3060 12 GB … L40S 48 GB
6 smaller cards
A100 80 GB9145all 256K78.2 GB
H100 80 GB5025all 256K78.1 GB
RTX PRO 6000 Blackwell 96 GB15677all 256K93.8 GB
DGX Spark (GB10) 128 GB unified247122all 256K107 GB
H200 141 GB453224all 256K138 GB
B200 180 GB689341all 256K176 GB
2× L40S 48 GB
tensor parallel
14873all 256K44.0 GB a card
4× RTX 4090 24 GB
tensor parallel
12449all 256K23.4 GB a card
4× RTX 3090 24 GB
tensor parallel
12549all 256K23.4 GB a card
4× RTX 5090 32 GB
tensor parallel
278110all 256K31.0 GB a card
2× H100 80 GB
tensor parallel
526261all 256K78.1 GB a card
Memory needed at each load
Requests at once8K tokens each32K tokens each
164.7 GB64.8 GB
565.3 GB66.0 GB
865.7 GB66.9 GB
1666.9 GB69.3 GB
3269.3 GB74.1 GB
6474.0 GB83.7 GB

One card, with vLLM's small-card settings.

From the model card

What NVIDIA says about Nemotron-Cascade-2

Read the model card

Introduction

We're excited to introduce Nemotron-Cascade-2-30B-A3B, an open 30B MoE model with 3B activated parameters that delivers strong reasoning and agentic capabilities. It is post-trained from the Nemotron-3-Nano-30B-A3B-Base. Nemotron-Cascade-2-30B-A3B achieves gold medal performance in both the 2025 International Mathematical Olympiad (IMO) and the International Olympiad in Informatics (IOI). It operates in both thinking and instruct (non-thinking) modes.

Benchmark Results

  • † Numbers in brackets refers to Tool-Integrated Reasoning (TIR) results.
  • ‡ For the baseline models, we evaluate them using the recommended settings when official numbers are unavailable; otherwise, we report the official numbers directly.

Quick Start

  • Nemotron-Cascade-2-30B-A3B follows the ChatML template and supports both thinking and instruct (non-thinking) modes. Reasoning content is enclosed within and tags. To activate the instruct (non-thinking) mode, we prepend `` to the beginning of the assistant’s response.

  • Nemotron-Cascade-2-30B-A3B supports up to a 1M-token context length.

  • Nemotron-Cascade-2-30B-A3B does not currently support OpenCode; it primarily supports OpenHands for agentic coding and SWE tasks.

  • To reduce the context length in a multi-turn conversation, when the previous user turn involves thinking mode, only the final summary of the model's output will be added to the conversation history.

  • Note that we do not define a separate tool role for tool responses; instead, we place them under the user role and warp them with and.

  • We recommend setting the sampling parameters to temperature = 1.0 and top_p = 0.95.

vLLM setup

Requires vLLM version >= 0.17.1. The following will create API endpoints at http://localhost:8000/v1:

  • Standard version: Use the following command to create an API endpoint with a maximum context length of 1M tokens.

    vllm serve nvidia/Nemotron-Cascade-2-30B-A3B --port 8000 --tensor-parallel-size 1 --gpu-memory-utilization 0.9 --max-model-len 262144 --reasoning-parser nano_v3 --mamba-ssm-cache-dtype float32 --port 8000 --trust_remote_code
    
  • Tool Call: Use the following command to enable tool support.

    vllm serve nvidia/Nemotron-Cascade-2-30B-A3B --port 8000 --tensor-parallel-size 1 --gpu-memory-utilization 0.9 --max-model-len 262144 --reasoning-parser nano_v3 --mamba-ssm-cache-dtype float32 --port 8000 --trust_remote_code --enable-auto-tool-choice --tool-call-parser qwen3_coder
    

UPDATE (July 9, 2026): We changed --reasoning-parser from nemotron_v3 to nano_v3. The nano_v3 parser simply splits the output on : content before is treated as reasoning content, and content after it is treated as summary content. If is not present, the entire output remains in `reasoning content`. In contrast, the `nemotron_v3` parser treats or as an implicit end-of-reasoning boundary when is missing. This difference affects tool-calling scenarios.

Chat Template

from transformers import AutoTokenizer

model_name = 'nvidia/Nemotron-Cascade-2-30B-A3B'
tokenizer = AutoTokenizer.from_pretrained(model_name)

'''
single-turn example
'''
messages = [
  {"role": "system", "content": "You are a helpful and harmless assistant.\n\nYou are not allowed to use any tools"},
  {"role": "user", "content": "calculate 1+1?"}
]

# thinking mode
prompt_thinking = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=True)
# prompt_thinking = 'system\nYou are a helpful and harmless assistant.\n\nYou are not allowed to use any tools\nuser\ncalculate 1+1?\nassistant\n\n'

# instruct mode
prompt_instruct = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=False)
# prompt_instruct = 'system\nYou are a helpful and harmless assistant.\n\nYou are not allowed to use any tools\nuser\ncalculate 1+1?\nassistant\n'

'''
multi-turn example
'''
messages = [
    {"role": "system", "content": "You are a helpful and harmless assistant.\n\nYou are not allowed to use any tools"},
    {"role": "user", "content": "calculate 1+1?"},
    {"role": "assistant", "content": "THINKING_CONTENT\nTo calculate \\(1 + 1\\):\n\n1. **Identify the operation**: This is a basic addition problem involving two integers.\n2. **Perform the addition**:  \n   \\(1 + 1 = 2\\).\n\n**Result**: \\(\\boxed{2}\\)",},
    {"role": "user", "content": "what about 2+2"}
]

# thinking mode
prompt_thinking = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=True)
# prompt_thinking = 'system\nYou are a helpful and harmless assistant.\n\nYou are not allowed to use any tools\nuser\ncalculate 1+1?\nassistant\n\nTo calculate \\(1 + 1\\):\n\n1. **Identify the operation**: This is a basic addition problem involving two integers.\n2. **Perform the addition**:  \n   \\(1 + 1 = 2\\).\n\n**Result**: \\(\\boxed{2}\\)\nuser\nwhat about 2+2\nassistant\n\n'

# instruct mode
prompt_instruct = tokenizer.apply_chat_template(messages, tokenize=False, add_generation_prompt=True, enable_thinking=False)
# prompt_instruct = 'system\nYou are a helpful and harmless assistant.\n\nYou are not allowed to use any tools\nuser\ncalculate 1+1?\nassistant\n\nTo calculate \\(1 + 1\\):\n\n1. **Identify the operation**: This is a basic addition problem involving two integers.\n2. **Perform the addition**:  \n   \\(1 + 1 = 2\\).\n\n**Result**: \\(\\boxed{2}\\)\nuser\nwhat about 2+2\nassistant\n'

Python Tool Use

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms