2.19. 关于 NVIDIA NIM 模型服务平台


您可以在 NVIDIA NIM 模型服务平台上使用 NVIDIA NIM inference 服务部署模型

NVIDIA NIM 是 NVIDIA AI Enterprise 的一部分,是设计用于安全可靠的部署高性能 AI 模型影响云、数据中心和工作站的微服务。

2.19.1. 启用 NVIDIA NIM 模型服务平台

作为 OpenShift AI 管理员,您可以使用 Red Hat OpenShift AI 仪表板启用 NVIDIA NIM 模型服务平台。

注意

如果您之前在 OpenShift AI 中启用了 NVIDIA NIM 模型 服务平台,然后升级到更新的版本,重新输入 NVIDIA NGC API 密钥以重新启用 NVIDIA NIM 模型服务平台。

先决条件

  • 您已以具有 OpenShift AI 管理员特权的用户身份登录到 OpenShift AI。
  • 您已启用了 single-model 服务平台。您不需要启用预安装的运行时。有关启用单模式服务平台的更多信息,请参阅启用单模式服务平台
  • disableNIMModelServing 仪表板配置选项设置为 false

    有关设置仪表板配置选项的更多信息,请参阅 自定义仪表板

  • 您已在 OpenShift AI 中启用了 GPU 支持。这包括安装 Node Feature Discovery operator 和 NVIDIA GPU Operator。如需更多信息,请参阅安装 Node Feature Discovery operator启用 NVIDIA GPU
  • 您有一个 NVIDIA Cloud Account (NCA),并可以访问 NVIDIA GPU Cloud (NGC)门户。如需更多信息,请参阅 NVIDIA GPU Cloud 用户指南
  • 您的 NCA 帐户与 NVIDIA AI Enterprise Viewer 角色关联。
  • 您已在 NGC 门户中生成了 NGC API 密钥。如需更多信息,请参阅 NGC API 密钥

流程

  1. 在 OpenShift AI 仪表板的左侧菜单中,点击 Applications Explore
  2. Explore 页面中,找到 NVIDIA NIM 标题。
  3. 在应用程序标题上点 Enable
  4. 输入 NGC API 密钥,然后单击 Submit

验证

  • 您启用的 NVIDIA NIM 应用程序会出现在 Enabled 页面中。

2.19.2. 在 NVIDIA NIM 模型服务平台上部署模型

当您启用了 NVIDIA NIM 模型服务平台 时,您可以开始在平台上部署 NVIDIA 优化模型。

先决条件

  • 您已登陆到 Red Hat OpenShift AI。
  • 如果您使用 OpenShift AI 组,则作为 OpenShift 中的用户组或 admin 组(如 rhoai-usersrhoai-admins)的一部分。
  • 您已启用了 NVIDIA NIM 模型服务平台
  • 您已创建了数据科学项目。
  • 您已在 OpenShift AI 中启用了图形处理单元(GPU)的支持。这包括安装 Node Feature Discovery operator 和 NVIDIA GPU Operator。如需更多信息,请参阅安装 Node Feature Discovery operator启用 NVIDIA GPU

