先日開催された Nutanix Meetup Hybrid 25.08 で話した「Nutanix Enterprise AI の仕組み入門」のスライドです。
アジェンダ
録画
当日の録画はこちら。
1. Nutanix Enterprise AI(NAI)の概要
NAI とは・・・
- Kubernetes 上で起動するアプリ
- LLM などのモデルを、Hugging Face Hub / NVIDIA NGC Container Registry からダウンロードして、Nutanix Files の NFS ボリューム(PV)などに保存できます。
- エンドポイント(推論サーバー)を起動して、LLM による推論(生成)を実行するエンドポイント(URL) を作成できます。
- リクエストで指定する API キーも用意できます。
- サンプル コード、テスト生成の UI も提供されます。
- 管理用の Web UI があります。(REST API もあり)

エンドポイント作成により、AI アプリなどの推論リクエスト先となる URL を用意できます。

NAI のイメージ図です。

NAI の仕組みを説明する前提として、Kubernetes についておさらいしておきます。

NAI を展開する Kubernetes には、GPU を搭載したノードを用意するため、「GPU ノード プール」を追加しておきます。

ちなみに、最近 NAI 2.4 がリリースされました。さりげなく、これまで Istio が利用されていた部分が Envoy に置き換わったようです。

2. NAI UI
NAI の Web UI(や管理機能)も、Kubernetes 上にコンテナで起動されます。展開される Namecpace(名前空間)は、おもに「nai-system」です。DB などのデータは、Nutanix Volumes の PV に配置されます。

この Web UI を含め、外部から Kubernetes にアクセスする通信は(NAI 2.4 では) Envoy が受け付けています。
ちなみに、この例では、ロード バランサーの IP アドレスは 10.1.7.3 ~ (10.1.7.0/24)を指定しています。

NAI UI へのアクセスのイメージです。

Kubernetes のリソースは、下記のように作成されます。

Envoy による Gateway の様子です。

Envoy による Gateway の様子です。(つづき)

3. モデル ストア
NAI UI から、Hugging Face Hub や NVIDIA NGC Container Registry などからモデルをダウンロードできます。

NAI に(事前に Nutanix 社によって)登録されているモデルを選択して、ダウンロードできます。

NVIDIA NGC からは、NIM のモデルがダウンロードできます。

NAI 2.4 のデフォルトでは、すべてのモデルがアクセス許可なしになっています。

モデルのアクセス許可は、下記のようにモデル単位で設定できます。

モデルは、Model(models.iep.nai.nutanix.com)という Kubernetes のカスタム リソースで管理されます。
- モデルのダウンロードする Pod が起動され、その Pod は処理の完了後は停止 → 削除されます。
- カタログの一覧からダウンロードされたモデルは、Nutanix Files による NFS 共有の PV(Nutanix CSI で動的プロビジョニング)に保存されます。

Model に関連する Kubernetes リソースの様子です。(ちなみに、画像はクリックすると大きくなります)

Model リソースには、NAI UI で表示されるモデル名なども含まれています。

4. エンドポイント(推論サーバー)の起動
NAI では、ダウンロードしてあるモデルからエンドポイント(推論サーバー)を起動できます。

モデルの種類や推論エンジン(TGI / vLLM / NVIDIA NIM)によって、エンドポイント作成時のパラメータが変わったりします。

作成されたエンドポイントを開くと・・・

エンドポイントごとの画面が用意されています。URL や API キーの確認、テスト(モデルの動作確認)などを実施できます。

テキスト生成モデルでは、下記のように生成テストを実施できます。

エンドポイントの実態は、KServe による InferenceService リソースです。

Kubernetes 外部からエンドポイントへのアクセスのイメージです。(NAI 2.4 から変更があったので調査中...)

エンドポイントに関連する Kubernetes リソースの様子です。

エンドポイントに関連する Kubernetes リソースの様子です。(つづき)

今回のまとめは NAI です。
以上。
