2.20. NVIDIA NIM モデルサービングプラットフォームについて


NVIDIA NIM モデルサービングプラットフォーム で NVIDIA NIM 推論サービスを使用してモデルを展開できます。

NVIDIA AI Enterprise の一部である NVIDIA NIM は、クラウド、データセンター、ワークステーションをまたいで推論を実行する高性能 AI モデルの、セキュアで信頼性の高いデプロイメントのために設計されたマイクロサービスのセットです。

関連情報

2.20.1. NVIDIA NIM モデルサービングプラットフォームの有効化

管理者は、Red Hat OpenShift AI ダッシュボードを使用して、NVIDIA NIM モデルサービングプラットフォームを有効にできます。

注記

以前に OpenShift AI で NVIDIA NIM モデルサービングプラットフォーム を有効にし、その後新しいバージョンにアップグレードした場合は、NVIDIA NGC API キーを再入力して、NVIDIA NIM モデルサービングプラットフォームを再度有効にしてください。

前提条件

  • Red Hat OpenShift AI に管理者としてログインしている。
  • シングルモデルサービングプラットフォームを有効にしている。プリインストールされているランタイムを有効にする必要はありません。シングルモデルサービングプラットフォームを有効にする方法の詳細は、シングルモデルサービングプラットフォームの有効化 を参照してください。
  • disableNIMModelServing OpenShift AI ダッシュボード設定が false に設定されている。

    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 user guide を参照してください。
  • お使いの NCA アカウントが NVIDIA AI Enterprise Viewer ロールに関連付けられている。
  • NGC ポータルで NGC API キーを生成した。詳細は、NGC API keys を参照してください。

手順

  1. OpenShift AI にログインします。
  2. OpenShift AI ダッシュボードの左側のメニューで、Applications Explore をクリックします。
  3. Explore ページで、NVIDIA NIM タイルを見つけます。
  4. アプリケーションタイルで Enable をクリックします。
  5. NGC API キーを入力し、Submit をクリックします。

検証

  • 有効にした NVIDIA NIM アプリケーションが Enabled ページに表示されます。

2.20.2. NVIDIA NIM モデルサービングプラットフォームにモデルをデプロイする

NVIDIA NIM モデルサービングプラットフォーム を有効にすると、プラットフォーム上で NVIDIA 向けに最適化されたモデルのデプロイを開始できます。