流程

  1. 在左侧菜单中,单击 Data Science projects

    Data Science 项目页将打开。

  2. 点击您要在其中部署模型的项目的名称。

    此时会打开项目详情页面。

  3. Models 选项卡。
  4. Models 部分中,执行以下操作之一:

    • ​NVIDIA NIM 模型服务平台 标题上,点标题上的 Select NVIDIA NIM,然后点 Deploy model
    • 如果您之前选择了 NVIDIA NIM 模型服务类型,则 Models 页面会显示右上角的 NVIDIA 模型 服务以及 Deploy model 按钮。要继续,请单击 Deploy model

    此时会打开 Deploy model 对话框。

  5. 配置部署模型的属性,如下所示:

    1. Model deployment name 字段中输入部署的唯一名称。
    2. NVIDIA NIM 列表中,选择您要部署的 NVIDIA NIM 模型。如需更多信息,请参阅支持的模型
    3. NVIDIA NIM 存储大小字段中,指定将创建用于存储 NVIDIA NIM 模型的集群存储 实例的大小。
    4. 在要部署的模型服务器副本的 Number of model server replicas 中,指定一个值。
    5. Model server size 列表中选择一个值。
  6. Hardware profile 列表中,选择一个硬件配置文件。

    重要

    默认情况下,硬件配置集在仪表板导航菜单和用户界面中隐藏,而加速器配置集保持可见。另外,与已弃用的加速器配置集功能关联的用户界面组件仍然会显示。如果您启用硬件配置集,则会出现 硬件配置集列表 而不是 加速器配置集列表。要在仪表板导航菜单中显示 Settings Hardware profiles 选项,以及与硬件配置集关联的用户界面组件,请在 OpenShift 中的 OdhDashboardConfig 自定义资源(CR)中将 disableHardwareProfiles 值设置为 false。有关设置仪表板配置选项的更多信息,请参阅 自定义仪表板

  7. 可选:点 Customize resource requests and limit 并更新以下值:

    1. CPU requests 字段中,指定要与模型服务器一起使用的 CPU 数量。使用此字段旁边的列表来指定内核或 millicores 的值。
    2. CPU limits 字段中,指定模型服务器使用的最大 CPU 数量。使用此字段旁边的列表来指定内核或 millicores 的值。
    3. Memory requests 字段中,以 gibibytes (Gi)为模型服务器指定请求的内存。
    4. Memory limits 字段中,以千兆字节(Gi)指定模型服务器的最大内存限值。
  8. 可选:在 Model route 部分中,选择 Make deployed model available via an external route 复选框,使部署的模型可供外部客户端使用。
  9. 要求对部署的模型对令牌身份验证进行推测请求,请执行以下操作:

    1. 选择 Require token authentication
    2. Service account name 字段中,输入要为其生成令牌的服务帐户名称。
    3. 要添加额外服务帐户,请点 Add a service account 并输入另一个服务帐户名称。
  10. Deploy

验证

  • 确认部署的模型显示在项目的 Models 选项卡中,并在仪表板的 Model deployments 页面中显示 Status 列中带有复选标记。

NVIDIA NIM 模型服务平台提供对 NVIDIA GPU Cloud (NGC)中所有可用 NVIDIA NIM 模型的访问。您可以通过从 Deploy model 对话框中的 NVIDIA NIM 列表中选择它来部署 NIM 模型。要自定义列表中出现的模型,您可以创建一个指定您首选的模型的 ConfigMap 对象。

先决条件

  • 具有集群管理员特权。
  • 您有一个 NVIDIA Cloud Account (NCA),并可以访问 NVIDIA GPU Cloud (NGC)门户。
  • 您知道要在 NVIDIA NIM 模型服务平台上选择的 NVIDIA NIM 模型的 ID。

    注意
    • 您可以从 NGC Catalog 找到模型 ID。ID 通常是 URL 路径的一部分。
    • 您还可以使用 NGC CLI 找到模型 ID。如需更多信息,请参阅 NGC CLI 参考
  • 您知道 帐户 自定义资源(CR)的名称和命名空间。

