英伟达又发新模型了——NVIDIA Nemotron 3 Nano Omni 30B-A3B-Reasoning
老黄这次很狠:30B 总参数、3B 激活的 MoE,视频 + 音频 + 图像 + 文本全吃,256K 上下文,还自带推理链
最关键的是——它的开源协议是真·开源(NVIDIA Open Model Agreement),允许商用,权重数据集训练配方都开放
Unsloth 一夜之间就把 GGUF 跑通了,4-bit 25GB 内存就能跑
简介
先把家底亮一下
项目
参数
总参数 / 激活参数
31B / 3B
架构
Mamba2-Transformer 混合 MoE
视觉编码器
C-RADIO v4-H
语音编码器
Parakeet
LLM 主干
Nemotron-3-Nano-30B-A3B
上下文
最长 256K tokens
输入
视频 (mp4, ≤2 分钟)、音频 (wav/mp3, ≤1 小时)、图像、文本
输出
文本(支持 JSON、CoT 推理、tool calling、词级时间戳)
量化
官方提供 BF16 / FP8 / NVFP4 三档
License
NVIDIA Open Model Agreement(可商用)
这个组合最有意思的地方是Mamba2 + Transformer 混合,再叠 MoE,单次推理只激活 3B,所以同样的卡能扛更高并发——官方给出的数据是比"另一家开源 Omni 模型"(暗指 Qwen3-Omni-30B-A3B)在视频任务上9.2 倍吞吐,多文档任务上7.4 倍吞吐
为什么能差这么多?官方给的解法叫Efficient Video Sampling (EVS)+ 3D 卷积时空感知,再加上视频帧剪枝(--video-pruning-rate 0.5),让一段 1080p 视频可以以 1FPS / 128 帧采样,720p 可以 2FPS / 256 帧——本质上是用结构化稀疏把"看视频"的算力账省下来了
定位:多模态感知子代理
vLLM 团队博客里的描述很到位:把它当成 Agent 系统里的"眼睛和耳朵",专门负责屏幕、文档、音视频流的感知,再把结构化理解喂给下游的编排和执行 Agent。它不是要替你写代码、跑工具,它是要成为 Agent 系统里"那个看得到听得见的家伙"——这跟 Qwen3-Omni 想"全都干"的路线是不一样的
典型场景官方也给了:
客服:Doordash 投递地点 OCR 验证、得来速点单确认
M&E 媒体娱乐:视频/语音密集字幕、检索、摘要
文档智能:合同、SOW/MSA、科研、财务文档
GUI 自动化:事件管理、Agentic 搜索、浏览器/邮件 Agent
NVIDIA 给的口径是"同尺寸里最强的 Omni 模型",并且在六个公开榜单上都拿了第一
六个榜单分别是:
MMlongbench-Doc(长文档理解)
OCRBenchV2(OCR 综合)
WorldSense(视频常识)
DailyOmni(日常多模态)
VoiceBench(语音理解)
MediaPerf(多模态吞吐 + 成本)
跟自家上一代 Nemotron Nano VL V2 对比,全面上涨,视觉、视频、OCR、音频四条线都有提升
Unsloth 那边也跑了一份对比,他们的结论更直白——全面碾压 Qwen3-Omni-30B-A3B
我个人的态度:榜单数据看看就行,真正决定你用不用的,是后面这套部署链路顺不顺手——这才是我重点写的部分
关于开源协议(NVIDIA Open Model Agreement)
顺便说一下 License,因为这次老黄给的协议比 Llama 那一票"看似开源"的协议清爽得多。我把官方原文核心点提炼了一下(原文链接):
✅可商用:永久、全球、免版税、不可撤销
✅可改可分发:允许做衍生模型并以源/二进制形式发布
✅输出归你:NVIDIA 不主张你用模型生成内容的所有权
⚠️ 分发时要附带 License 副本,保留版权和归属声明
⚠️ 如果你拿这个协议去告 NVIDIA 侵权,授权立刻终止
⚠️ 不能用 NVIDIA 商标做品牌背书(描述来源除外)
对中小团队和个人开发者来说,这就是**"拿来就能用"**级别的协议,比那些"7 亿月活以上要单独申请"的"伪开源"友好太多
Unsloth GGUF 火速到位:本地部署详细步骤
这次 Unsloth 真的快,Day Zero 就和 NVIDIA 联动出了 GGUF。模型仓库在这:
❝ https://huggingface.co/unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning-GGUF
资源占用:消费级显卡很轻松!害得是 Unsloth!
❝ ⚠️ 一个大坑:不要用 CUDA 13.2,会输出乱码,NVIDIA 在修。建议 12.9 或 13.0方式一:Unsloth Studio(最省事)
Unsloth 自己出了一个 Web UI,叫 Unsloth Studio,可以本地跑 GGUF、对比模型、聊天、传图传音频
MacOS / Linux / WSL 一键安装:
curl -fsSL https://unsloth.ai/main/install.sh | sh
source unsloth_studio/bin/activate
unsloth studio -H 0.0.0.0 -p 8888
Windows PowerShell:
irm https://unsloth.ai/install.ps1 | iex
& .\unsloth_studio\Scripts\unsloth.exe studio -H 0.0.0.0 -p 8888
然后浏览器打开http://localhost:8888,搜 Nemotron-3-Nano-Omni,选你要的量化版下载就行
先编译 llama.cpp(CUDA 版):
apt-get update
apt-get install pciutils build-essential cmake curl libcurl4-openssl-dev -y
git clone https://github.com/ggml-org/llama.cpp
cmake llama.cpp -B llama.cpp/build \
-DBUILD_SHARED_LIBS=OFF -DGGML_CUDA=ON -DLLAMA_CURL=ON
cmake --build llama.cpp/build --config Release -j --clean-first \
--target llama-cli llama-mtmd-cli llama-server llama-gguf-split
cp llama.cpp/build/bin/llama-* llama.cpp
❝ Apple Silicon 把 -DGGML_CUDA=ON 改成 OFF,Metal 默认开
纯文本对话(NVIDIA 推荐temp=1.0, top-p=1.0):
./llama.cpp/llama-cli \
-hf unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning-GGUF:UD-Q4_K_XL \
--temp 1.0 --top-p 1.0
图片 + 音频混合输入(需要llama-mtmd-cli):
./llama.cpp/llama-mtmd-cli \
-hf unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning-GGUF:UD-Q4_K_XL \
--image screenshot.png \
--audio meeting.wav \
-p "Summarize what is shown and said. Return key actions as bullet points." \
--temp 1.0 --top-p 1.0
视频按帧采样(llama.cpp 暂不直吃视频,曲线救国先抽帧):
mkdir -p frames
ffmpeg -i demo.mp4 -vf "fps=1/2,scale=1280:-1" frames/frame_%04d.png
FRAMES=$(python - <<'PY'
from pathlib import Path
frames = sorted(Path("frames").glob("*.png"))[:16]
print(",".join(str(x) for x in frames))
PY
)./llama.cpp/llama-mtmd-cli \
-hf unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning-GGUF:UD-Q4_K_XL \
--image "$FRAMES" \
-p "Analyze these sampled video frames. Summarize the sequence of events." \
--temp 1.0 --top-p 1.0
起 OpenAI 兼容服务(推荐这种,方便接业务):
./llama.cpp/llama-server \
-hf unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning-GGUF:UD-Q4_K_XL \
--alias "unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning" \
--prio 3 --temp 1.0 --top-p 1.0 --port 8001
Python 客户端调用:
from openai import OpenAI
client = OpenAI(
base_url="http://127.0.0.1:8001/v1",
api_key="sk-no-key-required",
)completion = client.chat.completions.create(
model="unsloth/NVIDIA-Nemotron-3-Nano-Omni-30B-A3B-Reasoning",
messages=[{"role": "user", "content": "What is 2+2?"}],
)
print(completion.choices[0].message.content)
❝ ⚠️ Ollama 用户注意:当前 Ollama 还跑不了它的多模态部分,因为 mmproj 视觉文件是分开的,Ollama 还没适配。要玩多模态请走 llama.cpp 系
工具调用场景把temp=0.6, top-p=0.95即可
官方部署:vLLM 0.20.0(生产级)
官方推荐的生产部署是vLLM 0.20.0(必须这个版本,别上下浮动)。两个镜像选一个:
CUDA 13.0:
vllm/vllm-openai:v0.20.0CUDA 12.9:
vllm/vllm-openai:v0.20.0-cu129
装:
pip install vllm[audio]==0.20.0
# 或
docker pull vllm/vllm-openai:v0.20.0
❝ 只要用到音频(包括视频里抽音频 use_audio_in_video: true),就必须装 vllm[audio]
起服务(单卡 B200/H200/H100,推荐配置):
vllm serve nvidia/Nemotron-3-Nano-Omni-30B-A3B-Reasoning-BF16 \
--served-model-name nemotron \
--host 0.0.0.0 --port 5000 \
--tensor-parallel-size 1 \
--max-model-len 131072 \
--trust-remote-code \
--video-pruning-rate 0.5 \
--media-io-kwargs '{"video": {"num_frames": 512, "fps": 1}}' \
--reasoning-parser nemotron_v3 \
--enable-auto-tool-choice \
--tool-call-parser qwen3_coder
跑 NVFP4 / FP8 时,加上--kv-cache-dtype fp8进一步省显存
几个平台坑(官方明示):
平台
需要追加的参数
原因
RTX Pro 6000
--moe-backend triton
FlashInfer + RTX Pro 当前有 bug
NVFP4 + TP>1
--moe-backend flashinfer_cutlass
TRTLLM_GEN MoE 内核 bug
DGX Spark (ARM64)
--gpu-memory-utilization 0.70--max-model-len 32768--max-num-seqs 8
统一 LPDDR5X 内存(128GB CPU/GPU 共享),需让出空间
调用示例(思考模式 + 视频):
from openai import OpenAI
from pathlib import Path
client = OpenAI(base_url="http://localhost:5000/v1", api_key="")
video_url = Path("media/demo.mp4").resolve().as_uri()resp = client.chat.completions.create(
model="nemotron",
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": 16384 + 1024,
"chat_template_kwargs": {
"enable_thinking": True,
"reasoning_budget": 16384,
},
"mm_processor_kwargs": {"use_audio_in_video": False},
},
)
print(resp.choices[0].message.reasoning, "\n---\n", resp.choices[0].message.content)
采样参数官方推荐:
模式
temperature
top_p
top_k
max_tokens
reasoning_budget
Thinking
0.6
0.95
Instruct
0.2
1
1024
支持的 GPU:
Blackwell:B200、RTX Pro 6000 SE、DGX Spark、Jetson Thor、RTX 5090
Hopper:H100、H200
Ampere:A100 80GB
Lovelace:L40S
除了 vLLM,SGLang也已经支持(BF16 变体,FP8/NVFP4 待跟进),TensorRT-LLM、TensorRT Edge-LLM(Jetson Thor)也都有 cookbook
一些个人观察
聊聊我的态度,不全说好话:
我看好的地方
协议是真开放——商用零摩擦,对国内中小厂、个人开发者就是白嫖级别的福利
3B 激活的 MoE + 视频帧剪枝这套组合,是把"持续感知"这个 Agent 真痛点直接打中了,9 倍吞吐不是噱头,是给永远在线的 Agent 准备的
256K 上下文 + 词级时间戳的转写 + tool calling,几乎可以一个模型把会议助理、视频检索、屏幕代理三件事一起干
Unsloth Day Zero GGUF,25GB 内存就能跑 4-bit,意味着一台普通游戏本就能本地起 Agent,这是 Qwen3-Omni 没做到的
我泼冷水的地方
只支持英文——中文能力官方明确没承诺,国内业务场景需要自己评估
vLLM 必须 0.20.0,版本锁得很死,老镜像别想直接升
CUDA 13.2 输出乱码,老黄家自己的 CUDA 还有这种 bug
Ollama 暂不支持多模态,想一键
ollama run的朋友再等等视频 ≤2 分钟,长视频还是得切片喂
适合谁
想做 GUI Agent / 浏览器 Agent / 屏幕监控类应用 → 极力推荐
文档智能(合同/财务/科研 OCR + 推理)→ MMlongbench-Doc 和 OCRBenchV2 第一,闭眼上
短视频/会议纪要/语音转写 + 提炼 → 一把梭
中文为主的 toC 场景 → 再等等,或者拿这个做底座微调
我自己接下来会拿它做两件事:一是接到本地的录屏 → 操作回放分析流程里看看;二是把会议视频丢进去做"看完一段视频自动产出 todo + 时间戳"的工作流
制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个三连击:点赞、转发和在看。若可以再给我加个,谢谢你看我的文章,我们下篇再见!
热门跟贴