HuggingFace镜像/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-NVFP4
模型介绍文件和版本分析
下载使用量0

概览

总参数310亿(Mamba2-Transformer混合MoE)
激活参数每token约30亿
最大上下文256k tokens
输入模态视频、音频、图像、文本
输出模态文本
推理模式默认开启;可通过enable_thinking切换
最适场景视频+语音分析、文档智能(OCR/图表/长文档)、GUI/智能体工作流、语音识别(ASR)
最低GPU要求(BF16)1× H100 80GB(单GPU);推荐1× B200 / 1× H200
最低GPU要求(FP8)1× L40S 48GB;推荐1× RTX Pro 6000 / 1× B200
最低GPU要求(NVFP4)1× RTX 5090 32GB;同时支持1× DGX Spark / 1× Jetson Thor
精度版本BF16(62 GB)· FP8(33 GB)· NVFP4(21 GB)

快速开始指南

模型参数

模式temperaturetop_ptop_kmax_tokensreasoning_budgetgrace_period
思考模式0.60.95—20480163841024
指令模式0.2—11024——

模型概述

描述:

NVIDIA Nemotron 3 Nano Omni是一款多模态大型语言模型,它将视频、音频、图像和文本理解能力融为一体,以支持企业级问答、摘要、转录和文档智能工作流。该模型扩展了Nemotron Nano系列,集成了视频+语音理解、图形用户界面(GUI)、光学字符识别(OCR)和语音转录功能,能够对丰富的企业内容(如会议录制、媒体娱乐资产、培训视频和复杂业务文档)进行端到端处理。NVIDIA Nemotron 3 Nano Omni由NVIDIA开发,是Nemotron模型家族的一部分。

本模型可用于商业用途。

本模型在Qwen3-VL-30B-A3B-Instruct、Qwen3.5-122B-A10B、Qwen3.5-397B-A17B、Qwen2.5-VL-72B-Instruct和gpt-oss-120b的基础上进行了改进。欲了解更多信息,请参见下文的训练数据集部分。

许可协议/使用条款

管辖条款:本模型的使用受《NVIDIA 开放模型协议》管辖

部署地区:

全球

用例:

本模型专为需要多模态理解能力的企业客户设计。预期用户包括:

  • 客户服务应用(例如,通过 OCR 识别 Doordash 配送地址的视频、得来速订单验证)
  • 媒体与娱乐(M&E)——视频和语音分析、密集字幕生成、视频搜索与摘要
  • AI 助手的文档智能(合同、SOW/MSA、科学发现、财务文档)
  • AI 智能体应用的 GUI 自动化(事件管理、智能体搜索、浏览器智能体、邮件智能体)

发布日期:

Build.Nvidia.com 2026年4月28日,通过URL
Hugging Face 2026年4月28日,通过:

  • BF16
  • FP8
  • NVFP4

NGC 2026年4月28日,通过URL

模型架构:

架构类型: Mamba2-Transformer 混合专家模型(MoE)

网络架构:

  • Nemotron 3 Nano LLM (30B A3B)——310亿参数的 Mamba2-Transformer 混合 MoE 主干网络,每个 token 约有30亿活跃参数。
  • CRADIO v4-H——用于图像和视频帧的视觉编码器。
  • Parakeet——用于音频输入的语音编码器。

模型参数数量: 3.1 x 10^10(31B A3B)

输入:

输入类型: 视频、音频、图像、文本

输入格式:

  • 视频:mp4 格式,最长 2 分钟。对于 1080p 视频,采样率最高为 1 FPS / 128 帧。对于 720p 等较低分辨率视频,可采用更高的时间采样率,如 2 FPS / 256 帧。
  • 音频:wav、mp3 文件(最长 1 小时),采样率 8kHz 及以上
  • 图像:红、绿、蓝(RGB)(jpeg、png 格式)
  • 文本:字符串

输入参数:

  • 视频:三维(3D)
  • 音频:一维(1D)
  • 图像:二维(2D)
  • 文本:一维(1D)

其他与输入相关的属性:

  • 最大上下文长度可达 256k 个 token
  • 语言支持:仅英语

输出:

输出类型: 文本

输出格式:

  • 文本:字符串

输出参数:

  • 文本:一维(1D)

其他与输出相关的属性:

  • 最大上下文长度可达 256k 个 token。
  • 支持 JSON 输出格式
  • 支持带思维链的推理输出
  • 支持工具调用
  • 支持转录的词级时间戳

我们的 AI 模型旨在和/或优化为在 NVIDIA GPU 加速系统上运行。通过利用 NVIDIA 的硬件(例如 GPU 核心)和软件框架(例如 CUDA 库),与仅使用 CPU 的解决方案相比,该模型实现了更快的训练和推理时间。

软件集成:

运行时引擎:

  • vLLM
  • NeMo
  • Megatron
  • NeMo-RL

支持的硬件微架构兼容性:

  • NVIDIA Ampere(A100 80GB SXM/NVLink)
  • NVIDIA Blackwell(B200 SXM/NVLink、RTX Pro 6000 SE、DGX Spark、Jetson Thor、RTX 5090)
  • NVIDIA Hopper(H100 SXM/NVLink、H200 SXM/NVLink)
  • NVIDIA Lovelace(L40S)

首选/支持的操作系统:

  • Linux

推理运行时:

  • vLLM
  • TensorRT LLM
  • TensorRT Edge-LLM
  • llama.cpp
  • Ollama
  • SGLang