流程

  1. 在一个终端窗口中,以集群管理员身份登录到 OpenShift CLI,如下例所示:

    oc login <openshift_cluster_url> -u <admin_username> -p <password>
    Copy to Clipboard Toggle word wrap
  2. 在 YAML 文件中定义 ConfigMap 对象,类似于以下示例中的 ConfigMap 对象,其中包含您要在 NVIDIA NIM 模型服务平台上选择的模型 ID:

    apiVersion: v1
    kind: ConfigMap
    metadata:
     name: nvidia-nim-enabled-models
    data:
     models: |-
        [
        "mistral-nemo-12b-instruct",
        "llama3-70b-instruct",
        "phind-codellama-34b-v2-instruct",
        "deepseek-r1",
        "qwen-2.5-72b-instruct"
        ]
    Copy to Clipboard Toggle word wrap
  3. 确认 帐户 CR 的名称和命名空间

    oc get account -A
    Copy to Clipboard Toggle word wrap

    您会看到类似以下示例的输出:

    NAMESPACE         NAME       TEMPLATE  CONFIGMAP  SECRET
    redhat-ods-applications  odh-nim-account
    Copy to Clipboard Toggle word wrap
  4. 在与您的帐户 CR 相同的命名空间中部署 ConfigMap 对象:

    oc apply -f <configmap-name> -n <namespace>
    Copy to Clipboard Toggle word wrap

    <configmap-name > 替换为您的 YAML 文件的名称,将 & lt;namespace > 替换为您的 帐户 CR 的命名空间。

  5. 将之前创建的 ConfigMap 对象添加到 Account CR 的 spec.modelListConfig 部分:

    oc patch account <account-name> \
      --type='merge' \
      	-p '{"spec": {"modelListConfig": {"name": "<configmap-name>"}}}'
    Copy to Clipboard Toggle word wrap

    <account-name > 替换为 帐户 CR 的名称,将 & lt;configmap-name& gt; 替换为您的 ConfigMap 对象。

  6. 确认 ConfigMap 对象已添加到您的帐户 CR

    oc get account <account-name> -o yaml
    Copy to Clipboard Toggle word wrap

    您可以在 Account CR 的 spec.modelListConfig 部分看到 ConfigMap 对象,类似于以下输出:

    spec:
     enabledModelsConfig:
     modelListConfig:
      name: <configmap-name>
    Copy to Clipboard Toggle word wrap

验证

2.19.4. 为现有 NIM 部署启用 NVIDIA NIM 指标

如果您之前在 OpenShift AI 中部署了 NIM 模型,然后升级到 2.22,则必须通过添加注解启用指标集合和图形生成来手动为现有部署启用 NIM 指标。

注意

NIM 指标和图形在 2.17 中自动启用。

2.19.4.1. 为现有 NIM 部署启用图形生成

以下流程描述了如何为现有 NIM 部署启用图形生成。

先决条件

  • 具有集群管理员特权。
  • 您已下载并安装 OpenShift 命令行界面 (CLI)。如需更多信息 ,请参阅安装 OpenShift CLI
  • 在 OpenShift AI 中已有 NIM 部署。

流程

  1. 在一个终端窗口中,如果您还没有以集群管理员身份登录到 OpenShift 集群,请登录 OpenShift CLI。
  2. 确认与 NIM 部署关联的 ServingRuntime 的名称:

    oc get servingruntime -n <namespace>
    Copy to Clipboard Toggle word wrap

    &lt;namespace> 替换为部署 NIM 模型的项目的命名空间。

  3. 检查 ServingRuntime 配置中现有的 metadata.annotations 部分:

    oc get servingruntime -n  <namespace> <servingruntime-name> -o json | jq '.metadata.annotations'
    Copy to Clipboard Toggle word wrap

    将 <servingruntime-name> 替换为上一步中的 ServingRuntime 的名称。

  4. 执行以下操作之一:

    1. 如果配置中没有 metadata.annotations 部分,请使用所需注解添加部分:

      oc patch servingruntime -n <namespace> <servingruntime-name> --type json --patch \
       '[{"op": "add", "path": "/metadata/annotations", "value": {"runtimes.opendatahub.io/nvidia-nim": "true"}}]'
      Copy to Clipboard Toggle word wrap

      您会看到类似如下的输出:

      servingruntime.serving.kserve.io/nim-serving-runtime patched
      Copy to Clipboard Toggle word wrap
    2. 如果已存在 metadata.annotations 部分,请将所需的注解添加到部分中:

      oc patch servingruntime -n <project-namespace> <runtime-name> --type json --patch \
       '[{"op": "add", "path": "/metadata/annotations/runtimes.opendatahub.io~1nvidia-nim", "value": "true"}]'
      Copy to Clipboard Toggle word wrap

      您会看到类似如下的输出:

      servingruntime.serving.kserve.io/nim-serving-runtime patched
      Copy to Clipboard Toggle word wrap

