NVIDIA NIM 微服务 是一套易于使用的云原生微服务,可缩短产品上市时间,并简化生成式 AI 模型在云、数据中心、云和 NVIDIA GPU 加速工作站的部署,开发者对这些微服务表现出极大兴趣。
为满足不同用例的需求,NVIDIA 正在推出各种打包的 AI 模型作为 NVIDIA NIM 微服务,以在 生成式 AI 推理工作流 中启用关键功能。
典型的生成式 AI 应用集成了多个不同的 NIM 微服务。例如,在 RAG 工作流中,多回合对话式 AI 使用 LLM、嵌入和重新排序 NIM 微服务。这些微服务的部署和生命周期管理及其对生产环境中的生成式 AI 工作流的依赖项可能会给 MLOps 和 LLMOps 工程师以及 Kubernetes 集群管理员带来额外的工作量。
因此,NVIDIA 宣布推出 NVIDIA NIM Operator ,这是一种 Kubernetes Operator,旨在促进在 Kubernetes 集群上部署、扩展、监控和管理 NVIDIA NIM 微服务。借助 NIM Operator,您只需单击几下或发出命令,即可部署、自动扩展和管理 NVIDIA NIM 微服务的生命周期。
集群管理员和 MLOps 和 LLMOps 工程师无需投入精力来手动部署、扩展和管理 AI 推理管道的生命周期。NIM Operator 可以处理所有这些以及更多工作。
核心功能和优势
开发者希望减少在本地部署中大规模部署 AI 推理管道的工作量。NIM Operator 通过简化、轻量级的部署来实现这一点,并在 Kubernetes 上管理 AI NIM 推理管道的生命周期。NIM Operator 还支持预缓存模型,以实现更快的初始推理和自动扩展。
图 2.NIM Operator Helm 部署
智能模型预缓存
NIM Operator 提供 模型预缓存 ,可以降低初始推理延迟并实现更快的自动扩展。它还支持在气隙环境中部署模型。
通过指定 NIM 配置文件和标签来使用 NIM 智能模型预缓存,或者让 NIM Operator 根据 Kubernetes 集群上可用的 GPU 自动检测最佳模型。您可以根据需要在任何可用节点(仅 CPU 或 GPU 加速节点)上预先缓存模型。
选择此选项后,NIM Operator 会在 Kubernetes 中创建永久性体积声明(PVC),然后在集群中下载并缓存 NIM 模型。然后,NIM Operator 会使用 NIMCache
自定义资源来部署和管理此 PVC 的生命周期。
图 3.NIM 微服务缓存部署
自动化 AI NIM 工作流部署
NVIDIA 正在引入两种 Kubernetes 自定义资源定义 (CRD) 来部署 NVIDIA NIM 微服务: NIMService 和 NIMPipeline 。
- 部署后,
NIMService
将每个 NIM 微服务作为独立的微服务进行管理。 NIMPipeline
支持集中部署和管理多个 NIM 微服务。
图 4 显示了作为微服务管道管理的 RAG 管道。您可以将多个管道作为集合而非单个服务进行管理。
图 4.NIM 微服务管道部署
自动缩放
NIM Operator 支持使用 Kubernetes Horizontal Pod Autoscaler (HPA) 自动扩展 NIMService 部署 及其 ReplicaSet
。
NIMService
和 NIMPipeline
CRD 支持所有常见的 HPA 指标和扩展行为,例如:
- 指定最小和最大副本数量
- 使用以下指标进行缩放:
- 每个 pod 的资源指标,例如 CPU
- 每个 pod 的自定义指标,例如 GPU 显存使用情况
- 目标指标,例如 NIM 最大请求或
KVCache
- 外部指标
您还可以指定任何 HPA 水平缩放和缩小行为,例如,用于防止抖动的稳定窗口以及用于控制在缩放时副本变化率的缩放策略。
有关更多信息,请参阅 GPU 指标 。
图 5.NIM 自动扩展
第 2 天操作
NIMService
和 NIMPipeline
支持通过可定制的滚动策略轻松滚动升级 NIM。更改 NIMService
或 NIMPipeline
CRD 中 NIM 的版本号,NIM Operator 会更新集群中的 NIM 部署。
NIMService
Pod 中的任何更改都将反映在 NIMService
和 NIMPipeline
状态中。您还可以为 NIMService
添加 Kubernetes ingress。
支撑矩阵
在启动时,NIM Operator 支持推理 LLM 和检索—嵌入 NIM 微服务。
我们正在不断扩展受支持的 NVIDIA NIM 微服务列表 。 有关受支持的 NIM 微服务完整列表的更多信息,请参阅 平台支持 。
结束语
通过自动执行 NVIDIA NIM 微服务的部署、扩展和生命周期管理,NIM Operator 使企业团队更轻松地采用 NIM 微服务并加速人工智能的采用。
这一努力符合我们的承诺,即让 NIM 微服务易于采用、生产就绪且安全。NIM Operator 将成为 NVIDIA AI Enterprise 未来版本的一部分,提供企业支持、API 稳定性和主动安全补丁。
立即通过 NGC 开始使用 NIM Operator ,或从 GitHub 资源库 获取。有关安装、使用或问题的技术问题,请在资源库中提交问题。