将基础模型和微调模型集成到 AI 系统中,需要使用特定用例的数据进行额外测试,以确保安全有效的部署。遵循 V 模型方法论,在单元和系统层面进行迭代测试和验证,对于在部署前降低风险、满足技术和功能要求以及确保符合安全和道德标准至关重要。

此 AI 模型可作为应用程序编程接口(API)调用嵌入到上述软件环境中。

模型版本:

Nemotron-3-Nano-Omni-30B-A3B-Reasoning


下载模型权重

精度技术名称HuggingFace 链接
BF16Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16https://huggingface.co/nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16
FP8Nemotron-3-Nano-Omni-30B-A3B-Reasoning-FP8https://huggingface.co/nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-FP8
NVFP4Nemotron-3-Nano-Omni-30B-A3B-Reasoning-NVFP4https://huggingface.co/nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-NVFP4

安装 HuggingFace CLI

pip install -U "huggingface_hub[hf_xet]"
 
# Log in once; the token is cached at ~/.cache/huggingface/token
hf auth login
 
# Sanity check: should print your username and orgs
hf auth whoami

vLLM

所需版本: 需要 vLLM 0.20.0。这意味着可以使用以下容器之一:

  • CUDA 13.0: 'vllm/vllm-openai:v0.20.0'
  • CUDA 12.9: 'vllm/vllm-openai:v0.20.0-cu129'

容器

docker pull vllm/vllm-openai:v0.20.0

音频支持: 在 vLLM 容器内,运行 vllm serve 之前,如果要使用任何音频(包括传递 use_audio_in_video: true):

python3 -m pip install "vllm[audio]"

通用调用(1×GPU,例如 1×B200)

# vllm serve nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16 \
# vllm serve nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-FP8 \
vllm serve nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-NVFP4 \
  --host 0.0.0.0 \
  --max-model-len 131072 \
  --tensor-parallel-size 1 \
  --trust-remote-code \
  --video-pruning-rate 0.5 \
  --max-num-seqs 384 \
  --allowed-local-media-path / \
  --media-io-kwargs '{"video": {"fps": 2, "num_frames": 256}}' \
  --reasoning-parser nemotron_v3 \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder \
  --kv-cache-dtype fp8 # Omit this for BF16

高效视频采样:video-pruning-rate=0.5 可减少 50% 的冗余视频 tokens;将视频预填充 VRAM/TTFT 减少一半。

平台特定说明

RTX Pro: 由于当前 FlashInfer 与 RTX Pro 存在兼容性问题,请添加参数:--moe-backend triton

在 DGX Spark(aarch64 / ARM64)上运行 vLLM

关于未涵盖的内容(如 API 示例、推理模式、视频调优),请遵循通用说明。

1. 拉取容器镜像

使用上游多架构 vLLM v0.20.0 容器镜像。Docker 会自动拉取 arm64 版本。

docker pull vllm/vllm-openai:v0.20.0
2. 在 Spark 上启动 vLLM 服务器
WEIGHTS=/path/to/nemotron-3-nano-omni-weights

# The image does not include audio packages so we need to install them with "pip install vllm[audio]" as done in the command below
docker run --rm -it \
  --gpus all \
  --ipc=host -p 8000:8000 \
  --shm-size=16g \
  --name vllm-nemotron-omni \
  -v "${WEIGHTS}:/model:ro" \
  --entrypoint /bin/bash \
  vllm/vllm-openai:v0.20.0 -c  \
  "pip install vllm[audio] && vllm serve /model \
  --served-model-name=nemotron_3_nano_omni \
  --max-num-seqs 8 \
  --max-model-len 131072 \
  --port 8000 \
  --trust-remote-code \
  --gpu-memory-utilization 0.8 \
  --limit-mm-per-prompt '{\"video\": 1, \"image\": 1, \"audio\": 1}' \
  --media-io-kwargs '{\"video\": {\"fps\": 2,  \"num_frames\": 256}}' \
  --allowed-local-media-path=/ \
  --enable-prefix-caching \
  --max-num-batched-tokens 32768 \
  --reasoning-parser nemotron_v3 \
  --enable-auto-tool-choice \
  --tool-call-parser qwen3_coder"

在另一个终端中,验证服务器是否已准备就绪:

curl -sS http://localhost:8000/v1/models | python3 -m json.tool
特定于 Spark 的关键标志
标志用途Spark 说明
--gpus all选择 GPUSpark 配备一张 GB10 GPU;all 等同于 device=0
--max-model-len最大上下文窗口初始设为 131072;若遇到内存不足(OOM),可减小该值(详见下文内存调优)
Spark 上的内存调优

Spark 采用统一 LPDDR5X 内存(约 128 GB,CPU 与 GPU 共享),而非独立的系统内存与显存池。以下是两个调优手段,按影响程度排序:

  1. 降低 --gpu-memory-utilization:从 0.85 降至 0.70,可释放约 19 GB 内存回操作系统,并重新启用权重预取。代价:KV 缓存预算减小。
  2. 降低 --max-model-len:减少 KV 缓存分配(例如,在 --max-num-seqs=1 时,上下文窗口减半,KV 缓存也随之减半)。 组合覆盖设置:
  --gpu-memory-utilization=0.70 \
  --max-model-len=32768 \

TensorRT-LLM

该模型也可通过 TensorRT-LLM 进行部署,相关说明请参见此处。

平台特定说明

TensorRT Edge-LLM