验证

  • 确认注解已添加到现有 NIM 部署的 ServingRuntime 中。

    oc get servingruntime -n <namespace> <servingruntime-name> -o json | jq '.metadata.annotations'
    Copy to Clipboard Toggle word wrap

    您添加的注解会出现在输出中:

    ...
    "runtimes.opendatahub.io/nvidia-nim": "true"
    Copy to Clipboard Toggle word wrap
    注意

    要使指标可用于图形生成,还必须为您的部署启用指标集合。请参阅 为现有 NIM 部署启用指标集合

2.19.4.2. 为现有 NIM 部署启用指标集合

要为现有 NIM 部署启用指标集合,您必须手动将 Prometheus 端点和端口注解添加到部署的 InferenceService 中。

以下流程描述了如何将所需的 Prometheus 注解添加到 NIM 部署的 InferenceService 中。

先决条件

  • 具有集群管理员特权。
  • 您已下载并安装 OpenShift 命令行界面 (CLI)。如需更多信息 ,请参阅安装 OpenShift CLI
  • 在 OpenShift AI 中已有 NIM 部署。

流程

  1. 在一个终端窗口中,如果您还没有以集群管理员身份登录到 OpenShift 集群,请登录 OpenShift CLI。
  2. 确认与 NIM 部署关联的 InferenceService 的名称:

    oc get inferenceservice -n <namespace>
    Copy to Clipboard Toggle word wrap

    &lt;namespace> 替换为部署 NIM 模型的项目的命名空间。

  3. 检查 InferenceService 配置中是否存在现有的 spec.predictor.annotations 部分:

    oc get inferenceservice -n <namespace> <inferenceservice-name> -o json | jq '.spec.predictor.annotations'
    Copy to Clipboard Toggle word wrap

    将 <inferenceservice-name> 替换为上一步中的 InferenceService 的名称。

  4. 执行以下操作之一:

    1. 如果配置中不存在 spec.predictor.annotations 部分,请添加这个部分和所需的注解:

      oc patch inferenceservice -n <namespace> <inference-name> --type json --patch \
       '[{"op": "add", "path": "/spec/predictor/annotations", "value": {"prometheus.io/path": "/metrics", "prometheus.io/port": "8000"}}]'
      Copy to Clipboard Toggle word wrap

      您添加的注解会出现在输出中:

      inferenceservice.serving.kserve.io/nim-serving-runtime patched
      Copy to Clipboard Toggle word wrap
    2. 如果已存在 spec.predictor.annotations 部分,请将 Prometheus 注解添加到部分中:

      oc patch inferenceservice -n <namespace> <inference-service-name> --type json --patch \
       '[{"op": "add", "path": "/spec/predictor/annotations/prometheus.io~1path", "value": "/metrics"},
       {"op": "add", "path": "/spec/predictor/annotations/prometheus.io~1port", "value": "8000"}]'
      Copy to Clipboard Toggle word wrap

      您添加的注解会出现在输出中:

      inferenceservice.serving.kserve.io/nim-serving-runtime patched
      Copy to Clipboard Toggle word wrap

验证

  • 确认注解已添加到 InferenceService 中。

    oc get inferenceservice -n <namespace> <inferenceservice-name> -o json | jq '.spec.predictor.annotations'
    Copy to Clipboard Toggle word wrap

    您会看到您在输出中添加的注解:

    {
      "prometheus.io/path": "/metrics",
      "prometheus.io/port": "8000"
    }
    Copy to Clipboard Toggle word wrap

2.19.5. 查看 NIM 模型的 NVIDIA NIM 指标

