vm.gowatana.jp

NEOにほんごVMware(仮)

PAIF-N で提供されている VMware Deep Learning VM の紹介。

JapanVMUG Summer Meeting with NVIDIA の LT 「「AI やりたいので VM ください」のための VCF 入門。(Ubuntu 編)」の登壇資料です。VCF のアドオンとして利用するソリューションである VMware Private AI Foundation with NVIDIA(PAIF-N)で提供されいる、VMware Deep Learning VM を紹介しました。

VMware Deep Learning VM のリリース ノートはこちら。

ドキュメントは、下記のあたりが参考になります。

 

今回の内容です。

 

はじめに:今回の話の、前提と対象について

NVIDIA AI Enterprise で機械学習、ディープラーニングなど AI をやるなら、NGC Catalog にあるコンテナ イメージを利用すると思います。

 

そして、AI で何かしてみようかなともい、いろいろ動作確認やプロトタイピングなどをすときには、Jupyter の Notebook を利用することが多いかなと思います。

 

ということで、NGC にある PyTorch のコンテナで、JupyterLab の Notebook を起動してみます。

 

前半: Private AI Foundation with NVIDIA(PAIF-N) と VCF

PAIF-N では、VCF(の おもに VI ワークロード ドメイン のほう)に GPU 搭載を搭載して、AI ワークロードを実行します。

 

VCF ならではの vSphere 環境である「ワークロード ドメイン」は、SDDC Manager で管理されますが・・・

 

PAIF-N の環境構築方法については、SDDC Manager の「ワークロード ドメイン」に「展開ガイド」へのリンクが用意されています。ここに、構築ステップごとにドキュメントのリンクが用意されています。

 

VCF のライフサイクル管理では、vSphere の vLCM をベースにしていて・・・

 

NVIDIA vGPU ドライバの VIB なども、ESXi のイメージの一部として管理できます。

 

PAIF-N の VCF VI ワークロード ドメインで AI ワークロード( NGC コンテナなど)を起動する環境として、仮想マシンまたは Kubernetes が用意されています。

  • 仮想マシン: Deep Learning VM をデプロイします。
    • GPU 搭載の仮想マシンで、ゲスト OS は Ubuntu です。
    • そして Docker がインストールされています。
  • Kubernetes: Tanzu Kubernetes Grid クラスタをデプロイします。
    • Kubernetes ノードは GPU 搭載の仮想マシンで、こちらもゲスト OS は Ubuntu です。

 

後半: VMware Deep Learning VM(DLVM)を起動してみる

VMware Deep Learning VM(DLVM)の起動の様子です。

 

vCenter のコンテンツ ライブラリに DLVM の OVF をダウロードしておき、そこから展開します。

冒頭にも記載しましたが、DLVM のリリース ノートはこちらです。

 

OVF のパラメータ入力の様子です・・・

 

ゲスト OS の設定は、cloud-init を利用します。ここで入力したパラメータは XML 形式で扱われたりもするので、Base64 エンコードが必要です。

 

cloud-init の例です。

 

NVIDIA の vGPU Driver 関連のパラメータも入力できます。

 

コンテナ レジストリの URL や認証情報も入力できます。

 

コンテナ起動コマンドも入力できます。これも Base64 でエンコードしておく必要があります。ちなみに cloud-init と両方入力した場合は、cloud-init 側のスクリプトが実行されます。

 

Base64 エンコードの例です。

今回は、NGC の PyTorch コンテナに含まれる JupyterLab を起動しています。

 

DLVM OVF デプロイが完了したら、仮想マシンに GPU(vGPU)を接続してから、パワーオンします。

 

cloud-init が実行され、IP アドレスが設定されました。(ちなみに今回は DHCP で、IP アドレス設定には cloud-ini は使用していません)

 

NGC の PyTorch コンテナに含まれる JupyterLab を起動されています。

 

Notebook で、Python コードが実行できます。PyTorch ライブラリがインポートでき、GPU が接続されていることが確認できました。ちなみに、「!~」でシェル コマンドが実行できるので、nvidia-smi なども実行できます。

 

DLVM のゲスト OS に SSH 接続で確認した様子も、いくつか紹介しておきます。

 

Docker のランタイム設定の様子です。

 

この先の話

AI への取り組みがすすみ、学習やチューニングやデプロイの繰り返し/自動化(パイプライン構築、MLOps のような)、複数の AI や他システム/他サービスとの組み合わせ(RAG や NVIDIA NIM 活用など)がすすむと、DLVM ではなく、TKG の Kubernetes を利用することになると思います。

 

感想

当日、NVIDIA カラーの服がなかったのでかわりに用意しました。

 

以上、JapanVMUG Summer Meeting with NVIDIA の LT 登壇資料でした。