首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >英伟达最新开源多模态大模型,本地部署,量化后消费级显卡轻松跑,缺点是:仅支持英文输入

英伟达最新开源多模态大模型,本地部署,量化后消费级显卡轻松跑,缺点是:仅支持英文输入

作者头像
Ai学习的老章
发布2026-05-08 12:26:27
发布2026-05-08 12:26:27
3130
举报

英伟达又发新模型了——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 倍吞吐

Pareto 曲线:多文档与视频场景的系统吞吐对比
Pareto 曲线:多文档与视频场景的系统吞吐对比

Pareto 曲线:多文档与视频场景的系统吞吐对比

为什么能差这么多?官方给的解法叫 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 模型",并且在六个公开榜单上都拿了第一

Nemotron 3 Nano Omni 横扫六大多模态榜单
Nemotron 3 Nano Omni 横扫六大多模态榜单

Nemotron 3 Nano Omni 横扫六大多模态榜单

六个榜单分别是:

  • MMlongbench-Doc(长文档理解)
  • OCRBenchV2(OCR 综合)
  • WorldSense(视频常识)
  • DailyOmni(日常多模态)
  • VoiceBench(语音理解)
  • MediaPerf(多模态吞吐 + 成本)

跟自家上一代 Nemotron Nano VL V2 对比,全面上涨,视觉、视频、OCR、音频四条线都有提升

相比 Nemotron Nano VL V2 的精度提升
相比 Nemotron Nano VL V2 的精度提升

相比 Nemotron Nano VL V2 的精度提升

Unsloth 那边也跑了一份对比,他们的结论更直白——全面碾压 Qwen3-Omni-30B-A3B

Unsloth 给出的横向 benchmark
Unsloth 给出的横向 benchmark

Unsloth 给出的横向 benchmark

我个人的态度:榜单数据看看就行,真正决定你用不用的,是后面这套部署链路顺不顺手——这才是我重点写的部分

关于开源协议(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、对比模型、聊天、传图传音频

Unsloth Studio 界面
Unsloth Studio 界面

Unsloth Studio 界面

MacOS / Linux / WSL 一键安装:

代码语言:javascript
复制
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:

代码语言:javascript
复制
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,选你要的量化版下载就行

在 Studio 中搜索并下载模型
在 Studio 中搜索并下载模型

在 Studio 中搜索并下载模型

方式二:llama.cpp 命令行(更可控)

先编译 llama.cpp(CUDA 版):

代码语言:javascript
复制
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):

代码语言:javascript
复制
./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):

代码语言:javascript
复制
./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 暂不直吃视频,曲线救国先抽帧):

代码语言:javascript
复制
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 兼容服务(推荐这种,方便接业务):

代码语言:javascript
复制
./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 客户端调用:

代码语言:javascript
复制
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.0
  • CUDA 12.9:vllm/vllm-openai:v0.20.0-cu129

代码语言:javascript
复制
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,推荐配置):

代码语言:javascript
复制
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 共享),需让出空间

调用示例(思考模式 + 视频):

代码语言:javascript
复制
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

20480

16384

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-LLMTensorRT 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 + 时间戳"的工作流

#Nemotron #NVIDIA #多模态 #Unsloth #vLLM

制作不易,如果这篇文章觉得对你有用,可否点个关注。给我个三连击:点赞、转发和在看。若可以再给我加个🌟,谢谢你看我的文章,我们下篇再见!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2026-05-01,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 机器学习与统计学 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 简介
  • 测评数据
  • 关于开源协议(NVIDIA Open Model Agreement)
  • Unsloth GGUF 火速到位:本地部署详细步骤
    • 方式一:Unsloth Studio(最省事)
    • 方式二:llama.cpp 命令行(更可控)
  • 官方部署:vLLM 0.20.0(生产级)
  • 一些个人观察
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档