在 OpenShift AI 中,您可以观察在 NVIDIA NIM 模型服务平台上部署的 NIM 模型的以下 NVIDIA NIM 指标:

  • GPU 缓存使用量随时间(ms)
  • 当前正在运行、等待和最大请求计数
  • 令牌计数
  • 第一次令牌
  • 每个输出令牌的时间
  • 请求结果

您可以为这些指标指定时间范围和刷新间隔,以帮助您决定在指定时间的峰值使用小时和型号性能。

先决条件

  • 您已启用了 NVIDIA NIM 模型服务平台。
  • 您已在 NVIDIA NIM 模型服务平台上部署了 NIM 模型。
  • 如果您使用 OpenShift AI 组,则作为 OpenShift 中的用户组或 admin 组(如 rhoai-usersrhoai-admins)的一部分。
  • disableKServeMetrics OpenShift AI 仪表板配置选项被设置为默认值 false

    disableKServeMetrics: false
    Copy to Clipboard Toggle word wrap

    有关设置仪表板配置选项的更多信息,请参阅 自定义仪表板

流程

  1. 在 OpenShift AI 仪表板导航菜单中点 Data Science projects

    Data Science 项目页将打开。

  2. 点击包含您要监控的 NIM 模型的项目名称。
  3. 在项目详情页面中,点 Models 选项卡。
  4. 点击您要观察的 NIM 模型。
  5. NIM Metrics 选项卡中,设置以下选项:

    • 时间范围 -指定跟踪指标的时长。您可以选择其中一个值:1 小时、24 小时、7 天和 30 天。
    • 刷新 interval - 指定指标页面中图形的频率(显示最新的数据)。您可以选择以下值之一:15 秒、30 秒、1 分钟、5 分钟、15 分钟、30 分钟、1 小时、2 小时和 1 天。
  6. 向下滚动以查看 NIM 指标的数据图形。

验证

NIM Metrics 选项卡显示所部署的 NIM 模型的 NIM 指标图。

2.19.6. 查看 NIM 模型的性能指标

您可以观察在 NVIDIA NIM 模型服务平台上部署的 NIM 模型的以下性能指标:

  • 请求数 - 特定模型失败的请求数。
  • 平均响应时间(ms)- 对请求做出特定模型的平均时间
  • CPU 使用率(%) -特定模型当前使用的每个模型副本的 CPU 限值百分比。
  • 内存使用率(%) -特定模型使用的每个模型副本的内存限值百分比。

您可以为这些指标指定时间范围和刷新间隔,以帮助您决定在指定时间的峰值使用小时和型号性能。

先决条件

  • 您已启用了 NVIDIA NIM 模型服务平台。
  • 您已在 NVIDIA NIM 模型服务平台上部署了 NIM 模型。
  • 如果您使用 OpenShift AI 组,则作为 OpenShift 中的用户组或 admin 组(如 rhoai-usersrhoai-admins)的一部分。
  • disableKServeMetrics OpenShift AI 仪表板配置选项被设置为默认值 false

    disableKServeMetrics: false
    Copy to Clipboard Toggle word wrap

    有关设置仪表板配置选项的更多信息,请参阅 自定义仪表板

流程

  1. 在 OpenShift AI 仪表板导航菜单中点 Data Science projects

    Data Science 项目页将打开。

  2. 点击包含您要监控的 NIM 模型的项目名称。
  3. 在项目详情页面中,点 Models 选项卡。
  4. 点击您要观察的 NIM 模型。
  5. Endpoint performance 选项卡中,设置以下选项:

    • 时间范围 -指定跟踪指标的时长。您可以选择其中一个值:1 小时、24 小时、7 天和 30 天。
    • refresh interval - 指定指标页面上图形的频率,以显示最新的数据。您可以选择以下值之一:15 秒、30 秒、1 分钟、5 分钟、15 分钟、30 分钟、1 小时、2 小时和 1 天。
  6. 向下滚动以查看性能指标的数据图形。

验证

Endpoint 性能 选项卡显示所部署的 NIM 模型的性能指标图。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat