数据中心/云端

NVIDIA Dynamo 新增 GPU 自动缩放、Kubernetes 自动化和网络优化功能

NVIDIA GTC 2025 上,我们宣布推出 NVIDIA Dynamo ,这是一种高吞吐量、低延迟的开源推理服务框架,用于在大规模分布式环境中部署生成式 AI 和推理模型。

Dynamo 的最新 v0.2 版本包括:

  • 用于预填充和解码 GPU 自动缩放的规划器。
  • 适用于大规模 Dynamo 部署的 Kubernetes 自动化。
  • 支持 AWS Elastic Fabric Adaptor (EFA) ,用于在 AWS 上进行节点间数据传输。

在本文中,我们将介绍这些功能,以及它们如何帮助您从 GPU 投资中获得更多收益。

适用于解服务工作负载的 GPU 自动扩展

21 世纪初,云计算迅速采用的关键驱动因素之一是 autoscaling,即根据实时需求自动调整计算能力的能力。通过消除提前为峰值负载配置基础设施的需求,autoscaling 可实现成本效益和运营灵活性。虽然这一概念已得到充分确认,但将其有效应用于 LLM 推理工作负载仍然是一项重大挑战。

传统的自动缩放依赖于简单的指标,例如每秒查询次数 (QPS) 。然而,在现代 LLM 服务环境中,并非所有推理请求都是相同的 (尤其是那些使用解服务等技术的环境) ,仅 QPS 就无法预测系统负载。与使用短 ISL 的多个请求相比,具有长输入序列长度 (ISL) 的单个请求会消耗更多资源。

此外,长 ISL 对预填充 GPU 造成压力,而长输出序列长度 (OSL) 对 GPU 进行压力解码。在解设置中,工作负载分布可能会随时发生急剧变化,导致基于原始指标 (如 QPS) 的自动扩展策略失效。这种复杂性使得很难平衡预填充和解码 GPU 之间的负载。

我们需要一个专门构建的规划引擎,它能够理解 LLM 特定的推理模式和分解的服务架构。它不仅要决定何时扩展,还要决定要扩展的 GPU 类型和方向。它还应支持本地实验,使开发者能够在原型设计和大规模生产部署期间考虑需求波动,以便与 Kubernetes 自动扩展环境一起运行。

在 v0.2 版本的 Dynamo 中,我们推出了 NVIDIA Dynamo Planner  推理感知型自动缩放器,用于分解服务。使用 Dynamo Serve CLI (命令行接口) 的开发者现在可以在部署的同时运行 GPU 规划器,使其能够监控工作负载模式,并动态管理预填充和解码阶段的计算资源。

A workflow diagram showing how Dynamo Planner operates.
图 1。Dynamo 规划器使用预填充和解码特定指标,在解设置中纵向扩展和收缩 GPU,确保优化 GPU 利用率并降低推理成本

Dynamo Planner 的工作原理

  • 监控所有解码 GPU 的平均 KV 块利用率。
  • 跟踪全局 prefill 队列中的待处理 prefill 请求量。
  • 将这些值与 heuristic 阈值进行比较,开发者可以在部署设置期间手动定义这些阈值。
  • 自动重新平衡资源 – 在预填充和解码阶段之间切换 GPU,或从共享池调配新 GPU。

下一个版本的 Dynamo 将能够与 NVIDIA Dynamo Deploy CLI 一起运行 GPU Planner,从而在大规模 Kubernetes 部署中实现 autoscaling。

只需一条命令,即可将 LLM 从本地开发扩展到生产环境

AI 推理团队面临的一项关键挑战是,将 LLM 从本地开发环境过渡到可扩展的生产就绪型 Kubernetes 部署,操作十分复杂。虽然本地环境非常适合进行实验和原型设计,但很少能反映数据中心级生产系统的现实情况。

过去,使用 Kubernetes 将应用程序从本地过渡到生产需要执行一系列手动步骤:容器化应用程序及其支持组件,手动制作 Kubernetes YAML 配置文件,配置 Kubernetes 资源,以及管理向 Kubernetes 兼容注册表发布的容器镜像。此过程通常非常耗时、容易出错,并且严重依赖开发者专业知识,从而延迟新 LLM-enabled 应用程序的上市时间。

