Data Center / Cloud / Edge

NVIDIA NIM Operator で Kubernetes の AI 推論パイプラインを管理

Reading Time: 2 minutes

開発者は、これは、クラウド、データ センター、クラウド、GPU により高速化されたワークステーションなど、あらゆる場所で市場投入までの時間を短縮し、生成 AI モデルのデプロイを簡素化することができる、使いやすいクラウドネイティブのマイクロサービスである NVIDIA NIM マイクロサービスに大いに期待しています。

多様なユース ケースの要求に応えるため、NVIDIA は、NVIDIA NIM マイクロサービスとしてパッケージ化されたさまざまな AI モデルを市場に投入しており、生成 AI 推論ワークフローの主要な機能を実現しています。

通常の生成 AI アプリケーションでは、複数の異なる NIM マイクロサービスを統合しています。例えば、RAG パイプラインのマルチターン対話型 AI では、LLM、埋め込み、リランキングなどの複数の NIM マイクロサービスを使用しています。これらのマイクロサービスのデプロイやライフサイクル管理、本番環境の生成 AI パイプラインへの依存関係により、MLOps および LLMOps のエンジニア、Kubernetes クラスターの管理者の労力がさらに増える場合があります。

このため、NVIDIA は、Kubernetes クラスターで NVIDIA NIM マイクロサービスのデプロイ、スケーリング、監視、管理を容易にするよう設計された Kubernetes オペレーターである NVIDIA NIM Operator を発表しました。NIM Operator を使用すれば、わずか数回のクリックまたはコマンドで、NVIDIA NIM マイクロサービスのデプロイ、オートスケーリング、ライフサイクルを管理することができます。

クラスター管理者や MLOps および LLLMOps のエンジニアが、AI 推論パイプラインの手作業によるデプロイ、スケーリング、ライフサイクル管理に労力を費やす必要はありません。NIM Operator がこれらすべてに対処します。

主な機能とメリット

開発者は、AI 推論パイプラインをローカルで大規模にデプロイする労力を軽減したいと考えています。NIM Operator は、簡素化された軽量なデプロイでこれを促進して、Kubernetes で AI NIM 推論パイプラインのライフサイクルを管理します。NIM Operator は、モデルの事前キャッシュもサポートしており、初期推論とオートスケーリングをより高速化することができます。

図 1. NIM Operator のアーキテクチャ
図 2. NIM Operator Helm のデプロイ

モデルのインテリジェント事前キャッシュ

NIM Operator は、モデルの事前キャッシュを行い、初期推論の遅延を低減して、オートスケーリングをより高速化することができます。また、インターネット接続のない環境でもモデルのデプロイが可能です。

NIM プロファイルとタグを指定して、NIM モデルのインテリジェント事前キャッシュを使用するか、Kubernetes クラスターで利用可能な GPU に基づいて、NIM Operator に最適なモデルを自動検出させます。CPU のみが搭載されたノードでも、GPU により高速化されたノードでも、要件に応じて利用可能なノードにモデルを事前キャッシュすることができます。

このオプションを選択すると、NIM Operator は、Kubernetes にPersistent Volume Claim (PVC) を作成し、クラスターに NIM モデルをダウンロードしてキャッシュします。次に、NIM Operator が NIMCache カスタム リソースを使用して、この PVC のライフサイクルをデプロイして管理します。

図 3. NIM マイクロサービス キャッシュのデプロイ

自動 AI NIM パイプライン デプロイ

NVIDIA は、2 つの Kubernetes カスタム リソース定義 (CRD) を導入して、NVIDIA NIM マイクロサービスである NIMServiceNIMPipeline をデプロイします。

  • NIMService がデプロイされると、各 NIM マイクロサービスをスタンドアロンのマイクロサービスとして管理します。
  • NIMPipeline は、複数の NIM マイクロサービスをまとめてデプロイし、管理することができます。

図 4 は、マイクロサービス パイプラインとして管理される RAG パイプラインを示しています。複数のパイプラインを個別のサービスではなく、一括して管理できます。

図 4. NIM マイクロサービス パイプラインのデプロイ

オートスケーリング

NIM Operator は、Kubernetes Horizontal Pod Autoscaler (HPA) を使用して、NIMService のデプロイとその ReplicaSet のオートスケーリングに対応しています。

NIMServiceNIMPipeline の CRD は、以下のような HPA でおなじみのメトリクスとスケーリング動作をすべてサポートしています。

  • レプリカ数の最小値と最大値を指定する
  • 以下のメトリクスを使用してスケーリングする
    • CPU など、ポッドごとのリソース メトリクス
    • GPU メモリの使用量など、ポッドごとのカスタム メトリクス
    • NIM 最大リクエストや KVCache などのオブジェクト メトリクス
    •  外部メトリクス

また、フラップを防止する安定化ウィンドウや、スケーリング中にレプリカ数の変化を制御するスケーリング ポリシーなど、HPA のスケールアップ動作とスケールダウン動作を指定することもできます。

詳細については、GPU メトリクスをご覧ください。

図 5. NIM オートスケーリング

2 日目のオペレーション

NIMServiceNIMPipeline は、カスタマイズ可能なローリング戦略で NIM の簡単なローリング アップグレードをサポートしています。 NIMService または NIMPipeline CRD で NIM のバージョン番号を変更すると、NIM Operator は、クラスターの NIM デプロイを更新します。

NIMService ポッドの変更はすべて NIMServiceNIMPipeline のステータスに反映されます。NIMService 向けに Kubernetes Ingress を追加することもできます。

サポートされるモデルとプラットフォーム

リリース時点で、NIM Operator は、LLM やRetrieval(埋め込み) NIM マイクロサービスをサポートしています。

NVIDIA は、サポート対象の NVIDIA NIM マイクロサービスのリストを継続的に拡大しています。サポート対象の NIM マイクロサービスの全リストの詳細については、プラットフォーム サポートをご覧ください

まとめ

NVIDIA NIM マイクロサービスのデプロイ、スケーリング、ライフサイクル管理を自動化することで、NIM Operator は、エンタープライズ チームが NIM マイクロサービスを簡単に導入し、AI の導入を高速化できるようにします。

この取り組みは、NIM マイクロサービスを簡単に導入でき、本番環境に対応し、安全性を確保するという NVIDIA のコミットメントとも一致しています。NIM Operator は、NVIDIA AI Enterprise が今後リリースする機能の一部で、エンタープライズ サポート、API の安定性、プロアクティブなセキュリティ パッチを提供します。

今すぐ NGC で NIM Operator を使い始めるか、GitHub リポジトリから入手してください。インストール、使用方法、問題に関する技術的な質問については、リポジトリに Issue を提出してください。


関連情報

Tags