该模型还可在 NVIDIA Jetson Thor 上通过 TensorRT Edge-LLM 进行部署,详情请参见 Jetson AI Lab 模型页面 和 TensorRT Edge-LLM 快速入门指南。


SGLang

SGLang 支持该模型的 BF16 变体,并提供以下镜像:

  • CUDA 13.0: lmsysorg/sglang:dev-cu13-nemotronh-nano-omni-reasoning-v3
  • CUDA 12.9: lmsysorg/sglang:dev-nemotronh-nano-omni-reasoning-v3

必须先安装 librosa: pip install librosa --break-system-packages

启动服务: sglang serve --model-path nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16 --trust-remote-code

[!NOTE] 即将支持 NVFP4 和 FP8。

平台特定说明

DGX Spark 上的 SGLang(aarch64 / ARM64)

有关 API 示例、推理模式、视频调优等未在此处涵盖的内容,请遵循通用说明。

1. 拉取容器镜像

使用上述链接的上游多架构 CUDA 13.0 Docker 镜像。Docker 会自动拉取 arm64 变体。

docker pull lmsysorg/sglang:dev-cu13-nemotronh-nano-omni-reasoning-v3
2. 在 Spark 上启动 SGLang 服务器
WEIGHTS=/path/to/nemotron-3-nano-omni-weights

# The image does not include audio packages so we need to install them with "pip install librosa" as done in the command below
docker run --gpus all -it --rm \
  -p 30000:30000 \
  -v "${WEIGHTS}:/model:ro" \
  --shm-size 16g \
  lmsysorg/sglang:dev-cu13-nemotronh-nano-omni-reasoning-v3 \
  bash -c "pip install librosa && python3 -m sglang.launch_server --model-path /model \
  --host 0.0.0.0 \
  --port 30000 \
  --trust-remote-code \
  --mem-fraction-static 0.8 \
  --max-running-requests 8 \
  --tool-call-parser qwen3_coder \
  --reasoning-parser nemotron_3"

在另一个终端中,验证服务器是否准备就绪:

curl -sS http://localhost:30000/v1/models | python3 -m json.tool
特定于 Spark 的关键标志
标志用途Spark 说明
--gpus all选择 GPUSpark 配备一张 GB10 GPU;all 等同于 device=0
--context-length最大上下文窗口从默认值开始;如果遇到 OOM(内存不足),请减小该值(参见下文的内存调优)
Spark 上的内存调优

Spark 使用统一的 LPDDR5X 内存(约 128 GB,在 CPU 和 GPU 之间共享),而非独立的系统内存 + 显存池。以下是两个调优手段,按影响程度排序:

  1. 降低 --mem-fraction-static,从 0.80 降至 0.70,可释放约 13 GB 内存返回给操作系统,并重新启用权重预取。代价:KV 缓存预算减小。
  2. 降低 --context-length,以减少 KV 缓存分配(例如,在 --max-running-requests=1 时,将上下文窗口减半,KV 缓存也会减半)。 组合覆盖配置:
  --mem-fraction-static=0.70 \
  --context-length=32768 \

API 客户端(兼容 OpenAI)

from openai import OpenAI
client = OpenAI(base_url="http://localhost:8000/v1", api_key="")
MODEL = "nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-NVFP4"

图片示例

import base64
 
def image_to_data_url(path: str) -> str:
    with open(path, "rb") as f:
        b64 = base64.b64encode(f.read()).decode("utf-8")
    return f"data:image/jpeg;base64,{b64}"
 
image_url = image_to_data_url("media/example1a.jpeg")
 
response = client.chat.completions.create(
    model=MODEL,
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "text", "text": "Describe this image in detail."},
                {"type": "image_url", "image_url": {"url": image_url}},
            ],
        }
    ],
    max_tokens=1024,
    temperature=0.2,
    extra_body={"top_k": 1, "chat_template_kwargs": {"enable_thinking": False}},
)
print(response.choices[0].message.content)

音频示例

from pathlib import Path
 
audio_url = Path("media/2414-165385-0000.wav").resolve().as_uri()
 
response = client.chat.completions.create(
    model=MODEL,
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "audio_url", "audio_url": {"url": audio_url}},
                {"type": "text", "text": "Transcribe this audio."},
            ],
        }
    ],
    max_tokens=1024,
    temperature=0.2,
    extra_body={"top_k": 1, "chat_template_kwargs": {"enable_thinking": False}},
)
print(response.choices[0].message.content)

视频示例

from pathlib import Path
 
video_url = Path("media/demo.mp4").resolve().as_uri()
reasoning_budget = 16384
grace_period = 1024
 
response = client.chat.completions.create(
    model=MODEL,
    messages=[
        {
            "role": "user",
            "content": [
                {"type": "video_url", "video_url": {"url": video_url}},
                {"type": "text", "text": "Describe this video."},
            ],
        }
    ],
    max_tokens=20480,
    temperature=0.6,
    top_p=0.95,
    extra_body={
        "thinking_token_budget": reasoning_budget + grace_period,
        "chat_template_kwargs": {
            "enable_thinking": True,
            "reasoning_budget": reasoning_budget,
        },
        "mm_processor_kwargs": {"use_audio_in_video": False},
    },
)
print(response.choices[0].message.content)

文本示例(curl)

curl -sS http://localhost:8000/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{"model":"nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-NVFP4","messages":[{"role":"user","content":"Hello, what can you do?"}],"temperature":0.2,"top_k":1}' \
  | python3 -c "import sys,json; print(json.load(sys.stdin)['choices'][0]['message']['content'])"

PDF 示例(通过 Python 逐页处理)