随着 LLM 规模和复杂性的不断变化,在生产环境中部署 LLM 的要求也显著增加。现代推理服务器现在需要其他组件,例如:

  • LLM 感知型请求路由,可在推理节点之间优化请求分布。
  • KV 缓存卸载可高效处理大规模推理内存需求。
  • 动态 GPU 分配可确保高效且经济高效地使用计算资源。

这些组件紧密集成,这使得在 Kubernetes 中手动容器化成为生产部署期间的额外挑战。

为应对这些挑战,v0.2 版本配备了 NVIDIA Dynamo Kubernetes Operator ,可自动执行 Kubernetes 部署。Operator 包含图像构建和图形管理功能,旨在完全自动化处理生产部署的复杂性。这使得 AI 推理团队能够从桌面 GPU 或本地 GPU 节点上的 Dynamo 原型转向使用单个 CLI 命令跨数千个 GPU 进行可扩展的数据中心级部署。

这种自动化消除了手动创建 Docker 文件和配置 YAML 的需求,并在 GPU 优化的 Kubernetes 集群中动态调配和扩展推理工作负载。它还与领先的 Kubernetes 原生 MLOps 云工具无缝集成,从而更轻松地将 Kubernetes 集群部署到所有主要的云服务提供商。

通过抽象化手动开发和配置流程,Dynamo 使 AI 团队能够专注于模型创新和交付,而不是基础架构设置。它可显著缩短生产时间,并提供在分布式环境中部署现代数据中心级 LLM 所需的可靠性、灵活性和可扩展性。

优化 NVIDIA 驱动的 Amazon EC2 实例上的 KV 缓存传输

KV 缓存是 LLM 推理成本的主要来源。虽然 KV 缓存通常对最终用户隐藏,但在后台进行管理,可以显著节省成本。分解服务和 KV 缓存卸载等技术已经出现,可以优化 KV 缓存的生成和存储。

然而,这些方法依赖于跨 GPU 节点的低延迟数据传输(通常通过 InfiniBand 或 Ethernet 等网络协议互联),并且可能涉及将数据移动到外部存储(例如文件系统或对象存储)。将各种网络和存储库集成到推理服务框架中非常耗时,而且通常会导致 KV 缓存移动效率低下,从而增加延迟并推高推理成本。

为应对这些挑战,Dynamo 包含开源 NVIDIA Inference Transfer Library (NIXL) 。NIXL 是一种高性能、低延迟的点对点通信库,专为在异构环境中移动数据而构建。它为跨内存和存储层的快速异步传输提供了一致的 API,降低了处理不同硬件和协议的复杂性。它支持与 GDS (GPUDirect Storage) 、UCX (Unified Communication X) 、Amazon S3 (Simple Storage Service) 等集成,并可跨 NVIDIA NVLink-C2C、NVIDIA NVLink Switch、InfiniBand、RoCE 和 Ethernet 等互连产品使用。

借助 NIXL,开发者不再需要手动处理协议选择或集成逻辑。相反,他们可以通过 NIXL 的前端 API 使用简单的 get、push 和 delete 命令,而库可以智能地选择最佳后端并处理所有底层 bookkeeping,从而大大简化开发并提高性能。

最新版本的 Dynamo 扩展了 NIXL 的支持,增加了 AWS Adapter (EFA) 。EFA 是用于 EC2 实例的节点间通信网络接口。借助 V0.2 Dynamo 版本,在 AWS 云上部署 LLM 的 AI 服务提供商现在可以在多节点设置中利用 Dynamo 的分布式和分解服务功能,这些功能在 NVIDIA 驱动的 EC2 实例上运行,例如由 NVIDIA Hopper 驱动的 P5 系列和由 NVIDIA Blackwell 驱动的 P6 系列。

参加我们的下一次用户见面会

我们正在以开放的方式构建 NVIDIA Dynamo,并已在 GitHub 上 发布了 我们的路线图。我们很高兴能继续讨论,并聆听您如何使用 NVIDIA Dynamo 进行构建。

加入我们于 6 月 5 日在 San Francisco 举行的首次线下 用户见面会 ,我们将深入探讨 v0.2 版本和 Dynamo 路线图。我们期待在那里见到您。

 

标签