Text Generation
Transformers
Safetensors
PyTorch
gemma4
image-text-to-text
nvidia
nemotron-3.5
conversational

NVIDIA-Nemotron-3.5-Bolt-E4B-BF16

image

Description

NVIDIA-Nemotron-3.5-Bolt-E4B-BF16 is a small language model (SLM) further post-trained from Gemma-4-E4B-it by NVIDIA. This is the full-precision (BF16) release. Nemotron-3.5-Bolt-E4B carries forward Gemma’s strong conversational capabilities and further improves multi-turn tool use, instruction following, and input grounding for fast local voice/device assistants, interactive personas, and embedded/edge interfaces. Designed for low-memory, low-TTFT operation, the model allows agents to respond quickly while preserving headroom for applications or adjacent model pipelines.

demo

For speculative decoding, use the companion DFlash drafter. For the Q4_K_M quantized version, see NVIDIA-Nemotron-3.5-Bolt-E4B-4GB.

This model is ready for commercial or non‑commercial use.

Model Summary

Total Parameters 8B (4B effective)
Architecture Gemma-4-E4B
Precision BF16
Context Length Input: up to 64K tokens; output: up to 64K tokens
Inputs / Outputs Text / text
Deployment vLLM; full-precision customization, post-training, and evaluation
Reasoning Mode Chat-template controls (enable_thinking=True/False) and runtime thinking budget
Conversational Mode Chat-template controls (conversational_mode=True/False)
Recommended Sampling Temperature 1.0, top_p 0.95 in both thinking modes
Best For Local voice and device assistants, interactive personas, and embedded interfaces
License OpenMDW-1.1

Model Overview

Model Developer: NVIDIA Corporation

Model Dates: December 2025 - May 2026

Data Freshness:

  • The post-training data has a cutoff date of May 2026.

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.

Quick Start

To get quickly started on a single H100 you can use the following command.

Run it with vLLM! (vLLM v0.31.0: vllm/vllm-openai:v0.31.0)

Without Speculative Decoding

export MODEL=nvidia/NVIDIA-Nemotron-3.5-Bolt-E4B-BF16

vllm serve "$MODEL" \
  --served-model-name "nemotron-bolt" \
  --host 0.0.0.0 \
  --port 8000 \
  --dtype bfloat16 \
  --tensor-parallel-size 1 \
  --gpu-memory-utilization 0.85 \
  --kv-cache-dtype auto \
  --max-model-len 65536 \
  --max-num-seqs 64 \
  --max-num-batched-tokens 65536 \
  --chat-template "$MODEL/chat_template.jinja" \
  --enable-auto-tool-choice \
  --tool-call-parser gemma4 \
  --reasoning-parser gemma4 \
  --limit-mm-per-prompt '{"image":0,"video":0,"audio":0}'

With DFlash Speculative Decoding

Use the same downloaded BF16 checkpoint with its companion DFlash drafter. Run one serving configuration at a time. This example uses a single concurrent sequence and seven speculative tokens; tune these settings for your workload.

export MODEL=nvidia/NVIDIA-Nemotron-3.5-Bolt-E4B-BF16
export DRAFTER_CKPT=nvidia/NVIDIA-Nemotron-3.5-Bolt-E4B-BF16-DFlash-NVFP4

vllm serve "$MODEL" \
  --served-model-name "nemotron-bolt" \
  --host 0.0.0.0 \
  --port 8000 \
  --dtype bfloat16 \
  --tensor-parallel-size 1 \
  --gpu-memory-utilization 0.85 \
  --kv-cache-dtype auto \
  --max-model-len 65536 \
  --max-num-seqs 1 \
  --max-num-batched-tokens 65536 \
  --chat-template "$MODEL/chat_template.jinja" \
  --enable-auto-tool-choice \
  --tool-call-parser gemma4 \
  --reasoning-parser gemma4 \
  --limit-mm-per-prompt '{"image":0,"video":0,"audio":0}' \
  --speculative-config "{
    \"method\": \"dflash\",
    \"model\": \"$DRAFTER_CKPT\",
    \"num_speculative_tokens\": 7
  }"

Sample Request

The same request works with either serving configuration.

curl -s "http://<host>:8000/v1/chat/completions" \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "nemotron-bolt",
    "messages": [
      {"role": "user", "content": "What is 17 multiplied by 23?"}
    ],
    "temperature": 0.0,
    "max_tokens": 512,
    "skip_special_tokens": false,
    "chat_template_kwargs": {
      "enable_thinking": true
    }
  }'

For more details on how to deploy and use the model — see the Quick Start Guide below!

License/Terms of Use

Governing Terms: Use of this model is governed by the OpenMDW License Agreement, version 1.1. This model has been post-trained on the Google Gemma 4 model, and use of the Google Gemma 4 model is governed by Apache License, Version 2.0

Benchmarks

We evaluated our model on the following benchmarks:

Benchmark Nemotron-3.5
Bolt-E4B
BF16
Gemma4
E4B-it
BF16
Qwen3.5
4B
BF16
Nemotron-3
Nano-4B
BF16
Nemotron-3.5
Bolt-E4B-4GB
Q4_K_M
Gemma4
E4B-it
Q4_K_M
Qwen3.5
4B
Q4_K_M
Nemotron-3
Nano-4B
Q4_K_M
MultiChallenge 53.10 42.08 51.76 35.30 55.60 39.36 52.23 34.53
RoleBench 67.05 49.95 53.66 12.02 71.21 60.51 52.35 10.86
RoleMRC 80.63 74.62 65.81 47.00 79.12 75.24 62.61 45.84
EQ-Bench v3 39.40 41.17 32.92 19.31 38.15 39.77 32.07 19.45
Brevity Benchmark 82.52 79.99 75.35 73.60 82.84 78.49 75.17 70.98
BFCL-v3 68.51 66.39 70.95 61.10 67.31 65.03 70.56 59.07
When2Call Multi-Turn 63.36 62.90 37.85 27.70 60.50 61.12 42.88 35.96
ToolSandbox 68.77 65.43 69.54 57.88 74.13 68.31 74.51 59.78
Tau2-Bench 55.10 38.50 75.06 29.20 52.32 38.72 61.74 14.89
IHEval 84.79 67.04 60.57 51.31 82.40 66.61 62.87 53.75
AgentIF 25.81 21.89 20.44 20.08 22.95 20.05 22.24 21.25
StructEval-T 80.40 79.27 76.01 63.50 79.99 77.28 76.38 16.54
IFBench 63.79 42.84 58.91 60.10 64.00 42.67 66.67 58.58
InverseIFEval 46.84 42.00 30.98 35.25 45.26 39.75 22.04 36.02
RULER (64K) 86.99 86.55 95.15 91.51 85.76 86.14 95.37 91.31
LongMemEval 72.10 70.95 66.85 25.20 69.92 67.95 76.60 27.15
LongBench v2 (48K) 50.50 49.34 59.93 31.40 48.67 45.70 58.28 37.42
SysBench 67.88 65.85 67.34 60.88 67.22 65.62 67.90 60.45
GaRAGe 42.61 34.73 24.66 25.18 40.73 30.91 31.78 24.80
RAGTruth 77.59 76.97 75.60 71.40 77.88 77.17 74.08 71.75
RelyToolBench 63.16 61.60 43.35 41.20 69.29 67.15 38.34 38.97

