返回 文章 apply CMS 文章

NVIDIA NIM 全栈优化:Nemotron 3 Ultra 在 4xB200 上实现 2.5 倍并发用户提升

NIM 2.0.12 通过缓存复用、MTP 推测解码、自动调优内核等组合优化,在 4xB200 上把 Nemotron 3 Ultra 的并发服务能力提升 2.5 倍。

NVIDIA NIMNemotron 3 UltraLLM 推理优化智能体工作负载
成长分 / 100 80 综合收获、行动、留存与影响

NVIDIA NIM 全栈优化:Nemotron 3 Ultra 在 4xB200 上实现 2.5 倍并发用户提升
为什么值得读了解生产级 LLM 服务中吞吐量与交互性之间的帕累托权衡,以及智能体工作负载为何更敏感。

获取 NIM 2.0.12 优化服务栈的具体优化层清单,理解收益来自组合而非单一开关。

关键洞察
  1. 在 4xB200、64K/400/76% KV 复用/50 TPS/用户(20 ms ITL)的智能体工作负载下,NIM On 达到 1,997 tok/s,是 NIM Off 基线 718 tok/s 的 2.5 倍。
  2. 性能提升来自相互作用的配置组合:自动调优 MoE/Mamba 内核、张量并行与专家感知执行、前缀与 Mamba 状态缓存、调度器/批处理/内存调优、MTP 推测解码。
  3. NIM 将模型感知与 GPU 感知的服务选择打包为可部署微服务,提供经过验证的配置起点,同时保留针对自身流量基准测试的能力。
转成行动

深入阅读

正文与原文对照

原文保真覆盖:全文原文字符:8391

部署大型语言模型只是迈向生产级服务的第 一步。生产团队还需要在可用的 GPU 基础设施上服务尽可能多的并发用户,同时保持应用的交互响应能力。

对于智能体 AI 工作负载,这种权衡更为重要,因为提示可能很长,上下文可以在多个步骤之间复用,而且应用通常会将较长的响应流式返回给用户。

NVIDIA NIM 将模型感知和 GPU 感知的服务选择打包为可部署的微服务。开发者无需从空白运行时配置开始,而是获得经过验证的服务配置和支持的部署路径,同时保留针对自身流量对 NIM 进行基准测试的能力。

NIM 增加了什么:性能工程与生产就绪性

推理性能是一项系统属性。精度与内核、并行性、调度、批处理、内存分配、前缀复用、模型特定的状态缓存以及解码策略都会相互作用。只有当配置在保持应用延迟目标的同时提高吞吐量时,它才有用。

NIM 将这项优化工作转化为经过测试的起点。NVIDIA 工程师针对受支持的模型、GPU 和精度组合验证配置,然后将运行时和模型工件打包在标准 API 之后。对于生产部署,NIM Certified 增加了定期的推理栈更新、CVE 处理、更广泛的硬件验证,以及通过 NVIDIA AI Enterprise 提供的商业支持。

NIM 在一条部署路径中带来两项好处:经过验证的性能工程,以及企业就绪的容器生命周期和支持模式。

案例研究:Nemotron 3 Ultra NIM 为智能体工作负载带来最高 2.5 倍的吞吐量提升

本文通篇使用的基准测试定义如下:

  • 硬件:4xB200
  • 智能体工作负载:64K/400/76% KV 复用/50 TPS/用户(20 ms ITL)

此帕累托图将开源基线服务栈(NIM Off)与完全优化的 NIM 2.0.12 服务栈(NIM On)进行了比较。

折线图显示 Nemotron 3 Ultra NIM 在 4xB200 系统上的两条帕累托曲线。x 轴为每用户交互性,单位为每秒令牌数(0-450);y 轴为系统总输出令牌吞吐量,单位为 TPS(0-2,500)。NIM-off 曲线(蓝色)在约 750 TPS 处趋于平缓并急剧下降。NIM-on 曲线(绿色)在 50 TPS/用户时达到约 2,000 TPS,并在整个交互性范围内保持更高的吞吐量。在 50 TPS/用户处的注释显示两条曲线之间存在 2.5 倍的差距。

图 1. Nemotron 3 Ultra NIM 在 4xB200 系统上的帕累托曲线,分别关闭和开启 NIM 优化。在 50 TPS/用户时,NIM-on 曲线提供的系统吞吐量是基线的 2.5 倍以上,直接转化为在相同交互性下支持更多并发用户

配置 原生 256K 最大上下文 它所代表的含义
NIM Off 基线 718 tok/s 无 NIM 优化
NIM On (2.0.12) 优化服务栈 1,997 tok/s,相对基线 2.5 倍 优化的 NIM 栈:缓存/状态复用、MTP 推测解码及相关修复、自动调优内核、部分前缀匹配、调度器、批处理、内存和并行性调优

表 1.

在 50 TPS/用户目标下,四块 B200 GPU 的系统输出令牌吞吐量

NIM 2.0.12 优化服务栈如何工作

所测得的收益来自相互作用的配置组合,而非可以简单相加百分比的独立开关。主要的优化层包括:

精度与自动调优的模型感知内核。自动调优的专家混合(mixture-of-experts)和 Mamba 内核将混合架构高效映射到 NVIDIA Blackwell GPU 上。并行执行。张量并行将模型分布到四块 GPU 上,而专家感知执行提升了专家混合层的利用率。前缀与模型状态复用。前缀缓存避免重复计算重复的上下文,部分前缀匹配在前缀仅部分匹配时恢复复用,Mamba 状态缓存设置针对模型架构进行了调优。调度器、批处理与内存调优。并发序列限制、批处理 token 限制、块大小以及 GPU 内存分配让更多工作保持在进行中,同时不越过延迟目标。MTP 投机解码。NIM 2.0.12 优化服务栈(包括 MTP)将 MTP 及其相关修复添加到同一优化服务栈中。其增量收益取决于接受率和可用的内存余量。

在你自己的工作负载上对 NIM 进行基准测试

已发布的曲线只是一个起点,并不承诺每个应用都会看到相同的结果。确定适配性的最快方式是重放具有代表性的流量,并针对对你的用户至关重要的延迟指标构建帕累托曲线。

部署确切的软件版本。使用 NIM 2.0.12(或更新版本),并为每次运行固定镜像标签或摘要。准备具有代表性的流量。使用 Mooncake 格式的 JSONL 跟踪记录,或捕获受控的 NIM 请求,并对敏感数据采取适当的访问控制和脱敏处理。测量性能。使用 NVIDIA AIPerf 重放具有代表性的流量并获得性能基准。选择满足 SLO 的帕累托点。在满足 SLO/延迟约束的点之间比较输出吞吐量,并确定是否适合部署:

for C in 1 4 8 16 32 64; do
aiperf profile \
--model nvidia/nemotron-3-ultra-550b-a55b \
--endpoint-type chat --streaming \
--url localhost:8000 \
--input-file ./agentic-trace.jsonl \
--custom-dataset-type mooncake_trace \
--no-fixed-schedule \
--concurrency "$C"
done

AIPerf 并发扫描示例。 将 trace、请求数量和端点详情替换为您想要建模的工作负载。

下载并运行 Nemotron 3 Ultra NIM

Nemotron 3 Ultra NIM 页面 开始,接受管理条款,并选择 NIM 2.0.12 标签或确切发布的摘要。下载后,查找并选择一个配置文件。以下列出了 NIM 中打包的所有配置文件:

export NGC_API_KEY=<your-personal-api-key>
export LOCAL_NIM_CACHE=$HOME/.cache/nim
export NIM_TAG=2.0.12
mkdir -p "$LOCAL_NIM_CACHE"
echo "$NGC_API_KEY" | docker login nvcr.io \
--username '$oauthtoken' --password-stdin
docker run --gpus all --shm-size=16GB \
-e NGC_API_KEY \
-e NIM_MODEL_PROFILE \
-v "$LOCAL_NIM_CACHE:/opt/nim/.cache" \
-p 8000:8000 \
nvcr.io/nim/nvidia/nemotron-3-ultra-550b-a55b:$NIM_TAG list-model-profiles

要在四 GPU 的 B200 系统上为代理式工作负载选择优化配置,你需要将 NIM_MODEL_PROFILE

设置为 vllm-nvidia-b200-nvfp4-tp4-pp1-throughput-90.0

并启用推测解码:

export NGC_API_KEY=<your-personal-api-key>
export LOCAL_NIM_CACHE=$HOME/.cache/nim
export NIM_TAG=2.0.12
export NIM_MODEL_PROFILE=vllm-nvidia-b200-nvfp4-tp4-pp1-throughput-90.0
mkdir -p "$LOCAL_NIM_CACHE"
echo "$NGC_API_KEY" | docker login nvcr.io \
--username '$oauthtoken' --password-stdin
docker run --gpus all --shm-size=16GB \
-e NGC_API_KEY \
-e NIM_MODEL_PROFILE \
-e NIM_SPECDEC_ENABLE=1 \
-v "$LOCAL_NIM_CACHE:/opt/nim/.cache" \
-p 8000:8000 \
nvcr.io/nim/nvidia/nemotron-3-ultra-550b-a55b:$NIM_TAG

面向生产环境的性能工程化起点

NVIDIA NIM 将模型感知与 GPU 感知的服务优化打包为可部署的微服务。对于在 4xB200 系统上运行的 Nemotron 3 Ultra,这些优化使企业能够在每用户 50 TPS 的条件下,相比未使用 NIM 的基线多服务最多 2.5 倍的用户,同时让部署路径对真实的多用户服务保持实用。

NIM 将经过验证的性能工程与定期的推理栈更新、CVE 处理、硬件验证以及通过 NVIDIA AI Enterprise 提供的商业支持相结合。更多性能优化的 NIM 配置计划覆盖更广泛的模型,为开发者针对自身的延迟、吞吐量和成本目标提供更多经过验证的起点。

开始使用

从 NGC 下载 Nemotron 3 Ultra NIM 2.0.12,在你的 NVIDIA GPU 基础设施上运行它,并使用 NVIDIA AIPerf 回放具有代表性的流量,以选择满足你应用目标的帕累托点。

资源