NVIDIA NIM Operator#

关于 Operator#

NVIDIA NIM Operator 使集群管理员能够操作必要的软件组件和服务,以在 Kubernetes 中使用 NVIDIA NIM 微服务运行 LLM、嵌入和其他模型。

Operator 管理以下微服务及其使用的模型的生命周期

  • NVIDIA NIM for LLMs

  • NeMo Retriever Text Embedding NIM

  • NeMo Retriever Text Reranking NIM

NVIDIA 提供了一个示例多轮 RAG 管道。该管道部署了一个聊天机器人 Web 应用程序和一个链式服务器。链式服务器与 NIM 微服务和向量数据库通信。

使用 Operator 的优势#

使用 NIM Operator 简化了大规模和集群级别 NIM 微服务的操作和生命周期管理。自定义资源简化了多个 AI 推理管道(例如 RAG 和多个 LLM 推理)的部署和生命周期管理。此外,NIM Operator 支持缓存模型以减少初始推理延迟并启用自动缩放。

Operator 使用以下自定义资源

  • nimcaches.apps.nvidia.com

    此自定义资源允许从 NVIDIA NGC 下载模型并将其持久化到网络存储。缓存模型的一个优势是,当同一 NIM 微服务的多个实例启动时,这些微服务使用单个缓存模型。但是,缓存是可选的。不使用缓存时,每个 NIM 微服务实例在启动时都会下载模型副本。

  • nimservices.apps.nvidia.com

    此自定义资源表示 NIM 微服务。添加和更新 NIM 服务资源会在命名空间中为微服务创建 Kubernetes 部署。

    此自定义资源支持使用来自现有 NIM 缓存资源或持久卷声明的模型。

    此自定义资源还支持创建水平 Pod 自动扩缩器、Ingress 和服务监视器,以简化集群管理。

  • nimpipelines.apps.nvidia.com

    此自定义资源表示一组 NIM 服务自定义资源。

局限性#

Operator 具有以下局限性

  • 如果集群中的所有 GPU 都已分配,并且您更改了需要启动需要访问 GPU 设备的新 Pod 的自定义资源,则新 Pod 将卡在 Pending 状态,因为 Kubernetes 无法将新 Pod 调度到具有可分配 GPU 资源的节点。

许可#

下表标识了与 Operator 相关的软件组件的许可。

组件

工件类型

工件许可

源代码许可

NVIDIA NIM Operator

Helm Chart

NVIDIA AI Enterprise Software License Agreement

Apache 2

NVIDIA NIM Operator

镜像

NVIDIA AI Enterprise Software License Agreement

Apache 2

NVIDIA NIM for LLMs

容器

NVIDIA AI Enterprise Software License Agreement

NVIDIA NeMo Retriever Text Embedding NIM

容器

NVIDIA AI Enterprise Software License Agreement

NVIDIA NeMo Retriever Text Reranking NIM

容器

NVIDIA AI Enterprise Software License Agreement

NeMo Retriever NIM 容器仅供早期访问参与者使用。

第三方软件#

您可以与示例管道一起部署的链式服务器使用第三方软件。您可以下载第三方 许可