人工智能
NVIDIA Nemotron 3.5 Super VL 现已在 Amazon SageMaker JumpStart 中上线今天,我们宣布 NVIDIA Nemotron 3.5 Super VL 已在 Amazon SageMaker JumpStart 中上线。您只需在 SageMaker Studio 中执行几个步骤,或使用几行 SageMaker Python SDK 代码即可部署它。Super VL 是 NVIDIA Nemotron 3.5 系列中的视觉语言模型(VLM)。它接受图像、视频和文本作为输入,并生成文本。
该模型将 120B 参数的混合专家(MoE)语言主干(12B 激活参数)与 C-RADIO 视觉编码器相结合。它支持最长 100 万 token 的上下文长度,并内置支持推测解码的多 token 预测(MTP)头。您可以按请求配置推理。
NVIDIA 构建 Super VL 的目标是文档智能、面向计算机使用代理的 GUI 理解、视频问答以及多模态代理应用。JumpStart 提供两个变体:NVFP4(从 BF16 量化而来,采用量化感知蒸馏以优化推理)和 BF16 全精度参考权重。在本文中,我们将介绍该模型的能力和 JumpStart 部署配置。然后展示实测推理性能,并演示文本、图像和视频推理。
模型概览
Nemotron 3.5 Super VL 是一个 120B 参数模型,每个 token 激活 12B 参数。它将混合语言主干与专用视觉编码器相结合。
- 语言主干: 88 层,交错包含 Mamba-2 和 MoE 层(512 个路由专家,每个 token 激活 22 个)以及 8 个注意力层,外加一个共享 MTP 头。该主干从 Nemotron 3 Super Base 初始化,并从 Nemotron 3 Ultra Base 蒸馏而来。
- 视觉编码器: C-RADIO 视觉编码器对图像和采样的视频帧进行编码,视觉语言连接器将它们映射到语言主干的嵌入空间。在两个变体中,编码器和连接器均保持 BF16。
- 训练: 该模型首先经过持续预训练、长上下文和软件工程中期训练以及视觉语言训练。然后,在视觉、推理、代码、工具、聊天、安全和长上下文数据上进行两阶段多模态监督微调(SFT)。接下来是在 NeMo RL 和 NeMo Gym 中使用可验证奖励和人类反馈的强化学习(RL)、多教师同策略蒸馏,以及进一步训练 MTP 头的最后阶段。NVFP4 检查点使用 NVIDIA Model Optimizer 和量化感知蒸馏从 BF16 生成。它将视觉编码器、连接器、Mamba 卷积和嵌入保持在 BF16,将 MoE 路由器保持在 FP32。它在 Blackwell GPU 上以 4 位权重和激活(W4A4)运行。
下表比较了 JumpStart 中可用的两个变体的规格。
| 规格 | NVFP4 | BF16 |
| 参数 | 总计 120B,激活 12B | 总计 120B,激活 12B |
| 用途 | 优化推理(延迟和吞吐量) | 用于定制的全精度参考权重:SFT、RL、蒸馏、领域适应和自定义量化 |
| 输入 / 输出 | 图像、视频、文本 / 文本 | 图像、视频、文本 / 文本 |
| 上下文长度 | 最长 100 万 token(JumpStart 服务配置使用 520 至 15,600 token) | 相同 |
| 检查点大小 | 约 75 GB | 约 249 GB |
| JumpStart 实例 | ml.g7.24xlarge(默认)、ml.g7.48xlarge | ml.p5en.48xlarge |
| 推测解码 | 内置 MTP 头。在 JumpStart 服务配置中未启用 | 相同 |
| LoRA 适配器服务 | 否 | 否 |
| 语言 | 英语、法语、德语、意大利语、日语、西班牙语、中文 | 相同 |
| 推理 | 默认开启。可通过 enable_thinking |
相同 |
| 输出 | 工具调用、JSON schema 输出、可配置推理 | 相同 |
| 许可证 | OpenMDW 许可证协议 1.1 版 | 相同 |
关键用例
Super VL 面向必须“看见”和“阅读”的代理工作负载。它针对结合推理、编码、工具使用、文档理解和视频理解的视觉语言代理。
- 文档智能: 光学字符识别(OCR)、图表、表格和多页文档。每张 1,536 x 1,024 的页面图像消耗约 1,536 个上下文 token。JumpStart 服务配置每次请求接受一张图像和一个视频。
- GUI 理解: 面向导航应用程序的计算机使用代理的屏幕定位和推理。
- 视频理解: 分析和总结短 MP4 视频片段,包括回答关于视觉内容的问题。您可以以内联 base64 编码内容的形式提供视频,但受端点请求负载大小限制。
- 多模态代理: 工具调用、通过
response_format的 JSON schema 输出以及可配置推理支持多模态代理工作流。 - 定制(BF16): 下载 BF16 参考权重,用于 SFT、RL、蒸馏、领域适应或创建您自己的量化变体。JumpStart 端点仅提供基础权重,不加载 LoRA 适配器。
模型质量基准
NVIDIA 模型卡报告了两个检查点在推理、编码、代理、长上下文和多模态基准上的结果,评估设置保持不变,因此只有检查点不同。下表重点列出了与视觉语言工作负载最相关的多模态基准(开启推理)。
| 基准 | 能力 | BF16 | NVFP4 |
| MMLongBench-Doc | 长文档多模态理解 | 62.82 | 62.82 |
| OCRBench v2,英文 | OCR 和文档理解 | 68.12 | 68.34 |
| CharXiv 推理 | 图表和图形推理 | 80.82 | 79.88 |
| Video-MME v2 | 视频理解 | 32.85 | 32.54 |
| OSWorld-Verified | 视觉计算机使用和代理任务 | 51.14 | 52.30 |
NVFP4(JumpStart 默认)在 MMLongBench-Doc 上与 BF16 持平,在其他基准上差距约在 1 分以内,在 OCRBench v2 和 OSWorld-Verified 上得分略高。有关与其他公开可用模型的完整比较及评估设置,请参阅 NVIDIA Nemotron 3.5 Super VL 与 Lightning 技术报告.
SageMaker JumpStart 上的推理性能
我们使用 JumpStart 发布容器,按照 generate 工作负载配置测量了推理性能:250 个输入 token、1,500 个输出 token,以及五个并发流式请求。吞吐量是每个请求的平均每秒输出 token 数,首 token 时间是各请求的平均值。
| 实例类型 | 变体 | 每请求输出吞吐量(平均值) | 首 token 时间(平均值) |
| ml.g7.24xlarge | NVFP4 | 63.07 token/秒 | 0.45 秒 |
| ml.g7.48xlarge | NVFP4 | 64.01 token/秒 | 0.51 秒 |
| ml.p5en.48xlarge | BF16 | 140.85 token/秒 | 0.53 秒 |
这些结果展示了通过 JumpStart 可用的部署选择。NVFP4 变体在 GPU 占用更小的 G7 实例上运行。在此测试中,ml.p5en.48xlarge 上的 BF16 变体实现了每请求每秒 140.85 个输出 token。在所有三种配置下,首 token 时间均保持在约半秒。由于各变体运行在不同的 GPU 系统和配置上,这些测量结果并非孤立的 BF16-versus-NVFP4 精度比较。更长的提示会改变情况:在 summarize 配置(10,000 个输入 token)下,ml.g7.24xlarge 上的首 token 时间为 12.62 秒。
支持的实例
SageMaker JumpStart 在以下经过验证的实例类型上支持 Nemotron 3.5 Super VL。NVFP4 在配备 NVIDIA RTX PRO 4500 Blackwell Server Edition GPU 的 G7 实例上运行,BF16 在配备 NVIDIA H200 GPU 的 P5en 实例上运行。NVFP4 的 JumpStart 默认实例为 ml.g7.24xlarge,它是 generate 配置的推荐起点。
| 变体 | 实例类型 | GPU | GPU 内存 | 张量并行 |
| NVFP4 | ml.g7.24xlarge(默认) | 4x NVIDIA RTX PRO 4500 Blackwell Server Edition | 128 GB | 4 |
| NVFP4 | ml.g7.48xlarge | 8x NVIDIA RTX PRO 4500 Blackwell Server Edition | 256 GB | 8 |
| BF16 | ml.p5en.48xlarge | 8x NVIDIA H200 | 1,128 GB | 8 |
检查点包含 MTP 头,但 JumpStart 服务配置未启用推测解码。
使用 SageMaker JumpStart 部署 Nemotron 3.5 Super VL
您可以从 SageMaker Studio、使用 SageMaker Python SDK,或从 Hugging Face 模型页面部署该模型。
先决条件
部署之前,请确保您具备以下条件:
- 一个具有创建 Amazon SageMaker AI 端点权限的 AWS 账户。
- 一个可访问 SageMaker AI 的 AWS Identity and Access Management (IAM) 角色。
- ml.g7.24xlarge、ml.g7.48xlarge 或 ml.p5en.48xlarge 端点使用量的服务配额。新账户中 ml.g7 配额从零开始,因此请在部署前通过 Service Quotas 申请增加配额。
- 对于 SDK 方式,需要 SageMaker Python SDK v3(版本 3.25 或更高)。
从 SageMaker Studio 部署
要从 SageMaker Studio 部署模型,请完成以下步骤:
- 打开 SageMaker Studio,然后在导航窗格中选择 JumpStart.
- 在搜索栏中输入 Nemotron 3.5 Super VL。搜索结果会列出两个变体,如下图所示。
图 1:在 SageMaker JumpStart 中搜索 NVIDIA Nemotron 3.5 Super VL
- 选择您要部署的变体的模型卡片。选择 NVFP4 以在 G7 实例上实现优化推理。下图显示了 NVFP4 模型卡片。
图 2:SageMaker JumpStart 中的 NVIDIA Nemotron 3.5 Super VL NVFP4 模型卡片
如果您需要在 ml.p5en.48xlarge 上使用全精度参考权重,请选择 BF16。下图显示了 BF16 模型卡片。
图 3:SageMaker JumpStart 中的 NVIDIA Nemotron 3.5 Super VL BF16 模型卡片
- 在模型卡片上,查看模型详细信息和许可条款,然后选择 部署. 下图显示了部署前您可以查看的模型详细信息。
图 4:部署前查看 Nemotron 3.5 Super VL 的能力和模型详细信息
- 对于 实例类型, 保留默认值(NVFP4 为 ml.g7.24xlarge,BF16 为 ml.p5en.48xlarge),或选择其他受支持的实例类型。然后选择 部署.
- 等待端点状态变为 InService 后再调用模型。在 ml.g7.24xlarge 上部署大约需要 10 分钟。下图显示了正在进行的部署。
图 5:状态达到 InService 之前正在进行的 SageMaker 端点部署
使用 SageMaker Python SDK 部署
# Install the SageMaker Python SDK v3: pip install "sagemaker>=3.25"
from sagemaker.core.helper.session_helper import get_execution_role
from sagemaker.core.jumpstart.configs import JumpStartConfig
from sagemaker.core.training.configs import Compute
from sagemaker.serve import ModelBuilder
# BF16 variant: model_id "huggingface-vlm-nvidia-nemotron-3-5-super-vl-120b-a12b-bf16" on ml.p5en.48xlarge.
jumpstart_config = JumpStartConfig(
model_id="huggingface-vlm-nvidia-nemotron-3-5-super-vl-120b-a12b-nvfp4",
inference_config_name="modify_best_price_performance",
)
model_builder = ModelBuilder.from_jumpstart_config(
jumpstart_config=jumpstart_config,
role_arn=get_execution_role(),
compute=Compute(instance_type="ml.g7.24xlarge", instance_count=1),
)
model_builder.build()
endpoint = model_builder.deploy(endpoint_name="nemotron-3-5-super-vl")
该示例使用 SageMaker Python SDK v3 类: JumpStartConfig 为模型命名, ModelBuilder 构建并部署模型,而 deploy 返回一个 Endpoint 资源。在 Compute中传入实例类型,因为如果缺少实例类型,SDK 会回退到 ml.m5.large,随后构建会失败。deploy 调用会等待端点进入 InService 状态,在 ml.g7.24xlarge 上大约需要 10 分钟。
该 inference_config_name 参数用于选择服务配置,每种配置设置不同的上下文长度。默认的 generate 配置提供 2,275 个 token 的上下文,适用于短提示。summarize 配置提供 13,650 个 token,modify 配置提供 15,600 个 token。该示例使用 modify 配置,因为本文中的推理示例(尤其是图像、视频和推理请求)需要更大的上下文。后续所有推理示例均假定使用 modify 配置。
从 Hugging Face 部署
您也可以从其 Hugging Face 模型页面部署模型:选择 部署, 然后选择 Amazon SageMaker AI, 并继续进入 SageMaker 部署工作流。
图 6:Hugging Face 上的 NVIDIA Nemotron 3.5 Super VL 模型页面及部署菜单
在部署菜单中,选择 Amazon SageMaker AI 以打开 SageMaker 部署工作流,如下图所示。
图 7:从 Hugging Face 部署工作流中选择 Amazon SageMaker AI
端点进入 InService 状态后,您就可以向其发送推理请求。
运行推理
JumpStart 端点提供由 vLLM 驱动的聊天补全 API,因此应用程序可以使用熟悉的聊天消息格式发送推理请求。NVIDIA 建议温度为 1.0, top_p 文本使用 0.95,温度设为 0.6,并且 top_p 图像和视频请求使用 0.95。您必须以内联 base64 数据 URL 的形式发送媒体,因为该端点运行于网络隔离环境,无法获取 URL。
推理默认开启,您可以按请求进行配置。推理文本会在消息的 reasoning 字段中返回,与 content 分开。图像,关闭推理对于直接提取类任务,您可以在 中使用 来禁用推理。该模型接受图像而非原始 PDF 文件。要处理 PDF,请先将每一页渲染为图像(例如 PNG),然后再发送给模型。一张 1,536 x 1,024 的页面大约占用 1,536 个 token 的上下文,且一次请求只能携带一张图像。视频
推理默认开启,您可以按请求进行配置。推理文本会在消息的 reasoning 字段中返回,与 content 分开。
import json
payload = {
"messages": [{"role": "user", "content":
"Explain the difference between OCR and document understanding."}],
"max_tokens": 2000,
"temperature": 1.0,
"top_p": 0.95,
}
response = endpoint.invoke(
body=json.dumps(payload), content_type="application/json", accept="application/json"
)
result = json.loads(response.body.read())
print(result["choices"][0]["message"]["reasoning"])
print(result["choices"][0]["message"]["content"])
图像,关闭推理
对于直接提取类任务,你可以通过 来禁用推理。 enable_thinking=False , chat_template_kwargs.
import base64
with open("invoice.png", "rb") as f:
image_b64 = base64.b64encode(f.read()).decode("utf-8")
payload = {
"messages": [{
"role": "user",
"content": [
{"type": "image_url",
"image_url": {"url": f"data:image/png;base64,{image_b64}"}},
{"type": "text",
"text": "Extract the vendor, date, and total as JSON."},
],
}],
"max_tokens": 1024,
"temperature": 0.6,
"top_p": 0.95,
"chat_template_kwargs": {"enable_thinking": False},
}
response = endpoint.invoke(
body=json.dumps(payload), content_type="application/json", accept="application/json"
)
result = json.loads(response.body.read())
print(result["choices"][0]["message"]["content"])
该模型接受图像而非原始 PDF 文件。要处理 PDF,请先将每一页渲染为图像(例如 PNG),然后再发送给模型。一张 1,536 x 1,024 的页面大约占用 1,536 个 token 的上下文,且一次请求只能携带一张图像。
视频
以下示例将一个简短的 MP4 片段以 base64 编码的数据 URL 形式发送,并要求模型对其进行总结,同时禁用推理以获得直接响应。
import base64
with open("demo.mp4", "rb") as f:
video_b64 = base64.b64encode(f.read()).decode("utf-8")
payload = {
"messages": [{
"role": "user",
"content": [
{"type": "video_url",
"video_url": {"url": f"data:video/mp4;base64,{video_b64}"}},
{"type": "text", "text": "Summarize what happens in this video."},
],
}],
"max_tokens": 2000,
"temperature": 0.6,
"top_p": 0.95,
"chat_template_kwargs": {"enable_thinking": False},
}
response = endpoint.invoke(
body=json.dumps(payload), content_type="application/json", accept="application/json"
)
result = json.loads(response.body.read())
print(result["choices"][0]["message"]["content"])
对于视频推理,请使用短小、压缩的片段,并确保编码后的请求保持在端点支持的负载限制之内。对于推理密集型视频请求,请将 max_tokens 设置得足够高,以便模型在考虑响应长度和端点调用限制的同时完成推理。
最佳实践
在 SageMaker JumpStart 上运行 Nemotron 3.5 Super VL 时,请考虑以下建议:
- 媒体输入该模型接受图像而非原始 PDF 文件,因此请先将 PDF 页面渲染为图像。
- 视频配置帧采样是在端点启动时设置的,而不是按请求设置。JumpStart 端点使用 vLLM 默认采样,并拒绝按请求设置。
media_io_kwargs. - 视频与推理:设置
max_tokens至少设为 8,192(用于启用推理的视频),或在需要直接响应时禁用推理。 - 上下文预算:
max_tokens会限制补全长度。提示词与补全内容合计必须符合服务配置的模型长度:generate 配置为 2,275 个 token,interact 为 520 个,summarize 为 13,650 个,modify 为 15,600 个。图像和视频帧同样会占用上下文。 - 多页文档:JumpStart 服务配置每次请求只接受一张图像。请每次请求发送一页,或将多页拼接为一张图像,并检查上下文预算。
- 推理模式:对于多步骤分析和智能体任务,请使用推理。对于提取或生成字幕,当你希望获得更简短、直接的响应时,请禁用推理。
- 采样从温度 1.0 开始,并对文本使用
top_p文本使用 0.95,温度设为 0.6,并且top_p图像和视频使用 0.95,这是 NVIDIA 推荐的值。
清理
为避免持续产生费用,完成后请删除端点、端点配置和模型:
from sagemaker.core.resources import EndpointConfig, Model
endpoint_config = EndpointConfig.get(endpoint_config_name=endpoint.endpoint_config_name)
model_name = endpoint_config.production_variants[0].model_name
endpoint.delete()
endpoint_config.delete()
Model.get(model_name=model_name).delete()
结论
NVIDIA Nemotron 3.5 Super VL 为 SageMaker JumpStart 带来图像、视频和文档理解能力。NVFP4 变体可在配备 NVIDIA RTX PRO 4500 Blackwell Server Edition GPU 的 G7 实例上使用。BF16 变体可在配备 NVIDIA H200 GPU 的 ml.p5en.48xlarge 上使用。若希望获得优化推理且模型质量接近 BF16 检查点,请选择 NVFP4;若需要全精度参考权重,请选择 BF16。要开始使用,请在 SageMaker Studio 中打开 SageMaker JumpStart,或使用 SageMaker Python SDK。
要了解更多信息,请参阅《Amazon SageMaker AI 开发者指南》中的 SageMaker JumpStart 预训练模型以及 Nemotron 3.5 Super VL 技术报告.