API 接受的是图片,而非原始 PDF 文件。以下脚本会将每一页渲染为 PNG 格式并以 base64 编码形式发送。请将其保存为**pdf_vlm_chat.py**,并安装依赖:pip install pymupdf pillow requests。

pdf_vlm_chat.py(点击展开)
#!/usr/bin/env python3
"""Send PDF page(s) as images to a vLLM /v1/chat/completions endpoint."""
from __future__ import annotations
 
import argparse, base64, sys
from io import BytesIO
from pathlib import Path
 
import requests
 
try:
    import fitz
    from PIL import Image
except ImportError:
    print("Install: pip install pymupdf pillow requests", file=sys.stderr)
    sys.exit(1)
 
USER_PROMPT = (
    "Summarize this PDF page: main topic, section headings, important facts "
    "or bullets, and a brief note on each figure or table. "
    "Do not invent text you cannot read."
)
API_URL = "http://localhost:8000/v1/chat/completions"
MODEL = "nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-NVFP4"
MAX_TOKENS = 32000
DPI = 150
 
 
def page_to_b64(pdf_path: str, idx: int) -> str:
    doc = fitz.open(pdf_path)
    z = DPI / 72.0
    pix = doc.load_page(idx).get_pixmap(matrix=fitz.Matrix(z, z))
    img = Image.frombytes("RGB", [pix.width, pix.height], pix.samples)
    doc.close()
    buf = BytesIO()
    img.save(buf, format="PNG")
    return base64.b64encode(buf.getvalue()).decode("ascii")
 
 
def chat(url, model, b64, text, max_tokens):
    r = requests.post(url, json={
        "model": model,
        "messages": [{"role": "user", "content": [
            {"type": "text", "text": text},
            {"type": "image_url", "image_url": {"url": f"data:image/png;base64,{b64}"}},
        ]}],
        "max_tokens": max_tokens,
        "stream": False,
        "temperature": 0.2,
        "chat_template_kwargs": {"enable_thinking": False},
    }, timeout=120)
    r.raise_for_status()
    return r.json()["choices"][0]["message"]["content"]
 
 
def main():
    p = argparse.ArgumentParser()
    p.add_argument("pdf")
    p.add_argument("--page", type=int, default=0)
    p.add_argument("--all-pages", action="store_true")
    p.add_argument("-o", "--output")
    p.add_argument("--url", default=API_URL)
    p.add_argument("--model", default=MODEL)
    p.add_argument("--max-tokens", type=int, default=MAX_TOKENS)
    a = p.parse_args()
 
    doc = fitz.open(a.pdf); n = len(doc); doc.close()
    pages = range(n) if a.all_pages else [a.page]
    parts = [f"# Extracted: {Path(a.pdf).name}\n\n*Pages: {n}*\n"] if a.all_pages else []
 
    for i in pages:
        print(f"Page {i+1}/{n} ...", file=sys.stderr)
        b64 = page_to_b64(a.pdf, i)
        text = chat(a.url, a.model, b64, f"Page {i+1}.\n\n{USER_PROMPT}", a.max_tokens)
        parts.append(f"\n---\n\n## Page {i+1}\n\n{text.strip()}\n" if a.all_pages else text.strip())
 
    out = "\n".join(parts)
    if a.output:
        Path(a.output).write_text(out + "\n", encoding="utf-8")
    else:
        print(out)
 
if __name__ == "__main__":
    main()

单页:

python3 pdf_vlm_chat.py /path/to/your_document.pdf --page 0

所有页面转换为markdown格式:

python3 pdf_vlm_chat.py /path/to/your_document.pdf --all-pages -o extracted.md

编辑脚本中的USER_PROMPT以适应不同任务(如详细提取、表格解析等)。


推理模式(enable_thinking)

设置行为
默认(省略)推理开启。模型在最终答案前生成思维链,可在content中查看。
"chat_template_kwargs": {"enable_thinking": false}推理关闭。content中仅显示最终答案。

要在请求中禁用推理,请在JSON主体中添加:

"chat_template_kwargs": {"enable_thinking": false}

在 Python heredoc 模式中,请使用 False(Python 布尔值),而非 false(无效的 Python 语法)。

对于涉及推理和复杂理解的任务,我们建议使用思考模式。对于视频、音频和全模态使用场景,建议同时尝试启用和禁用思考模式,以获得最佳结果。


高级:预算控制推理
from typing import Any, Dict, List

from openai import OpenAI
from transformers import AutoTokenizer