Note:

  • Evaluations are conducted in reasoning mode except for RoleBench, EQ-Bench v3, and RULER.
  • Bold indicates the highest score within each precision group (BF16 and Q4_K_M) for each row. All tied highest scores are bold.
  • Accuracy numbers are measured by NVIDIA under a consistent harness (NeMo Gym); they may differ from vendors' self-reported numbers.

Deployment Geography: Global

Use Case

NVIDIA-Nemotron-3.5-Bolt-E4B-BF16 is the full-precision release of a general purpose reasoning and chat model, and is intended primarily for customization and post-training rather than direct production inference. It is intended to be used by developers who want to: post-train the model on their own data (SFT, RL via NeMo RL and NeMo Gym, or distillation), adapt it to a domain or task, produce quantized variants (NVFP4, W4A16, GGUF) for their own deployment targets, or run full-precision research and evaluation. English and coding languages are the primary languages, with Spanish, French, German, Italian, and Japanese also supported.

Release Date

Reference(s)

Model Architecture

  • Architecture Type: Gemma 4
  • Network Architecture: Gemma-4-E4B
  • Number of model parameters: 8B (4B effective parameters)

Model Design

The model was further post-trained from Gemma-4-E4B-it.

Training Methodology

Reinforcement Learning

  • The model underwent multi-environment reinforcement learning using GRPO (Group Relative Policy Optimization) across instruction following, multi-step tool use, multi-turn conversations, and structured output environments. It utilized an asynchronous RL architecture that decouples training from inference.
  • Software used for reinforcement learning: NeMo RL, NeMo Gym

NVIDIA-Nemotron-3.5-Bolt-E4B-BF16 is a result of the above work.

Input

  • Input Type(s): Text
  • Input Format(s): String
  • Input Parameters: One-Dimensional (1D): Sequences
  • Other Properties Related to Input: Maximum context length up to 64K tokens. Supported languages include English, Spanish, French, German, Italian, and Japanese, among others.

Output

  • Output Type(s): Text
  • Output Format: String
  • Output Parameters: One-Dimensional (1D): Sequences
  • Other Properties Related to Output: Maximum context length up to 64K tokens

Our AI models are designed and/or 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): PyTorch
  • Supported Hardware Microarchitecture Compatibility: NVIDIA Ampere - A100; NVIDIA Blackwell; NVIDIA Hopper - H100-80GB
  • Supported 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.

Model Version(s)

  • GA (10/23/2026)

Quick Start Guide

All deployment snippets below assume:

export MODEL_CKPT=nvidia/NVIDIA-Nemotron-3.5-Bolt-E4B-BF16

vLLM

  • vLLM: vllm/vllm-openai:v0.31.0

1x H100 / A100 / GB200

For max throughput deployments, use the following configuration, no speculative decoding strategy is best for this serving configuration, and due to memory constraints the Mamba cache dtype is set as FP16:

vllm serve "$MODEL" \
  --served-model-name "nemotron-bolt" \
  --host 0.0.0.0 \
  --port 8000 \
  --dtype bfloat16 \
  --tensor-parallel-size 1 \
  --gpu-memory-utilization 0.85 \
  --kv-cache-dtype auto \
  --max-model-len 65536 \
  --max-num-seqs 64 \
  --max-num-batched-tokens 65536 \
  --chat-template "$MODEL/chat_template.jinja" \
  --enable-auto-tool-choice \
  --tool-call-parser gemma4 \
  --reasoning-parser gemma4 \
  --limit-mm-per-prompt '{"image":0,"video":0,"audio":0}'

API Client

The examples below use the OpenAI-compatible client and work with the serving backend above. Recommended sampling settings are Temperature 1.0 and Top_P 0.95 in both thinking enabled and disabled modes.

from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="EMPTY")
MODEL = "nemotron-bolt"

Bolt-E4B exposes reasoning control through chat-template kwargs: thinking enabled (the default), thinking disabled for direct answers, and a runtime thinking budget.

Reasoning On

response = client.chat.completions.create(
    model=MODEL,
    messages=[{"role": "user", "content": "Write a haiku about GPUs"}],
    max_tokens=16000,
    temperature=1.0,
    top_p=0.95,
    extra_body={
        "skip_special_tokens": False,
        "chat_template_kwargs": {"enable_thinking": True},
    }
)
print(response.choices[0].message.content)

Reasoning Off

response = client.chat.completions.create(
    model=MODEL,
    messages=[{"role": "user", "content": "What is the capital of Japan?"}],
    max_tokens=16000,
    temperature=1.0,
    top_p=0.95,
    extra_body={
        "skip_special_tokens": False,
        "chat_template_kwargs": {"enable_thinking": False},
    }
)
print(response.choices[0].message.content)

Streaming

stream = client.chat.completions.create(
    model=MODEL,
    messages=[{"role": "user", "content": "Explain speculative decoding in two sentences"}],
    max_tokens=16000,
    temperature=1.0,
    top_p=0.95,
    stream=True,
    extra_body={"skip_special_tokens": False},
)
for chunk in stream:
    print(chunk.choices[0].delta.content or "", end="", flush=True)

Tool Calling

For vLLM, add the following to any serve command above:

--enable-auto-tool-choice \
--tool-call-parser gemma4 \
--reasoning-parser gemma4 \

Sample request with tool-calling enabled:

tools = [{
    "type": "function",
    "function": {
        "name": "get_weather",
        "description": "Get the current weather for a city",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    },
}]

response = client.chat.completions.create(
    model=MODEL,
    messages=[{"role": "user", "content": "What's the weather in Santa Clara?"}],
    tools=tools,
    max_tokens=16000,
    temperature=1.0,
    top_p=0.95,
    extra_body={
        "skip_special_tokens": False,
        "chat_template_kwargs": {"enable_thinking": True},
    },
)
print(response.choices[0].message.tool_calls)

Conversational Mode

Bolt-E4B supports a conversational mode. If enabled, Bolt-E4B responds concisely and without as much textual formatting. This mode is suitable for conversational and spoken interaction-based applications. Conversational mode can be toggled as follows:

response = client.chat.completions.create(
    model=MODEL,
    messages=[{"role": "user", "content": "What is the capital of Japan?"}],
    max_tokens=16000,
    temperature=1.0,
    top_p=0.95,
    extra_body={
        "skip_special_tokens": False,
        "chat_template_kwargs": {"conversational_mode": True},
    }
)
print(response.choices[0].message.content)

Conversational mode can be combined with thinking enabled and disabled mode, as well as tool-calling.

Runtime Thinking Budget Control

In thinking enabled mode, you can control the thinking budget that Bolt-E4B uses with a two-step inference client. The client stops Bolt-E4B’s reasoning process at a defined token budget and gets a final response from the model. The budget control client can be implemented as following:

Thinking budget client implementation and usage
import copy
import requests

class BoltThinkingBudgetClient:
    def __init__(self, base_url, api_key):
        self.base_url = base_url.rstrip("/")

    def _post(self, payload):
        response = requests.post(
            f"{self.base_url}/chat/completions",
            json=payload,
            timeout=300,
        )
        response.raise_for_status()
        return response.json()

    def chat_completion(
        self,
        model,
        messages,
        max_thinking_budget=512,
        max_tokens=1024,
        tools=None,
        temperature=1.0,
        top_p=0.95,
        seed=None,
    ):
        if max_tokens <= max_thinking_budget:
            raise ValueError(
                "max_tokens must be larger than max_thinking_budget"
            )

        original_messages = copy.deepcopy(messages)
        sampling = {
            "temperature": temperature,
            "top_p": top_p,
        }
        if seed is not None:
            sampling["seed"] = seed

        first_payload = {
            "model": model,
            "skip_special_tokens": False,
            "messages": original_messages,
            "max_tokens": max_thinking_budget,
            "chat_template_kwargs": {"enable_thinking": True},
            **sampling,
        }
        if tools is not None:
            first_payload["tools"] = tools
            first_payload["tool_choice"] = "auto"

        first = self._post(first_payload)
        choice = first["choices"][0]
        message = choice["message"]
        reasoning = (
            message.get("reasoning_content")
            or message.get("reasoning")
            or ""
        )
        partial_answer = message.get("content") or ""
        tool_calls = message.get("tool_calls") or []

        if choice.get("finish_reason") == "stop" and (
            partial_answer or tool_calls
        ):
            return {
                "reasoning_content": reasoning,
                "content": partial_answer,
                "tool_calls": tool_calls,
                "finish_reason": choice.get("finish_reason"),
                "budget_forced": False,
            }

        used_tokens = first.get("usage", {}).get(
            "completion_tokens",
            max_thinking_budget,
        )
        remaining_tokens = max_tokens - used_tokens
        if remaining_tokens <= 0:
            raise ValueError("Increase max_tokens or lower the budget")

        continuation_messages = copy.deepcopy(original_messages)
        continuation_messages.append(
            {
                "role": "assistant",
                "reasoning_content": reasoning,
                "content": partial_answer,
            }
        )

        second_payload = {
            "model": model,
            "skip_special_tokens": False,
            "messages": continuation_messages,
            "max_tokens": remaining_tokens,
            "add_generation_prompt": False,
            "continue_final_message": True,
            "chat_template_kwargs": {
                "enable_thinking": True,
                "preserve_thinking": True,
            },
            **sampling,
        }
        if tools is not None:
            second_payload["tools"] = tools
            second_payload["tool_choice"] = "auto"

        second = self._post(second_payload)
        second_choice = second["choices"][0]
        second_message = second_choice["message"]
        return {
            "reasoning_content": reasoning,
            "content": partial_answer + (
                second_message.get("content") or ""
            ),
            "tool_calls": second_message.get("tool_calls") or [],
            "finish_reason": second_choice.get("finish_reason"),
            "budget_forced": True,
        }

You can then use the client as:

client = BoltThinkingBudgetClient(
    base_url="http://localhost:8000/v1", api_key="EMPTY"
)
MODEL = "nemotron-bolt"

result = client.chat_completion(
    model=MODEL,
    messages=[
        {"role": "system", "content": ""},
        {"role": "user", "content": "What is 2+2?"},
    ],
    max_thinking_budget=32,
    max_tokens=512,
    temperature=1.0,
    top_p=0.95,
    seed=17,
)

print(result["content"])
# Tool-Calling Example

calculate_tip = {
    "type": "function",
    "function": {
        "name": "calculate_tip",
        "description": "Calculate the tip for a bill.",
        "parameters": {
            "type": "object",
            "properties": {
                "bill_total": {"type": "number"},
                "tip_percentage": {"type": "number"},
            },
            "required": ["bill_total", "tip_percentage"],
            "additionalProperties": False,
        },
    },
}

tool_result = client.chat_completion(
    model=MODEL,
    messages=[
        {"role": "system", "content": ""},
        {
            "role": "user",
            "content": (
                "My bill is $100. Use calculate_tip to calculate an 18% tip."
            ),
        },
    ],
    tools=[calculate_tip],
    max_thinking_budget=32,
    max_tokens=512,
    temperature=1.0,
    top_p=0.95,
    seed=23,
)

if not tool_result["tool_calls"]:
    raise RuntimeError("The model did not return a parsed tool call.")

tool_call = tool_result["tool_calls"][0]
print(tool_call["function"]["name"])
print(tool_call["function"]["arguments"])

# Example output:
# calculate_tip
# {"bill_total":100,"tip_percentage":18}
How Runtime Budget Control Works
  • Phase 1 executes an initial request to /v1/chat/completions, configuring enable_thinking=True within chat_template_kwargs alongside the designated token limit via max_thinking_budget.
  • Should execution terminate standardly and return complete output, the system yields this output without triggering secondary inference.
  • If execution halts upon reaching the designated ceiling, extract reasoning_content directly from the message object.
  • Construct and append an assistant role turn incorporating the extracted thought traces along with any generated output snippets.
  • Re-pass the function schemas while assigning preserve_thinking=True inside the template parameters.
  • Assign the secondary max_tokens allocation to match the remaining generation threshold.
  • Phase 2 dispatches to /v1/chat/completions using continue_final_message=True and add_generation_prompt=False, preserving active Gemma 4 tool and reasoning parsing modules.
Limits and Recommendations for Runtime Budget Control
  • Restricted token allocations may truncate thought processes mid-sentence. While output clarity is typically maintained, task-specific output evaluation remains necessary.
  • The client halts execution immediately upon reaching the pre-configured initial generation ceiling, ignoring subsequent line boundaries.
  • Conduct systematic allocation sweeps using standard evaluation prompts prior to establishing deployment parameters.
  • Illustration: To maintain a strict 500-token overall threshold, evaluate unconstrained model generation metrics (e.g., averaging 200 tokens). Assigning a dedicated 300-token reasoning parameter alongside a 500-token global ceiling forces thought termination at 300 tokens, reserving 200 tokens for output synthesis.
  • To encourage brief output (excluding internal reasoning steps), incorporate explicit word- or sentence-count constraints within system prompts.

Asynchronous Tool Calling

Bolt-E4B's chat template currently does not allow stray tool responses (messages with tool role that do not immediately follow a message with assistant role and tool_calls). However, this model can support asynchronous tool-calling with in the following manner:

Asynchronous tool-calling usage

If the model invokes a tool in message.tool_calls that has a later arriving result, respond with a tool message in the immediate next turn that acknowledges the tool-call and shows the tool result as pending.

Example:

Assistant tool-call

{
  "role": "assistant",
  "tool_calls": [{
    "id": "call_1",
    "type": "function",
    "function": {
      "name": "build_report",
      "arguments": "{\"_task_id\":\"task_1\",\"scope\":\"weekly\"}"
    }
  }]
}

Immediate acknowledgement with pending result

{
  "role": "tool",
  "tool_call_id": "call_1",
  "content": "{\"status\":\"pending\",\"task_id\":\"task_1\",\"function\":\"build_report\"}"
}

The model can continue the conversation with the user after this acknowledgement tool result message.

Once the tool result is available, respond with a user message that provides the tool result in a structured format, prefixed with something like "TOOL RESULT:"

Example:

Later tool result completion result

{
  "role": "user",
  "content": "TOOL UPDATE: {\"status\":\"completed\",\"task_id\":\"task_1\",\"function\":\"build_report\",\"response\":\"Report is ready.\"}"
}

The model processes the finalized payload to resume the conversation.

Prompting Guidelines

General guidelines for using Bolt-E4B in conversational and interactive agent applications.

Prompt Structure and Content

  • Put persistent role definitions, behavioral constraints, and operating rules in the system prompt.
  • Use consistent headings which clearly identify the purpose of a section of the prompt, Example: ROLE, IDENTITY, INPUT FORMAT, TASK RULES, PERSONALITY, SPEECH EXAMPLES, etc.
  • State the primary objective clearly. Define what counts as completion for multi-step workflows.
  • Write instructions as conditions and actions: “After crafting succeeds, call the delivery tool.”
  • Remove redundant instructions rather than repeatedly adding stronger versions.
  • Use response-length limits that fit the application. A one- or two-sentence limit can suit spoken replies; it will not restrict tool arguments or reasoning.
  • Use explicit constraints (e.g., "limit responses to 1-2 sentences") instead of vague requests (e.g., "be brief").
  • Preserve genuine conversation history. Do not insert fabricated assistant actions, promises, or tool calls as if they occurred.
  • If using few-shot examples, identify them as examples. Test whether the model copies their wording or themes and adjust instructions accordingly.
  • Strictly adhere to standard system/user/assistant/tool turn sequences.

Identity, Ownership, and Perspective

  • Define the agent and user as separate entities with separate actions, locations, possessions, and knowledge.
  • Explain pronouns when both entities appear in state: “In the state update following a user turn, ‘my’ refers to the user; but in a state update after an assistant turn, ‘my’ refers to you.”
  • Use explicit labels such as YOUR INVENTORY, PLAYER VIEW, and SHARED CHEST to reinforce ownership.
  • Distinguish unavailable information from empty state. An inaccessible user inventory is unknown, not empty.
  • Distinguish visible resources from possessed resources. A nearby item or chest does not mean the agent owns its contents.
  • Make character lore consistent with available information and tools. Explain any restrictions on what the character can perceive or use.

Conveying Environment State

  • Mark state blocks clearly, for example with # CURRENT STATE.
  • Explain that state is operational context, not a new request or text to repeat aloud.
  • Share state updates via new user or system messages. The model supports consecutive user and system messages. It is important to maintain correct chronology when conveying state information/updates and continuing the conversation.

For example, for a user message that is conditioned upon a state update, the state update user or system message must come before the user response:

# CURRENT STATE
...

----------------

<actual user message>

OR in two user/system messages:

[..., {"role": "user/system", "content": "# CURRENT STATE..."}, {"role": "user", "content": "<actual user message>"}, ...]

But, for conveying an updated state that occurs after a tool is executed, the state update user or system message must come after the tool execution response:

[..., {"role": "tool", "content": "<tool execution result that updates a state>"}, {"role": "user/system", "content": "# CURRENT STATE... <state that got changed with tool execution>"}, {"role": "user", "content": "<next user message>"}, ...]

Tool Definitions and Calling

  • Send tools through the native tools array and read actions from message.tool_calls.
  • Use stable function names and parameter schemas. Describe prerequisites, argument meanings, units, defaults, effects, and failure conditions.
  • Make tool descriptions match actual behavior. “Drops an item toward the player” must not be described as guaranteed placement in the player’s inventory.

Training, Testing, and Evaluation Datasets

Training

Dataset Overview

Data Modality: Text

Training Data Size: More than 20 Trillion Tokens

Dataset partition: Training [100%], testing [0%], validation [0%]

Time period for training data collection: 2013 to December 2025

Time period for testing data collection: 2013 to December 2025

Time period for validation data collection: 2013 to December 2025

Data Collection Method by dataset: Hybrid: Automated, Manually-Collected, Synthetic

Labeling Method by dataset: Hybrid: Automated, Manually-Labeled, Synthetic

The post-training corpus for NVIDIA-Nemotron-3.5-Bolt-E4B-BF16 consists of high-quality curated and synthetically-generated data. Primary languages used for post-training include English, French, German, Italian, Japanese, Spanish, and Chinese.

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.

Detailed dataset information

Public Datasets

Dataset Collection Period
GSM8K 4/23/2025
CC-NEWS 4/23/2025
Common Crawl 4/23/2025
Wikimedia 4/23/2025
Bespoke-Stratos-17k 4/23/2025
tigerbot-kaggle-leetcodesolutions-en-2k 4/23/2025
glaive-function-calling-v2 4/23/2025
APIGen Function-Calling 4/23/2025
LMSYS-Chat-1M 4/23/2025
Open Textbook Library - CC BY-SA & GNU subset and OpenStax - CC BY-SA subset 4/23/2025
Advanced Reasoning Benchmark, tigerbot-kaggle-leetcodesolutions-en-2k, PRM800K, and SciBench 4/23/2025
FineWeb-2 4/23/2025
Court Listener Legacy Download
peS2o Legacy Download
OpenWebMath Legacy Download
BioRxiv Legacy Download
PMC Open Access Subset Legacy Download
OpenWebText2 Legacy Download
Stack Exchange Data Dump Legacy Download
PubMed Abstracts Legacy Download
NIH ExPorter Legacy Download
arXiv Legacy Download
BigScience Workshop Datasets Legacy Download
Reddit Dataset Legacy Download
SEC's Electronic Data Gathering, Analysis, and Retrieval (EDGAR) Legacy Download
Advanced Mathematical Problem Solving Legacy Download
MathPile Legacy Download
NuminaMath CoT Legacy Download
PMC Article Legacy Download
FLAN Legacy Download
Advanced Reasoning Benchmark Legacy Download
SciBench Legacy Download
WikiTableQuestions Legacy Download
FinQA Legacy Download
Riddles Legacy Download
Problems in Elementary Mathematics for Home Study Legacy Download
MedMCQA Legacy Download
Cosmos QA Legacy Download
MCTest Legacy Download
AI2's Reasoning Challenge Legacy Download
OpenBookQA Legacy Download
MMLU Auxiliary Train Legacy Download
social-chemestry-101 Legacy Download
Moral Stories Legacy Download
The Common Pile v0.1 Legacy Download
FineMath Legacy Download
MegaMath Legacy Download
MultiverseMathHard 10/2/2025
SWE-Gym 10/2/2025
WorkBench 10/2/2025
WildChat-1M 10/2/2025
OpenCodeReasoning-2 10/2/2025
HelpSteer3 10/2/2025
opc-sft-stage2 10/2/2025
Big-Math-RL-Verified 10/2/2025
MetaMathQA 10/2/2025
simple-arithmetic-problems 10/2/2025
arithmetic 10/2/2025
Skywork-OR1-RL-Data 10/2/2025
FastChat 10/2/2025
News Commentary 10/2/2025
Essential-Web 10/2/2025
finepdfs 10/2/2025
HotpotQA 10/2/2025
SQuAD2.0 10/2/2025
NLTK Words Lists 10/2/2025

Private Non-publicly Accessible Datasets of Third Parties

Dataset Model(s) used
Global Regulation Unknown
TAUS Translation Memory Unknown
Scale HLE Unknown
HackerRank Coding Unknown
RL data for Search Gemini 3; GPT-5
Mercor SWE-AgentsV1 Undisclosed

Private Non-publicly Accessible Datasets by NVIDIA

Dataset Model(s) used
Simple Minesweeper Undisclosed
Simple Sudoku Undisclosed
Multitool Typewriter Hard Undisclosed
Machine Translation of News Commentary and TAUS Translation Memory Undisclosed
Machine Translation of STEM - Qwen2.5-14B-Instruct
Competitive Coding RL data from Nemotron Cascade Undisclosed
Long context RL Undisclosed
Single-step SWE RL for patch generation Undisclosed
OpenHands SWE Undisclosed

NVIDIA-Sourced Synthetic Datasets (Post-Training)

Dataset Modality Dataset Size Seed Dataset Model(s) used for generation
Synthetic Competitive MATH Proofs from DeepSeek-V4-Pro Text Undisclosed [AMC 8 Problems and Solutions, AMC 10 Problems and Solution, and AIME Problems and Solutions] [deepseek-ai/DeepSeek-V4-Pro]
Synthetic Hermes Agent Reasoning Traces Text Undisclosed [lambda/hermes-agent-reasoning-traces] [hermes-agent-generator]
Synthetic Competitive Coding from DeepSeek-V4-Pro Text Undisclosed [NVCompetitiveCodingV1] [deepseek-ai/DeepSeek-V4-Pro]
Synthetic Competitive Science Reasoning from DeepSeek-V4-Pro Text Undisclosed [AMC 8 Problems and Solutions, AMC 10 Problems and Solution, and AIME Problems and Solutions]; [EssentialAI/essential-web-v1.0]; [cdquestions.com]; [Pile-FreeLaw]; [Vedantu]; [askfilo]; [doubtnut]; [ICHO-IPH0 Dataset]; [LIMO dataset (Less is More for Reasoning)]; [AAPT]; [ChemData 700K]; [oMeBench]; [Flavor Analysis and Recognition Transformer]; [ChemCoTBench]; [Llama Nemotron Dataset] [deepseek-ai/DeepSeek-V4-Pro]
Synthetic Competitive MATH CoT and TIR from Nemotron 5.5 Text Undisclosed [Pile-FreeLaw]; [AMC 8 Problems and Solutions, AMC 10 Problems and Solution, and AIME Problems and Solutions] [Nemotron 5.5]
Vendor Terminal Bench-like Tasks from Mercor Text Undisclosed [Terminal bench like tasks curated by the vendor] [Undisclosed - purchased dataset]
Turing Math Data Pack Text Undisclosed [Turing Math Data Pack dataset] [Undisclosed - purchased dataset]
Synthetic Holdout, Skywork, DAPO, and Turing Math from GPT-5.5 Text Undisclosed [DocQA-RL-1.6K]; [DAPO-Math-17k] [GPT-5.5]
Synthetic Long Context RL from QwenLong L1 and DocQA-RL-1.6K Text Undisclosed [DocQA-RL-1.6K] Undisclosed
Synthetic Competitive Coding Gym Tasks Text Undisclosed [NVCompetitiveCodingV1.1] Undisclosed
Synthetic Finance SEC Search Agent from GPT-OSS-120B and Qwen3 Text Undisclosed [SEC filings from sec.gov] [GPT-OSS-120B]; [Qwen3-235B-A22B-Instruct]; [Qwen3-4B-Instruct]
Synthetic Structured Outputs from Qwen3-30B-A3B-Instruct-2507, Qwen3-30B-A3B-Thinking-2507, Qwen3-235B-A22B-Instruct-2507, and Qwen3-235B-A22B-Thinking-2507 Text Undisclosed [Nemotron-RL-agent-structured-outputs-v1] [Qwen3-30B-A3B-Instruct-2507]; [Qwen3-235B-A22B-Instruct-2507]
Synthetic Long Context Equivalence Rule from Qwen3-235B-A22B-Thinking-2507 and DeepSeek-R1 Text Undisclosed [Long-context SFT data] [Qwen/Qwen3-235B-A22B-Thinking-2507]; [Deepseek-ai/DeepSeek-R1]
Synthetic Science RL Data Blend from Qwen2.5-32B Text Undisclosed [doubtnut]; [Pile-FreeLaw]; [Llama Nemotron Dataset]; [askfilo]; [EssentialAI/essential-web-v1.0]; [Vedantu]; [auxiliary_train]; [cdquestions.com]; [AMC 8 Problems and Solutions, AMC 10 Problems and Solution, and AIME Problems and Solutions]; [AAPT]; [ICHO-IPH0 Dataset]; [LIMO dataset (Less is More for Reasoning)] [Qwen2.5-32B]
Synthetic Abstention Data from Nemotron Super v3 Text Undisclosed [Go abstention Dataset] [nvidia/nvidia/nemotron-3-super-v3]
Synthetic Chemistry Data from Nemotron Super v3 Text Undisclosed [ChemData 700K] [nvidia/nvidia/nemotron-3-super-v3]
Synthetic Tool Call Schema for RL Text 469,983 [UltraTool]; [ToolEyes]; [AutoTools]; [API-Bank]; [Nemotron-Personas-USA]; [Salesforce xLAM function-calling]; [Glaive function-calling-v2]; [Agent-Ark/Toucan-1.5M] [DeepSeek-V3.2]; [GLM-4.6]; [gpt-oss-120b]; [Kimi-K2-Instruct]
Synthetic Freeform Text Formatting from GPT-OSS-120B Text Undisclosed [In-house data] [GPT OSS 120B - Apache 2.0]
Synthetic Citation Formatting from GPT-OSS-120B Text Undisclosed [In-house data] [GPT OSS 120B - Apache 2.0]
Droid Harness Pivot Vendor Data Text Undisclosed [Droid Harness Pivot vendor data] Undisclosed
Synthetic HotpotQA Training Data from Qwen3-235B Text Undisclosed [HotpotQA] [Qwen3-235B]
Synthetic Natural Language Math Proofs from Nemotron 5.5 Text Undisclosed [AMC8, AMC10, and AIME problem sets hosted on Art of Problem Solving]; [Pile-StackExchange] [Nemotron 5.5]
Synthetic Stack Overflow OpenQ Text Undisclosed [Pile-FreeLaw] Undisclosed
Chemistry Ether0 Vendor Data Text Undisclosed [Chemistry ether0 vendor data] Undisclosed
Synthetic Litmus-Bench Chemistry from ChEMBL Text Undisclosed [ChEMBL]; [Nemo Gym RL dataset generated from ChEMBL with RDKit] Undisclosed
Synthetic ZINC Chemistry from Nemotron Super v3 Text Undisclosed [ZINC] [Nemotron Super v3]
ARC-AGI Gym Environment Text Undisclosed [ARC-AGI-2] [ARC-AGI-2]
Synthetic Agentic Search Tool-Use from DeepSeek-V3.2 Text Undisclosed [Mercor Data] [DeepSeek-V3.2]
Synthetic Text-To-SQL Text 96,564 [In-house Text-to-SQL data] [gpt-oss-120b]
Dialog Memory Vendor Data Text Undisclosed [Patronus external vendor agreement] Undisclosed
Synthetic Indirect Prompt Injection from Nemotron Super v3 and Qwen3-Next-80B-A3B-Instruct Text Undisclosed [In-house indirect prompt injection data] [nvidia/nemotron-3-super-v3, qwen/qwen3-next-80b-a3b-instruct]
Synthetic Malicious Code and Agentic Security Text Undisclosed [In-house malicious-code / agentic-security data] Undisclosed
Synthetic Single-Step SWE Patch Selection Text Undisclosed [SWE-Gym Dataset]; [SWE Bench Verified Benchmark] [ground truth and task checks]
Synthetic Natural Language Math Final Answers from Nemotron 5.5 Text Undisclosed [AMC8, AMC10, and AIME problem sets hosted on Art of Problem Solving]; [Pile-StackExchange] [nemotron 5.5]
Synthetic Simple Math Prompts for Token Efficiency Text Undisclosed [In-house simple math prompts] Undisclosed
Synthetic Abstention Data from Nemotron Super v3 (CRAG) Text Undisclosed [CRAG] [nvidia/nvidia/nemotron-3-super-v3]
Synthetic Agentless SWE Text 242,536 [SWE-Rebench-V2]; [SWEbench Training Set]; [R2E-Gym/R2E-Gym-Subset]; [SWE-Gym/SWE-Gym]; [SWE-Rebench] [openai/gpt-oss-120b]
Synthetic Agentless SWE from DeepSeek-R1-0528 Text 209,976 [SWE-Bench-Train]; [SWE-Fixer-Train]; [SWE-reBench]; [SWE-Smith] [deepseek-ai/DeepSeek-R1-0528]
Synthetic Agentic CUDA Traces from GLM-4.7 Text 2,276 [Internal CUDA task data] [GLM-4.7]
Synthetic Math Proofs from DeepSeek-V3.2-Speciale Text 820,772 [Nemotron-Math-Proofs-v1] [SDG: DeepSeek-V3.2-Speciale]; [Filter: proof validation]
Synthetic Multilingual SFT from DeepSeek-V3 Text 1,245,284 [Nano v3 SFT data] [DeepSeek-V3]
Synthetic Agentic Code from gpt-oss-120b Text 109,086 [NVAgenticCLIPrompts-v1]; [NVAgenticSkills-v1]; [NVAgenticCLIMultiTurnPrompts-v1] [openai/gpt-oss-120b]
Synthetic Agentic CLI and Web Skills from gpt-oss-120b Text 27,418 [NVAgenticCLIPrompts-v1]; [NVAgenticSkills-v1]; [NVAgenticCLIMultiTurnPrompts-v1]; [NVAgenticCLIPrompts-Web-v1] [openai/gpt-oss-120b]
Synthetic Agentic Coding from gpt-oss-120b Text 160,531 [NVAgenticCLIPrompts-v1]; [NVAgenticSkills-v1]; [NVAgenticCLIMultiTurnPrompts-v1]; [NVAgenticCLIPrompts-Web-v1] [openai/gpt-oss-120b]
Synthetic OpenCode Agentic Tasks from gpt-oss-120b Text 614,773 [NVAgenticCLIPrompts-v1]; [NVAgenticSkills-v1]; [NVAgenticCLIMultiTurnPrompts-v1]; [NVAgenticCLIPrompts-Web-v1] [openai/gpt-oss-120b]
Synthetic SWE Unverified Text Undisclosed [NVAgenticCLIPrompts-v1]; [NVAgenticSkills-v1]; [NVAgenticCLIMultiTurnPrompts-v1]; [NVAgenticCLIPrompts-Web-v1] [gpt-oss-120b]; [Qwen/Qwen3-Coder-480B-A35B-Instruct]; [GLM-4.7-Flash]
Synthetic ARC-AGI Ultra Data Text 192,016 [ARC-AGI-2]; [arc dataset collection] [ARC-AGI-2]
Synthetic LiveCodeBench TIR from DeepSeek-R1-0528 Text 1,283,398 [Nemotron-X training datasets] [DeepSeek-R1-0528]
Synthetic Verilog and SystemVerilog Code from DeepSeek-R1-0528 and GPT-OSS-120B Text 1,233,247 [Verilog/SystemVerilog seed code] [SDR: DeepSeek R1 0528 and GPT-OSS-120B]; [Filtering: Claude 4 Sonnet]
Synthetic Aider Python Tasks from DeepSeek-R1-0528 Text 236,099 [Exercism (GitHub Python)] [Deepseek R1 0528]
Synthetic Chat Reasoning-Off Data from GLM-5 Text 646,738 [lmarena-ai/repochat-arena-preference-4k user prompts] [Multi-turn conversations generated by GLM-5 with best-of-4 selection via Qwen3-Nemotron-235B-A22B-GenRM]
Synthetic Chat Reasoning-On Data from GLM-5 Text 644,286 [lmarena-ai/repochat-arena-preference-4k user prompts]; [lmarena-ai/arena-expert-5k user prompts]; [lmarena-ai/arena-human-preference-55k user prompts]; [lmarena-ai/arena-human-preference-100k user prompts]; [lmarena-ai/arena-human-preference-140k user prompts] [Multi-turn conversations generated by GLM-5 with best-of-4 selection via Qwen3-Nemotron-235B-A22B-GenRM]
Synthetic Multilingual Safety from Riva-Translate-4B-Instruct-v1.1 Text 132,067 [Safety SFT Data: Ultra] [nvidia/Riva-Translate-4B-Instruct-v1.1]
Synthetic Science Reasoning Effort Medium Text 502,722 [science-reasoning-effort-medium-v0] Undisclosed
Synthetic Telecom Tool-Use Trajectories from gpt-oss-120b Text 12,455 [Existing Tau2 telecom trajectories originally generated with DeepSeek V3.2] [gpt-oss-120b]
Synthetic Terminal Bench Data from OpenReasoningv2 Text Undisclosed [OpenCodeReasoningv2]; [OpenMathReasoning]; [nemo-swe-bench-repos]; [SWE-Rebench]; [SWE-Fixer-110K] [OpenReasoningv2]
Synthetic Tulu Instruction Following from DeepSeek-R1-0528 Text 105,361 [Nemotron-X training datasets] [DeepSeek-R1-0528]
Synthetic Instruction Following from gpt-oss-120b Text 151,988 [IFEval]; [IFEvalG] [gpt-oss-120b]
Synthetic Instruction Following for RL Text Undisclosed [WildChat-1M]; [LMSYS-340B-Eval Dataset]; [LMSYS-Chat-1M Prompts]; [IFEval]; [IFEvalG] [Qwen/Qwen3-235B-A22B-Thinking-2507]; [gpt-oss-120b]; [Qwen3-235B-A22B-Instruct-2507]
Synthetic Identity Data from Qwen3-Next-80B-A3B-Instruct and Qwen3-235B-A22B-Instruct-2507 Text 25,992 [Hand-written prompts] [Qwen3-Next-80B-A3B-Instruct]; [Qwen3-235B-A22B-Instruct-2507]
Synthetic Terminus Ultra Agentic Reasoning Blend Text 96,881 [ARC-AGI-2]; [OpenCodeReasoningv2]; [OpenMathReasoning]; [SWE-Fixer-110K]; [SWE-Rebench]; [SWE-Smith] [DeepSeek-V3.2]; [Qwen3-235B-A22B-Thinking-2507]; [Ring-1T]; [Kimi-K2.5]; [GLM-4.7-FP8]; [Qwen3-Next-80B-A3B-Thinking]; [gpt-oss-120b]; [Ministral-3-14B-Reasoning-2512]; [LM-4.5-Air-FP8]
Synthetic STEM from Qwen3-235B-A22B-Thinking-2507 Text 1,174,694 [IChO-IPhO-RL-v2]; [Physics-Big Dataset]; Scale HLE; [OpenMathReasoning]; [OpenCodeReasoning] [Qwen3-235B-A22B-Thinking-2507]
Synthetic STEM from Qwen3-235B-A22B-Instruct-2507 and gpt-oss-120b Text Undisclosed [arXiv]; [National Institutes of Health ExPorter]; [BioRxiv]; [PMC Article]; [USPTO Backgrounds]; [peS2o]; Global Regulation; [CORE]; [PG-19]; [DOAB CC BY & CC BY-SA subset]; [NDLTD] [Qwen3-235B-A22B-Instruct-2507]; [gpt-oss-120b]
Translation Data from TAUS Text 1,618,055 [TAUS proprietary dataset] Undisclosed
Synthetic Art of Problem Solving and Stack Exchange from gpt-oss-120b, Qwen2.5-32B-Instruct, and Goedel-Prover-V2-32B Text 860,469 [Nemotron-Math-Proofs-v1] [Goedel-Prover-V2-32B]
Synthetic Art of Problem Solving and Stack Exchange from gpt-oss-120b Text 1,201,815 [Upstream released math dataset]; [AoPS]; [StackOverflow / StackExchange] [gpt-oss-120b]
Synthetic Multilingual Science and Code data from DeepSeek-R1, DeepSeek-R1-0528, Qwen2.5-32B-Instruct, and Qwen3-235B-A22B, translated with Qwen2.5-32B-Instruct and Qwen2.5-14B-Instruct Text Undisclosed [Nano-V3 SFT Data (without tool call)] [Qwen/Qwen2.5-14B-Instruct]; [Qwen/Qwen3-4B-Thinking-2507]
Synthetic Multilingual Science and Code data from DeepSeek-R1, DeepSeek-R1-0528, Qwen2.5-32B-Instruct, and Qwen3-235B-A22B, translated with Qwen2.5-32B-Instruct and Qwen2.5-14B-Instruct (Stack Exchange lineage) Text Undisclosed [Stack Exchange]; [SCP-116K]; [LIMO]; [TACO]; Code Contest; Codeforces [DeepSeek-R1]; [DeepSeek-R1-0528]; [Qwen2.5-32B-Instruct]; [Qwen3-235B-A22B]
Synthetic Search Graph Walk Text 6,977 [Wikidata / Wikipedia KnowledgeBase] [MiniMaxAI/MiniMax-M2]
Synthetic Agentic Diverse Domains Text 281,537 [Handwritten prompts (synthetic; no external seed data used)] [SDG model: deepseek-ai/DeepSeek-V3.2, deepseek-ai/DeepSeek-R1-0528, Qwen/Qwen3-235B-A22B-Thinking-2507, Qwen/Qwen3-32B]; [Filtering model: openai/gpt-oss-120b, Qwen/Qwen3-32B, Qwen/Qwen3-235B-A22B-Instruct-2507]
Synthetic Long Context from Qwen3-235B-A22B-Instruct-2507 Text Undisclosed [Long-context SFT seed blend (pre-training blend + nano-v1 post-training data)]; [Long-context SFT data: lc_nothink 256k, MRCR 200k, RULER 256k]; [AALCR seed blend: SEC Filings, CC, Wikipedia, FinePDFs, ArXiv, Pile-NIH ExPorter, BioRxiv, PMC Article, USPTO Backgrounds, peS2o, Global Regulations, CORE, Gutenberg (PG-19), DOAB CC-BY, NDLTD, Amps, StackExchange, MathPile, Numinas] [Qwen/Qwen3-235B-A22B-Thinking-2507]; [deepseek-ai/DeepSeek-R1]; [Qwen3-30B-A3B]
Synthetic Nemotron Math SFT from DeepSeek-V3.2-Speciale Text 1,900,553 [Nemotron-Math-v2 (AOPS and StackExchange-math problems)] [DeepSeek-V3.2-Speciale]
Synthetic Nemotron Math TIR from DeepSeek-V3.2 Text 1,789,258 [Nemotron-Math-v2 (AOPS and StackExchange-math problems)] [DeepSeek-V3.2]
Synthetic NemoCascade OCR Distillation from gpt-oss-120b Text 682,864 [Nemotron-X training datasets] [gpt-oss-120b]
Synthetic CUDA 100k Text 93,086 [KernelBook]; [HuggingFace Transformers]; [FlashInfer] [gpt-oss-120b]; [DeepSeek-R1-0528]
Synthetic Science MCQ and QA Diversity from GPT-OSS and Kimi-K2 Text 30,358 [doubtnut]; [Pile-FreeLaw]; [Llama Nemotron Dataset]; [askfilo]; [EssentialAI/essential-web-v1.0]; [Vedantu]; [auxiliary_train]; [cdquestions.com]; [AMC 8 Problems and Solutions, AMC 10 Problems and Solution, and AIME Problems and Solutions]; [AAPT]; [ICHO-IPH0 Dataset]; [LIMO dataset (Less is More for Reasoning)] [GPT-OSS]; [Kimi-K2]
Synthetic Science HLE with Python from GPT-OSS and Kimi-K2 Text 85,184 [doubtnut]; [Pile-FreeLaw]; [Llama Nemotron Dataset]; [askfilo]; [EssentialAI/essential-web-v1.0]; [Vedantu]; [auxiliary_train]; [cdquestions.com]; [AMC 8 Problems and Solutions, AMC 10 Problems and Solution, and AIME Problems and Solutions]; [AAPT]; [ICHO-IPH0 Dataset]; [LIMO dataset (Less is More for Reasoning)] [GPT-OSS]; [Kimi-K2]
Synthetic Science Search and Python from GPT-OSS and Kimi-K2 Text 6,179 [doubtnut]; [Pile-FreeLaw]; [Llama Nemotron Dataset]; [askfilo]; [EssentialAI/essential-web-v1.0]; [Vedantu]; [auxiliary_train]; [cdquestions.com]; [AMC 8 Problems and Solutions, AMC 10 Problems and Solution, and AIME Problems and Solutions]; [AAPT]; [ICHO-IPH0 Dataset]; [LIMO dataset (Less is More for Reasoning)] [GPT-OSS]; [Kimi-K2]
Synthetic Science Search from GPT-OSS and Kimi-K2 Text 32,554 [doubtnut]; [Pile-FreeLaw]; [Llama Nemotron Dataset]; [askfilo]; [EssentialAI/essential-web-v1.0]; [Vedantu]; [auxiliary_train]; [cdquestions.com]; [AMC 8 Problems and Solutions, AMC 10 Problems and Solution, and AIME Problems and Solutions]; [AAPT]; [ICHO-IPH0 Dataset]; [LIMO dataset (Less is More for Reasoning)] [GPT-OSS]; [Kimi-K2]
Synthetic Finance Reasoning from GPT-OSS-120B and Qwen3-235B-A22B-Instruct-2507 Text 326,700 [SEC filings] [GPT-OSS-120B, Qwen3-235B-A22B-Instruct-2507]
Synthetic Science Diversity MCQ from GPT-OSS and Kimi-K2 Text 532,942 [doubtnut]; [Pile-FreeLaw]; [Llama Nemotron Dataset]; [askfilo]; [EssentialAI/essential-web-v1.0]; [Vedantu]; [auxiliary_train]; [cdquestions.com]; [AMC 8 Problems and Solutions, AMC 10 Problems and Solution, and AIME Problems and Solutions]; [AAPT]; [ICHO-IPH0 Dataset]; [LIMO dataset (Less is More for Reasoning)] [GPT-OSS]; [Kimi-K2]
Synthetic Science Diversity OpenQ from GPT-OSS and Kimi-K2 Text 131,045 [doubtnut]; [Pile-FreeLaw]; [Llama Nemotron Dataset]; [askfilo]; [EssentialAI/essential-web-v1.0]; [Vedantu]; [auxiliary_train]; [cdquestions.com]; [AMC 8 Problems and Solutions, AMC 10 Problems and Solution, and AIME Problems and Solutions]; [AAPT]; [ICHO-IPH0 Dataset]; [LIMO dataset (Less is More for Reasoning)] [GPT-OSS]; [Kimi-K2]
Synthetic Science Reasoning No-Tool from GPT-OSS and Kimi-K2 Text 2,085,600 [doubtnut]; [Pile-FreeLaw]; [Llama Nemotron Dataset]; [askfilo]; [EssentialAI/essential-web-v1.0]; [Vedantu]; [auxiliary_train]; [cdquestions.com]; [AMC 8 Problems and Solutions, AMC 10 Problems and Solution, and AIME Problems and Solutions]; [AAPT]; [ICHO-IPH0 Dataset]; [LIMO dataset (Less is More for Reasoning)] [GPT-OSS]; [Kimi-K2]
Synthetic Text-To-SQL from gpt-oss-120b Text Undisclosed [In-house Text-to-SQL data] [gpt-oss-120b]
Synthetic Tool Call Schema for RL (extended) Text 707,967 [UltraTool]; [ToolEyes]; [AutoTools]; [API-Bank]; [Nemotron-Personas-USA]; [Salesforce xLAM function-calling]; [Glaive function-calling-v2]; [Agent-Ark/Toucan-1.5M] [DeepSeek-V3.2]; [GLM-4.6]; [gpt-oss-120b]; [Kimi-K2-Instruct]
Synthetic Safety from gemma-3-4b-it, Nemotron-Nano-9B-v2, and gpt-oss-120b Text 44,091 [Safety SFT Data] [google/gemma-3-4b-it]; [Nemotron-Nano-9B-v2]; [gpt-oss-120b]
Synthetic Safety from DeepSeek-R1-0528, gpt-oss-120b, DeepSeek-R1-Distill-Qwen-7B, and Mixtral-8x7B-v0.1 Text Undisclosed [Nemotron Content Safety Dataset V2]; [Gretel Synthetic Safety Alignment Dataset]; [RedTeam-2K]; [Malicious Tasks]; [Nemotron-Personas-USA] [DeepSeek-R1-0528]; [gpt-oss-120b]; [DeepSeek-R1-Distill-Qwen-7B]; [Qwen3-30B-A3B-Thinking-2507]; [Qwen3-235B-A22B-Instruct-2507]; [Mixtral-8x7B-v0.1]
Synthetic Tool Calling from Qwen3-235B-A22B-Thinking-2507 and Qwen3-Next-80B-A3B-Thinking Text Undisclosed [ToolBench]; [glaive-function-calling-v2]; [APIGen Function-Calling]; [Nemotron-Personas-USA] [Qwen3-235B-A22B-Thinking-2507]; [Qwen3-Next-80B-A3B-Thinking]
Synthetic Chat from gpt-oss-120b, Mixtral-8x22B-Instruct-v0.1, Qwen3-235B-A22B-Instruct-2507, and Qwen3-235B-A22B-Thinking-2507 Text Undisclosed [C4]; [LMSYS-Chat-1M]; [ShareGPT]; [GSM8K]; [PRM800K]; [FinQA]; [WikiTableQuestions]; [Riddles]; [glaive-function-calling-v2]; [SciBench]; [tigerbot-kaggle-leetcodesolutions-en-2k]; [OpenBookQA]; [Advanced Reasoning Benchmark]; Software Heritage; [Khan Academy Math Keywords]; [WildChat-1M]; [Nemotron-Personas-USA] [gpt-oss-120b]; [Mixtral-8x22B-Instruct-v0.1]; [Qwen3-235B-A22B-Instruct-2507]; [Qwen3-235B-A22B-Thinking-2507]
Synthetic Tool Use Interactive Agent from gpt-oss-120b, DeepSeek-R1-0528, Qwen3-32B, and Qwen3-235B-A22B-Thinking-2507 Text Undisclosed NVIDIA Internal [gpt-oss-120b]; [DeepSeek-R1-0528]; [Qwen3-32B]; [Qwen3-235B-A22B-Thinking-2507]
Synthetic DocFinQA and SWE-smith from Qwen3-Coder-480B-A35B-Instruct and Kimi-K2-Thinking Text Undisclosed [DocFinQA]; [SWE-smith] [Qwen3-Coder-480B-A35B-Instruct]; [Kimi-K2-Thinking]
Synthetic SWE-Gym from Qwen3-Coder-480B-A35B-Instruct Text Undisclosed [SWE-Gym] [Qwen3-Coder-480B-A35B-Instruct]
Synthetic SWE-Gym and R2E-Gym-Subset from Qwen3-Coder-480B-A35B-Instruct Text Undisclosed [SWE-Gym]; [R2E-Gym-Subset] [Qwen3-Coder-480B-A35B-Instruct]
Synthetic SWE-Gym and R2E-Gym-Subset from DeepSeek-R1-0528 Text Undisclosed [SWE-Gym]; [R2E-Gym-Subset] [DeepSeek-R1-0528]
Synthetic HelpSteer, LMSYS-Chat-1M, and Nemotron-Personas-USA from gpt-oss-120b, Qwen3-235B-A22B-Instruct-2507, and Qwen3-235B-A22B-Thinking-2507 Text Undisclosed [HelpSteer2]; [HelpSteer3]; [LMSYS-Chat-1M]; [Nemotron-Personas-USA] [gpt-oss-120b]; [Qwen3-235B-A22B-Instruct-2507]; [Qwen3-235B-A22B-Thinking-2507]
Synthetic Nemotron-Personas-USA from gpt-oss-120b and Qwen3-8B Text Undisclosed [Nemotron-Personas-USA] [gpt-oss-120b]; [Qwen3-8B]
Vendor Terminal Bench-like Tasks (Droid) Text Undisclosed [Droid Harness Pivot vendor data] Undisclosed

Language Distribution in Post-Training

For our post-training recipe, we focused on the following languages in addition to English: French, German, Italian, Japanese, Spanish, and Chinese. Those languages were represented in the form of multilingual reasoning and translation tasks.

Testing Datasets

Data Collection Method by dataset

  • Hybrid: Automated, Manually-Collected, Synthetic

Labeling Method by dataset

  • Hybrid: Automated, Manually-Labeled, Synthetic

Properties: This corpus comprises a mix of high-quality standard benchmarks and test suites for modern agentic AI. These benchmarks test model capabilities on tasks such as tool-calling and instruction following.

Evaluation Datasets

Data Collection Method by dataset

  • Hybrid: Automated, Manually-Collected, Synthetic

Labeling Method by dataset

  • Hybrid: Automated, Manually-Labeled, Synthetic

Properties: This corpus comprises a mix of high-quality standard benchmarks and test suites for modern agentic AI. These benchmarks test model capabilities on tasks such as tool-calling and instruction following.

Inference

  • Acceleration Engine: PyTorch
  • Test Hardware:
    • NVIDIA Hopper
      • 1-8x H100
      • 1-8x H200
    • NVIDIA Blackwell
      • GB200
      • GeForce RTX 5090
      • DGX Spark
      • RTX Spark
    • NVIDIA Jetson
      • Jetson Orin
      • Jetson Thor

Ethical Considerations

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. 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.

We advise against circumvention of any provided safety guardrails contained in the Model without a substantially similar guardrail appropriate for your use case. For more details: Safety and Explainability Subcards.

For more detailed information on ethical considerations for this model, please see the Model Card++ Bias, Explainability, Safety & Security, and Privacy Subcards.

Please report model quality, risk, security vulnerabilities or NVIDIA AI Concerns here.

Downloads last month
4,185
Safetensors
Model size
8B params
Tensor type
BF16
·
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for nvidia/NVIDIA-Nemotron-3.5-Bolt-E4B-BF16

Finetuned
(435)
this model
Adapters
2 models
Finetunes
10 models
Quantizations
38 models

Collection including nvidia/NVIDIA-Nemotron-3.5-Bolt-E4B-BF16

Paper for nvidia/NVIDIA-Nemotron-3.5-Bolt-E4B-BF16