前提条件

  • Red Hat OpenShift AI にログインしている。
  • OpenShift AI グループを使用している場合は、OpenShift のユーザーグループまたは管理者グループ (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 Projects ページが開きます。

  2. モデルをデプロイするプロジェクトの名前をクリックします。

    プロジェクトの詳細ページが開きます。

  3. Models タブをクリックします。
  4. Models セクションで、次のいずれかの操作クションを実行します。

    • NVIDIA NIM model serving platform タイルで、タイル上の Select NVIDIA NIM をクリックし、Deploy model をクリックします。
    • 以前に NVIDIA NIM モデルサービングタイプを選択した場合は、Models ページの右上隅に NVIDIA model serving enabled が表示され、Deploy model ボタンも表示されます。続行するには、Deploy model をクリックします。

    Deploy model ダイアログが開きます。

  5. モデルをデプロイするためのプロパティーを次のように設定します。

    1. Model deployment name フィールドに、デプロイメントの一意の名前を入力します。
    2. NVIDIA NIM リストから、デプロイする NVIDIA NIM モデルを選択します。詳細は、Supported Models を参照してください。
    3. NVIDIA NIM storage size フィールドで、NVIDIA NIM モデルを保存するために作成されるクラスターストレージインスタンスのサイズを指定します。
    4. Number of model server replicas to deploy フィールドに値を指定します。
    5. Model server size リストから値を選択します。
    6. Accelerator リストからアクセラレーターを選択します。

      Number of accelerators フィールドが表示されます。

    7. Number of accelerators フィールドで、使用するアクセラレーターの数を指定します。デフォルト値は 1 です。
  6. オプション: Model route セクションで、Make deployed models available through an external route チェックボックスをオンにして、デプロイされたモデルを外部クライアントが利用できるようにします。
  7. デプロイされたモデルに対する推論リクエストにトークン認証を要求するには、次のアクションを実行します。

    1. Require token authentication を選択します。
    2. Service account name フィールドに、トークンが生成されるサービスアカウント名を入力します。
    3. 追加のサービスアカウントを追加するには、Add a service account をクリックし、別のサービスアカウント名を入力します。
  8. Deploy をクリックします。

検証

  • デプロイされたモデルがプロジェクトの Models タブに表示され、ダッシュボードの Model Serving ページで Status 列にチェックマークが付いて表示されていることを確認します。

2.20.3. 既存の NIM デプロイメントの NVIDIA NIM メトリクスの有効化

以前に OpenShift AI に NIM モデルをデプロイし、その後 2.18 にアップグレードした場合は、メトリクスの収集とグラフの生成を有効にするアノテーションを追加して、既存のデプロイメントに対して NIM メトリクスを手動で有効にする必要があります。

注記

2.17 では、NIM メトリクスとグラフが新しいデプロイメントに対して自動的に有効になります。

2.20.3.1. 既存の既存の NIM デプロイメントのグラフ生成の有効化

次の手順では、既存の NIM デプロイメントでグラフ生成を有効にする方法を説明します。

前提条件

  • OpenShift クラスターのクラスター管理者権限を持っている。
  • OpenShift コマンドラインインターフェイス (CLI) がダウンロードおよびインストールされている。詳細は、OpenShift CLI のインストール を参照してください。
  • OpenShift AI に既存の NIM デプロイメントがある。

手順

  1. ターミナルウィンドウで、クラスター管理者として OpenShift クラスターにまだログインしていない場合は、OpenShift CLI にログインします。
  2. NIM デプロイメントに関連付けられている ServingRuntime の名前を確認します。

    oc get servingruntime -n <namespace>

    <namespace> は、NIM モデルがデプロイされているプロジェクトの namespace に置き換えます。

  3. ServingRuntime 設定に既存の metadata.annotations セクションがあるかどうかを確認します。

    oc get servingruntime -n  <namespace> <servingruntime-name> -o json | jq '.metadata.annotations'

    <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"}}]'

      以下のような出力が表示されます。

      servingruntime.serving.kserve.io/nim-serving-runtime patched
    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"}]'

      以下のような出力が表示されます。

      servingruntime.serving.kserve.io/nim-serving-runtime patched

検証

  • アノテーションが既存の NIM デプロイメントの ServingRuntime に追加されていることを確認します。

    oc get servingruntime -n <namespace> <servingruntime-name> -o json | jq '.metadata.annotations'

    追加したアノテーションが出力に表示されます。

    ...
    "runtimes.opendatahub.io/nvidia-nim": "true"
    注記

    メトリクスをグラフ生成に使用できるようにするには、デプロイメントでメトリクスの収集も有効にする必要があります。既存の NIM デプロイメントのメトリクス収集の有効化 を参照してください。

2.20.3.2. 既存の NIM デプロイメントのメトリクス収集を有効にする

既存の NIM デプロイメントのメトリクス収集を有効にするには、デプロイメントの InferenceService に Prometheus エンドポイントとポートアノテーションを手動で追加する必要があります。

次の手順では、NIM デプロイメントの InferenceService に必要な Prometheus アノテーションを追加する方法を説明します。

前提条件

  • OpenShift クラスターのクラスター管理者権限を持っている。
  • OpenShift コマンドラインインターフェイス (CLI) がダウンロードおよびインストールされている。詳細は、OpenShift CLI のインストール を参照してください。
  • OpenShift AI に既存の NIM デプロイメントがある。

手順

  1. ターミナルウィンドウで、クラスター管理者として OpenShift クラスターにまだログインしていない場合は、OpenShift CLI にログインします。
  2. NIM デプロイメントに関連付けられている InferenceService の名前を確認します。

    oc get inferenceservice -n <namespace>

    <namespace> は、NIM モデルがデプロイされているプロジェクトの namespace に置き換えます。

  3. InferenceService 設定に spec.predictor.annotations セクションが存在するかどうかを確認します。

    oc get inferenceservice -n <namespace> <inferenceservice-name> -o json | jq '.spec.predictor.annotations'

    <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"}}]'

      追加したアノテーションが出力に表示されます。

      inferenceservice.serving.kserve.io/nim-serving-runtime patched
    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"}]'

      追加したアノテーションは出力に表示されます。

      inferenceservice.serving.kserve.io/nim-serving-runtime patched

検証

  • アノテーションが InferenceService に追加されていることを確認します。

    oc get inferenceservice -n <namespace> <inferenceservice-name> -o json | jq '.spec.predictor.annotations'

    出力に追加したアノテーションが表示されます。

    {
      "prometheus.io/path": "/metrics",
      "prometheus.io/port": "8000"
    }

2.20.4. NIM モデルの NVIDIA NIM メトリクスの表示

OpenShift AI では、NVIDIA NIM モデルサービスプラットフォームにデプロイされた NIM モデルの次の NVIDIA NIM メトリクスを確認できます。

  • GPU キャッシュ使用量の推移 (ミリ秒)
  • 現在実行中、待機中、および最大のリクエスト数
  • トークンの数
  • 最初のトークンまでの時間
  • 出力トークンあたりの時間
  • リクエスト結果

これらのメトリクスの時間範囲と更新間隔を指定すると、指定した時間におけるピーク使用時間やモデルのパフォーマンスなどを判断するのに役立ちます。

前提条件

  • NVIDIA NIM モデルサービングプラットフォームを有効にした。
  • NVIDIA NIM モデルサービスプラットフォームに NIM モデルがデプロイされている。
  • OpenShift AI グループを使用している場合は、OpenShift のユーザーグループまたは管理者グループ (rhoai-usersrhoai-admins など) に属している。
  • disableKServeMetrics OpenShift AI ダッシュボード設定オプションは、デフォルト値の false に設定されている。

    disableKServeMetrics: false

    詳細は、ダッシュボード設定オプション を参照してください。

手順

  1. OpenShift AI ダッシュボードのナビゲーションメニューから、Data Science Projects をクリックします。

    Data Science Projects ページが開きます。

  2. 監視する NIM モデルを含むプロジェクトの名前をクリックします。
  3. プロジェクトの詳細ページで、Models タブをクリックします。
  4. 確認する NIM モデルをクリックします。
  5. NIM Metrics タブで、以下のオプションを設定します。

    • 時間範囲 - メトリクスを追跡する期間を指定します。1 時間、24 時間、7 日、30 日のいずれかの値を選択できます。
    • 更新間隔 - (最新のデータを表示するために) メトリクスページのグラフを更新する頻度を指定します。15 秒、30 秒、1 分、5 分、15 分、30 分、1 時間、2 時間、1 日の値のいずれかを選択できます。
  6. NIM メトリクスのデータグラフを表示するには、下にスクロールします。

検証

NIM メトリクス タブには、デプロイされた NIM モデルの NIM メトリクスのグラフが表示されます。

2.20.5. NIM モデルのパフォーマンスメトリクスの表示

NVIDIA NIM モデルサービスプラットフォームにデプロイされた NIM モデルでは、次のパフォーマンスメトリクスを確認できます。

  • リクエスト数 - 特定のモデルに対して失敗または成功したリクエストの数。
  • 平均応答時間 (ミリ秒) - 特定のモデルがリクエストに応答するまでにかかる平均時間。
  • CPU 使用率 (%) - 特定のモデルによって現在使用されている、モデルレプリカごとの CPU 制限の割合。
  • メモリー使用率 (%) - 特定のモデルによって使用されているモデルレプリカごとのメモリー制限の割合。

これらのメトリクスの時間範囲と更新間隔を指定すると、指定した時間におけるピーク使用時間やモデルのパフォーマンスなどを判断するのに役立ちます。

前提条件

  • NVIDIA NIM モデルサービングプラットフォームを有効にした。
  • NVIDIA NIM モデルサービスプラットフォームに NIM モデルがデプロイされている。
  • OpenShift AI グループを使用している場合は、OpenShift のユーザーグループまたは管理者グループ (rhoai-usersrhoai-admins など) に属している。
  • disableKServeMetrics OpenShift AI ダッシュボード設定オプションは、デフォルト値の false に設定されている。

    disableKServeMetrics: false

    詳細は、ダッシュボード設定オプション を参照してください。

手順

  1. OpenShift AI ダッシュボードのナビゲーションメニューから、Data Science Projects をクリックします。

    Data Science Projects ページが開きます。

  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 performance タブには、デプロイされた NIM モデルのパフォーマンスメトリクスのグラフが表示されます。

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.