class ThinkingBudgetClient:
    def __init__(self, base_url: str, api_key: str, tokenizer_name_or_path: str):
        self.tokenizer = AutoTokenizer.from_pretrained(
            tokenizer_name_or_path, trust_remote_code=True
        )
        self.client = OpenAI(base_url=base_url, api_key=api_key)

    def chat_completion(
        self,
        model: str,
        messages: List[Dict[str, Any]],
        reasoning_budget: int = 512,
        max_tokens: int = 1024,
        **kwargs,
    ) -> Dict[str, Any]:
        assert max_tokens > reasoning_budget, (
            f"reasoning_budget must be less than max_tokens. "
            f"Got {max_tokens=} and {reasoning_budget=}"
        )

        # Step 1: generate only the reasoning trace up to the requested budget.
        response = self.client.chat.completions.create(
            model=model,
            messages=messages,
            max_tokens=reasoning_budget,
            extra_body={
                "top_k": 1,
                "chat_template_kwargs": {
                    "enable_thinking": True,
                },
            },
            **kwargs,
        )
        reasoning_content = response.choices[0].message.content or ""
        if "</think>" not in reasoning_content:
            print("No </think> found in reasoning content")
            reasoning_content = f"{reasoning_content}</think>\n\n"

        reasoning_tokens_len = len(
            self.tokenizer.encode(reasoning_content, add_special_tokens=False)
        )
        remaining_tokens = max_tokens - reasoning_tokens_len
        assert remaining_tokens > 0, (
            f"No tokens remaining for response ({remaining_tokens=}). "
            "Increase max_tokens or lower reasoning_budget."
        )

        # Step 2: continue from the closed reasoning trace and ask for the final answer.
        continued_messages = messages + [
            {"role": "assistant", "content": reasoning_content}
        ]
        prompt = self.tokenizer.apply_chat_template(
            continued_messages,
            tokenize=False,
            continue_final_message=True,
        )
        response = self.client.completions.create(
            model=model,
            prompt=prompt,
            max_tokens=remaining_tokens,
            extra_body={"top_k": 1},
            **kwargs,
        )

        return {
            "reasoning_content": reasoning_content.strip(),
            "content": response.choices[0].text,
            "finish_reason": response.choices[0].finish_reason,
        }

视频调优

帧采样(--media-io-kwargs)

若未进行明确设置,vLLM 可能会默认对每个视频采用约 32 帧,而不考虑视频长度。请务必在服务器启动时设置 --media-io-kwargs(已包含在上述通用调用命令中):

--media-io-kwargs '{"video": {"fps": 2, "num_frames": 256}}'

推荐的 num_frames 范围(在 fps=2 时):

GPU 内存推荐的 num_frames 范围
80 GB (A100/H100)128–512
≤40 GB64–256

较高的值会改善时间覆盖范围,但会增加显存占用和预填充时间。建议从范围的下限开始,然后根据您的工作负载和延迟预算逐步增加。


注意事项

  1. 推理默认设置: 推理默认开启。如果您省略 chat_template_kwargs,模型将在 content 中生成思维链轨迹。这适用于文本和图像输入。
  2. 视频帧采样: 默认值(约 32 帧)对于大多数真实视频而言过于保守。在服务器启动时设置 --media-io-kwargs。
  3. PDF 输入格式: API 不接受原始 PDF 上传。请将页面渲染为 PNG 并以 base64 格式发送(参见上文的 PDF 示例)。
  4. max_tokens 与 --max-model-len: 请求中的 max_tokens 仅限制补全内容(生成的输出)。它不能超过服务器的 --max-model-len,后者是提示词 + 补全内容总和的硬性上限。如果需要更长的输出,请增加服务器标志。

Jetson 部署

对于 Jetson 部署,支持 vLLM、SGLang、Ollama、llama.cpp 和 TensorRT Edge-LLM 作为推理框架;有关更多详细信息,请参见 Jetson AI Lab 模型页面。

TensorRT Edge-LLM 仅支持 Jetson Thor;Jetson 不支持 TensorRT-LLM。


训练、测试和评估数据集:

数据集概述

总大小: 354,587,705 个数据点(约 717.0B tokens)
数据集总数: 1395 个数据集条目

数据集划分: 训练 [100%],测试 [不适用 — 评估基准单独使用],验证 [不适用 — 评估基准单独使用]
训练数据收集时间段: 2019–2025
测试数据收集时间段: 不适用(标准公共基准)
验证数据收集时间段: 不适用(标准公共基准)

数据集描述

Nemotron-Omni 将我们的承诺从文本扩展到多模态,在文本、音频、图像和视频领域提供同等水平的开放性。

适配器和编码器训练规模:跨混合模态(包括文本+图像、文本+视频、文本+音频以及文本+视频+音频)的约 1270 亿个标记——这反映了现实世界中的情境化交互,而非单一模态数据。

面向现实世界任务的后训练:跨多模态组合(文本+音频、文本+图像、文本+视频以及文本+视频+音频)的约 1.24 亿个精选示例,其结构旨在支持文档推理、计算机使用和长期工作流。

用于智能体训练的强化学习环境:涵盖 25 个环境的 20 个强化学习数据集,涉及 5 项新的多模态任务——视觉定位、图表与文档理解、视觉关键型 STEM 问题、视频理解以及自动语音识别——将 Nemotron 的强化学习管道从文本扩展到视觉和音频领域。

模态细分:

模态数据集条目样本数估计标记数(百万)
text+audio220259,178,821143,533.1
text+image75070,143,901180,347.1
text+video24115,837,673239,631.5
text+video+audio1558,720,044152,499.2
text12707,187958.4
总计1395354,587,705716,969.2

Nemotron-Omni 的训练数据来源于多种音频、图像、视频和文本数据集的集合。原始数据集首先被转换为标准化的 JSONL 格式,并采用统一的对话轮次结构。音频数据在需要时被重采样至 16 kHz。图像和视频数据集与问答注释配对,这些注释通常使用大型视觉语言模型进行重新生成或优化,以提高质量和一致性。通过基于模型的评判器进行质量过滤,以移除低质量、不安全或偏离主题的样本。对所有图像数据集进行了重复数据删除和儿童性虐待材料(CSAM)扫描。然后,数据被打包成固定长度的序列(32k、128k 或 256k 标记),以便进行高效训练。

在整个数据处理流程中实施了多项安全措施。所有图像/文本数据集都经过了儿童性虐待材料(CSAM)扫描,并按数据集跟踪结果。使用两个独立的安全评判模型进行内容安全过滤,以标记和移除包含有害内容的样本,这些有害内容包括武器相关内容、犯罪策划、涉及未成年人的性内容、骚扰、仇恨言论、亵渎语言、威胁、暴力或自杀相关内容。合成数据生成管道包含明确的质量和安全过滤阶段。应用了身份修复处理,以纠正生成响应中可能存在的偏见。多阶段处理流程(原始 → 清洗 → 清洗+安全 → 清洗+安全+保留)确保了数据的逐步优化,每个阶段都会移除更多有问题的内容。

我们以基础模型为基础,在其之上应用了额外的训练、增强和优化。

公开数据集

数据集样本数公开占比tokens(百万)模态
MiraData28,252,30755.53%14,181.3文本+音频+视频
laion-disco-12M7,507,57414.7%22,691.0文本+音频
YouTube Video2,057,0004.0%15,390文本+视频
YouTube Video and Audio1,164,0002.2%18,730文本+视频+音频

私有数据集

数据集样本数私有占比tokens(百万)模态
Granary23,370,2748.0%1,471.7文本+音频
SIFT-50M22,837,5007.8%5,241.7文本+音频

自有合成数据

  • 总体规模:跨模态共 41,502,625 个样本,包括:文本+音频、文本+图像、文本+视频

  • 合成数据生成方法说明:

合成数据生成(SDG)用于提升数据质量、生成推理轨迹、重新标注以及扩充现有数据集。所采用的方法包括:利用视觉-语言模型对图像和音频进行重新描述、从现有媒体生成问答对、为复杂任务生成思考/推理链、对提示词进行改写以增加多样性,以及应用基于模型的质量过滤。

NVIDIA 来源的合成数据集

数据集模态数量使用模型
GroundCUA文本+图像2,797,851gpt-oss-120b, Qwen3-VL-30B-A3B-Instruct
OpenImages文本+图像2,556,412Qwen3-VL-30B-A3B-Instruct
MMTrail文本+音频1,620,533Qwen3-omni-captioner, gpt-oss-120B
Localized Narratives文本+图像1,511,812Qwen3-VL-30B-A3B-Instruct
ALLaVA文本+图像1,414,130Qwen3-VL-30B-A3B-Instruct
VGG-Sound文本+音频1,371,167Qwen3-omni-captioner, gpt-oss-120B
PIXMO-CAP文本+图像1,308,838Qwen3-VL-30B-A3B-Instruct
TTS-Synthesized Nemotron-Nano-3 SFT Data文本+音频1,226,784NVIDIA Magpie TTS
MINT-1T文本+图像904,035Qwen3-VL-32B-Instruct, Gemini 3 Pro (用于过滤), Scene Text models (RTX) translate
ScaleCUA文本+图像889,010Qwen3-VL-30B-A3B-Instruct
AgentNet文本+图像878,986Kimi-K2.5
Conceptual Captions 3M-30b文本+图像867,065Qwen3-VL-30B-A3B-Thinking-FP8
MetaMathQA文本+图像860,656Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
Mulberry-SFT COT文本+图像566,982GLM-4.1V-9B-Thinking, Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
CC for OCR文本+图像522,595SwinDocSegmenter, DeepSeek OCR, Qwen3.5-122B-A10B, Qwen3-32B, Gemini 3 Flash Preview (用于过滤), GPT-4o mini (用于过滤和质量检查), Qwen3-VL-30B-A3B-Thinking-FP8, gpt-oss-120b
Charxiv-100K文本+图像272,104Qwen3-VL-235B-A22B-Instruct, Qwen3-VL-235B-A22B-Thinking, GPT-4o (用于过滤), Qwen3.5-122B-A10B
SwinDocSegmenter文本+图像207,200SwinDocSegmenter, DeepSeek OCR
CLEVR文本+图像, 文本+视频197,027Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
InternVL-Data文本+图像185,395Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
Flickr30k Entities文本+图像154,760Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
Metropolis and Lita文本+视频150,434Qwen3.5-122B-A10B
TextCaps文本+图像136,911Commercial VILA model, Qwen3-VL-30B-A3B-Instruct
Vision R1 Llava CoT文本+图像126,024GLM-4.1V-9B-Thinking
HC-STVG文本+视频124,902NVIDIA 使用 Qwen 模型重新标注 (Qwen2.5-VL-72B-Instruct)
nvPDFtex文本+图像118,351gpt-oss-120b, Qwen3.5-122B-A10B
ChartQA文本+图像111,602Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤), Qwen2-VL-72B (NV)
ECD-10k-Images文本+图像110,697Qwen3.5-122B-A10B
SAMA-COCO文本+图像102,965gpt-oss-120B
VisualWebInstruct文本+图像97,746Earlier SDG, GLM-4.1V-9B-Thinking
Spatial文本+图像95,532Microsoft Florence-2-large
DoubtNut文本+图像94,919Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
Cosmos Nemotron SFTv13.9文本+图像92,128Qwen3-VL-30B-A3B-Instruct, Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
CrossTask文本+视频76,495NVIDIA 使用 Qwen 模型重新标注 (Qwen2.5-VL-72B-Instruct)
RefCOCO文本+图像69,850Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
Mantis Instruct文本+图像66,975Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
Visual7W文本+图像62,589Qwen3.5-122B-A10B
ScreenQA文本+图像62,186Qwen3.5-122B-A10B
VQAV2文本+图像54,899Qwen3.5-122B-A10B
TallyQA文本+图像50,073Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
KeenSight文本+图像49,849Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
GQA文本+图像42,182Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
AskFilo文本+图像41,807Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
Raven文本+图像41,996gpt-oss-120b
DocVQA文本+图像35,759Qwen3.5-122B-A10B
TextVQA文本+图像34,602Commercial VILA model, Qwen3-VL-30B-A3B-Instruct
COCO文本+图像32,111Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
PlotQA文本+图像30,665Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
Llava文本+视频30,250Qwen3-Omni-30B-A3B-Instruct, Qwen3-VL-32B-Instruct
NVCLIP文本+图像29,680Qwen2.5-72B-Instruct
Tapos文本+视频29,250Qwen2.5-VL-72B-Instruct
Vedantu Chemistry文本+音频26,338NVIDIA Magpie TTS
NV-CC-Img-Text-Dataset文本+图像24,998Qwen3-VL-30B-A3B-Instruct
DocLayNet文本+图像22,709Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤), gpt-oss-120b
Taloka Grounding文本+图像22,218Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
Wikipedia OCR文本+图像21,440Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
InternVL2.5文本+图像20,770Qwen3-VL-235B-A22B-Instruct, Qwen3-VL-235B-A22B-Thinking, GPT-4o (用于过滤), Qwen3.5-122B-A10B
PromptPG文本+图像20,305Qwen2-VL-72B
PubTables文本+图像20,174gpt-oss-120b
InfoVQA文本+图像18,679Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
Azure Tables文本+图像18,188gpt-oss-120b, Qwen3.5-122B-A10B
TabRecSet文本+图像17,437GPT-4o mini, Qwen3-VL-30B-A3B-Thinking-FP8, gpt-oss-120b, Qwen3.5-122B-A10B
CD Questions文本+音频, 文本+图像16,335NVIDIA Magpie TTS, Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
Linguistic Data Consortium文本+图像15,499Qwen3.5-122B-A10B, GPT-4o mini, Qwen3-VL-30B-A3B-Thinking-FP8, gpt-oss-120b, Ask Kateryna
MapQA文本+图像12,480Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
SlideVQA文本+图像11,199Qwen3.5-122B-A10B
OCR Reason Finance文本+图像9,389Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
GeomVerse文本+图像9,298GLM-4.1V-9B-Thinking
NextQA文本+视频8,903Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
UniGeo文本+图像8,822Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
Vedantu文本+音频, 文本+图像8,750NVIDIA Magpie TTS, Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
GPQA文本+音频7,657NVIDIA Magpie TTS
SLAKE文本+图像7,294Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
OpenGVLab文本+图像7,269Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤), Qwen3-VL-235B-A22B-Instruct, Qwen3-VL-235B-A22B-Thinking, GPT-4o (用于过滤)
PerceptionTest文本+视频5,192Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
InvoicesQA文本+图像4,817Qwen3.5-122B-A10B
EgoProcel文本+视频4,660Qwen2.5-VL-72B-Instruct
SynthTabNet文本+图像4,364gpt-oss-120b
SerpAPI文本+图像3,784Qwen3.5-122B-A10B, Gemini 3 Flash Preview (用于过滤)
FinTabNet文本+图像3,852gpt-oss-120b
FastMath文本+图像3,718Qwen3-VL-235B-A22B-Instruct-FP8
ASR Data Derived Speech-to-Text Chat Data文本+音频3,608GPT-OSS 120B
Geometry3k文本+图像2,078Qwen3-VL-235B-A22B-Thinking-FP8
VQA-RAD文本+图像1,270Qwen3.5-122B-A10B
RQA文本+音频959NVIDIA Magpie TTS
HierText OCRQA Qwen文本+图像514Qwen2.5-VL-32B-Instruct

训练数据集:

数据模态

  • 音频
  • 图像
  • 文本
  • 视频

音频训练数据规模

  • 10,000 至 100 万小时
    (267,898,865 个含音频样本)

图像训练数据规模

  • 100 万至 10 亿张图像
    (70,143,901 个含图像样本)

文本训练数据规模

  • 10 亿至 10 万亿个标记
    (所有模态总计约 7170 亿个标记)

视频训练数据规模

  • 10,000 至 100 万小时
    (24,557,717 个含视频样本)

按数据集划分的数据收集方法

  • 混合:人工、自动化、合成

按数据集划分的标注方法

  • 混合:人工、自动化、合成

属性(数量、数据集描述、传感器): 1395 个数据集共包含 354,587,705 条数据。训练数据涵盖五种模态组合:文本+音频(259,178,821 个样本)、文本+图像(70,143,901 个样本)、文本+视频(15,837,673 个样本)、文本+视频+音频(8,720,044 个样本)以及纯文本(707,187 个样本)。内容包括公开可用的学术数据集、许可的第三方数据、NVIDIA 内部收集数据以及合成生成的标注。数据主要为英文。未使用传感器衍生数据。

评估数据集:

基准测试分数:

任务多模态基准Nemotron 3 Nano OmniNemotron Nano VL V2提升百分比
视觉定位CVBench2D83.9578.36.73
文档OCRBenchV2 (EN)67.0454.818.26
计算机使用OSWorld47.411.176.58
图表推理Charxiv Reasoning63.641.335.06
多图像推理MMlongBench Doc57.53833.91
数学推理MathVista_MINI82.875.58.82
OCR 推理OCR_Reasoning54.1433.933.87
视频问答Video MME72.2--
视频+音频问答World Sense55.4--
视频+音频问答Daily Omni74.52--
语音指令遵循Voice interaction89.39--

量化基准测试分数:

我们发布了 FP8 和 NVFP4 量化变体以及 BF16 模型。FP8 变体将语言模型中的每个线性层量化为按张量 E4M3(MoE 路由和 lm_head 除外),并搭配 FP8 KV 缓存,每权重产生 8.5 个有效位(32.8 GB)。NVFP4 变体采用受 Nemotron 3 Super 启发的混合精度方案:路由的 MoE 专家被量化为 NVFP4(FP4 E2M1 值,每组 16 个元素采用按块 FP8 E4M3 缩放,并附加按张量 FP32 全局缩放),而 Mamba in_proj / out_proj、共享专家和注意力 o_proj 被量化为 FP8,每权重产生 4.98 个有效位(20.9 GB)。在这两种变体中,视觉和音频编码器及其 MLP 投影器均保持 BF16 精度。

下表报告了 FP8 和 NVFP4 相对于 BF16 基线在非推理模式下的准确率。在 9 项多模态基准测试中,两种量化变体的平均准确率均保持在 BF16 的 1 个百分点以内。

模型大小BF16FP8NVFP4
大小 (GB)61.532.820.9
有效位/权重 (bpw)16.008.54.98
基准测试BF16FP8NVFP4
MathVista_MINI71.9071.0571.30
Charxiv Reasoning49.1048.0547.95
MMlongBench Doc46.1045.8445.78
OCRBenchV2 (EN)65.8065.6365.77
CVBench2D84.2085.6285.27
Video MME70.8069.4069.60
Daily Omni74.5074.0674.23
World Sense55.2054.4054.60
MMAU74.6274.5674.34
Tedium Long (WER↓)3.113.123.04
HF-ASR (WER↓)5.955.975.95
平均值(9 项非 ASR)65.8065.4065.43
中位数(9 项非 ASR)70.8069.4069.60
与 BF16 的差值(平均值)---−0.40−0.38

按数据集划分的数据收集方法:

  • 混合:人工、自动化 — 评估基准主要是人工整理的公共学术数据集,并带有自动评分机制。

按数据集划分的标注方法:

  • 人工

属性(数量、数据集描述、传感器): 14 项评估基准,涵盖图像理解(MathVistaMini、Charxiv Reasoning、MMLongBench-Doc、OCR Reasoning、OCRBenchV2 English、CVBench2D、OSWorld)、视频理解(Video MME)、音频/语音理解(VoiceBench、Tedium Long、HF-ASR、MMAU、World Sense)以及多模态全理解(Daily Omni)。所有基准均为公开可用的英文学术数据集。

在训练此模型之前,NVIDIA 已采取措施以尊重欧盟文本和数据挖掘的退出权,具体措施包括:(1) 在一定程度上尊重 robots.txt 指令,只要此类信号反映了有效的权利保留;(2) 根据权利持有人提供的任何可操作元数据标识符对数据集进行过滤。

推理:

加速引擎: TensorRT-LLM、vLLM、TensorRT Edge-LLM、llama.cpp、ollama、SGlang
测试硬件:

  • NVIDIA H100 SXM
  • NVIDIA H200 SXM
  • NVIDIA B200 SXM
  • NVIDIA A100 80GB SXM
  • NVIDIA GB200 NVL72
  • NVIDIA RTX PRO 6000 SE Blackwell
  • NVIDIA L40S PCIe 48GB
  • NVIDIA DGX Spark
  • NVIDIA Jetson Thor
  • NVIDIA RTX 5090

最佳实践

我们建议采用以下设置以达到最佳性能。

采样参数

我们根据模式和任务建议以下采样参数。

  • 用于长文档分析和多模态推理任务的思考模式:
    temperature=0.6、top_p=0.95、grace_period=1024、reasoning_budget=16384、max_token=20480 以及 max_model_len=210000
  • 用于一般任务的指令模式(非思考):
    temperature=0.2、top_k=1
  • 对于 ASR 任务,我们建议使用非思考模式并设置
    temperature=1.0、top_k=1

模型输出长度

对于大多数多模态推理任务,我们建议使用至少 20480 的输出长度。对于复杂的推理问题,特别是数学和编程领域,将最大输出长度增加到 210000 tokens 可以为模型提供足够的空间来生成更详细和正确的答案。我们还发现,所提出的预算控制推理(Budget-Controlled Reasoning)在回答复杂推理问题时是有效的。

伦理考量:

NVIDIA 认为可信 AI 是一项共同责任,我们已制定相关政策和实践,以支持广泛 AI 应用的开发。当按照我们的服务条款下载或使用时,开发人员应与其内部模型团队合作,确保此模型满足相关行业和用例的要求,并应对不可预见的产品误用。

请确保您对所有输入图像和视频内容拥有适当的权利和许可;如果图像或视频包含人物、个人健康信息或知识产权,生成的图像或视频不会模糊或保持所包含图像主体的比例。

有关此模型伦理考量的更多详细信息,请参见 Model Card++ 的偏见、可解释性、安全与安保和隐私子卡片。

请在此链接报告模型质量、风险、安全漏洞或 NVIDIA AI 相关问题。

引用说明:

@misc{nvidia2026nemotron3nanoomni,
      title={Nemotron 3 Nano Omni: Efficient and Open Multimodal Intelligence},
      author={NVIDIA},
      year={2026},
      eprint={2604.24954},
      archivePrefix={arXiv},
      primaryClass={cs.LG},
      url={https://arxiv.org/abs/2604.24954},
}