VMware Private AI Foundation with NVIDIA の一部として提供されるディープ ラーニング仮想マシン イメージは、一般的な ML ライブラリ、フレームワーク、ツールキットで事前構成されており、NVIDIA と VMware によって、VMware Cloud Foundation 環境での GPU アクセラレーション用に最適化され、検証されています。
データ サイエンティストは、これらのイメージからプロビジョニングされたディープ ラーニング仮想マシンを使用して、AI のプロトタイピング、微調整、検証、推論を行うことができます。
NVIDIA GPU 上で AI アプリケーションを実行するためのソフトウェア スタックは、事前に検証されています。その結果、オペレーティング システム、ソフトウェア ライブラリ、ML フレームワーク、ツールキット、GPU ドライバのインストールと互換性の検証に時間を費やすことなく、AI 開発を直接開始できます。
ディープ ラーニング仮想マシン イメージの内容
最初のディープ ラーニング仮想マシン イメージには、次のソフトウェアが含まれています。各ディープ ラーニング仮想マシン イメージ リリースのコンポーネント バージョンについては、『VMware ディープ ラーニング仮想マシン リリース ノート』を参照してください。
ソフトウェア コンポーネント カテゴリ | ソフトウェア コンポーネント |
---|---|
組み込み |
|
自動的にプリインストール可能 |
|
ディープ ラーニング仮想マシン イメージのコンテンツ ライブラリ
ディープ ラーニング仮想マシン イメージは、vSphere 仮想マシン テンプレートとして提供され、コンテンツ ライブラリで VMware によってホストおよび公開されます。これらのイメージを使用して、vSphere Client または VMware Aria Automation でディープ ラーニング仮想マシンを展開できます。
VMware Private AI Foundation with NVIDIA のディープ ラーニング仮想マシン イメージを含むコンテンツ ライブラリは、https://packages.vmware.com/dl-vm/lib.json URL で入手できます。接続された環境では、この URL に接続されたサブスクライブ済みコンテンツ ライブラリを作成し、切断された環境では、中央 URL からダウンロードしたイメージをアップロードするローカル コンテンツ ライブラリを作成します。
ディープ ラーニング仮想マシンの OVF プロパティ
ディープ ラーニング仮想マシンを展開する場合、カスタム仮想マシンのプロパティを入力して、Linux オペレーティング システムの構成、vGPU ゲスト ドライバの展開、DL ワークロード用の NGC コンテナの展開と構成を自動化する必要があります。
カテゴリ | パラメータ | 説明 |
---|---|---|
基本 OS プロパティ | instance-id | 必須。仮想マシン インスタンスの一意のインスタンス ID。 インスタンス ID は、インスタンスを一意に識別します。インスタンス ID が変更されると、cloud-init はインスタンスを新しいインスタンスとして扱い、cloud-init プロセスを再度実行します。 |
hostname | 必須。アプライアンスのホスト名。 | |
public-keys | 指定すると、インスタンスはデフォルト ユーザーの SSH authorized_keys にこの値を入力します。 |
|
user-data | プロビジョニング時に仮想マシンに挿入される一連のスクリプトまたはその他のメタデータ。 このプロパティは、実際には cloud-init スクリプトです。この値は base64 でエンコードされている必要があります。
|
|
password | 必須。デフォルトの vmware ユーザー アカウントのパスワード。 | |
vGPU ドライバのインストール |
vgpu-license | 必須。NVIDIA vGPU クライアント構成トークン。トークンは、/etc/nvidia/ClientConfigToken/client_configuration_token.tok ファイルに保存されます。 |
nvidia-portal-api-key | 接続された環境に必須です。NVIDIA ライセンス ポータルからダウンロードした API キー。このキーは、vGPU ゲスト ドライバのインストールに必須です。 |
|
vgpu-fallback-version | 入力したライセンス API キーを使用して vGPU ゲスト ドライバのバージョンを決定できない場合にフォールバックする vGPU ゲスト ドライバのバージョン。 | |
vgpu-url | 切断された環境に必須です。vGPU ゲスト ドライバをダウンロードする URL。 |
|
DL ワークロードの自動化 | registry-uri | 切断された環境、またはインターネットからイメージをダウンロードしないようにプライベート コンテナ レジストリを使用する場合に必須です。ディープ ラーニング ワークロード コンテナ イメージを含むプライベート コンテナ レジストリの URI。
|
registry-user | 基本認証を必要とするプライベート コンテナ レジストリを使用している場合に必須です。 | |
registry-passwd | 基本認証を必要とするプライベート コンテナ レジストリを使用している場合に必須です。 | |
registry-2-uri | Docker に基づき基本認証を必要とする 2 番目のプライベート コンテナ レジストリを使用している場合に必須です。 | |
registry-2-user | 2 番目のプライベート コンテナ レジストリを使用している場合に必須です。 | |
registry-2-passwd | 2 番目のプライベート コンテナ レジストリを使用している場合に必須です。 | |
image-oneliner |
仮想マシンのプロビジョニング時に実行される 1 行の bash コマンド。この値は base64 でエンコードされている必要があります。 このプロパティを使用して、PyTorch や TensorFlow など、展開する DL ワークロード コンテナを指定できます。VMware Private AI Foundation with NVIDIA のディープ ラーニング ワークロードを参照してください。
注:
user-data と
image-oneliner の両方が指定されている場合は、
user-data の値が使用されます。
|
|
docker-compose-uri |
Docker Compose ファイルの URI。DL ワークロード コンテナを起動するために Docker Compose ファイルが必要な場合に必須です。この値は base64 でエンコードされている必要があります。 | |
config-json |
Docker Compose ファイルを使用する場合の複数のコンテナ レジストリ ログイン操作の構成ファイル。この値は base64 でエンコードされている必要があります。 |
VMware Private AI Foundation with NVIDIA でディープ ラーニング仮想マシンに静的 IP アドレスを割り当てる
デフォルトでは、ディープ ラーニング仮想マシン イメージは DHCP アドレス割り当てで構成されます。vSphere クラスタに静的 IP アドレスを持つディープ ラーニング仮想マシンを直接展開する場合は、cloud-init セクションにコードを追加する必要があります。
手順
例: CUDA サンプル ワークロードへの静的 IP アドレスの割り当て
CUDA サンプル DL ワークロードを含むディープ ラーニング仮想マシンの例:
ディープ ラーニング仮想マシン要素 | 値の例 |
---|---|
DL ワークロード イメージ | nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda11.7.1-ubi8 |
IP アドレス | 10.199.118.245 |
サブネット プリフィックス | /25 |
ゲートウェイ | 10.199.118.253 |
DNS サーバ |
|
次の cloud-init コードを指定します。
I2Nsb3VkLWNvbmZpZwp3cml0ZV9maWxlczoKLSBwYXRoOiAvb3B0L2Rsdm0vZGxfYXBwLnNoCiAgcGVybWlzc2lvbnM6ICcwNzU1JwogIGNvbnRlbnQ6IHwKICAgICMhL2Jpbi9iYXNoCiAgICBkb2NrZXIgcnVuIC1kIG52Y3IuaW8vbnZpZGlhL2s4cy9jdWRhLXNhbXBsZTp2ZWN0b3JhZGQtY3VkYTExLjcuMS11Ymk4CgptYW5hZ2VfZXRjX2hvc3RzOiB0cnVlCiAKd3JpdGVfZmlsZXM6CiAgLSBwYXRoOiAvZXRjL25ldHBsYW4vNTAtY2xvdWQtaW5pdC55YW1sCiAgICBwZXJtaXNzaW9uczogJzA2MDAnCiAgICBjb250ZW50OiB8CiAgICAgIG5ldHdvcms6CiAgICAgICAgdmVyc2lvbjogMgogICAgICAgIHJlbmRlcmVyOiBuZXR3b3JrZAogICAgICAgIGV0aGVybmV0czoKICAgICAgICAgIGVuczMzOgogICAgICAgICAgICBkaGNwNDogZmFsc2UgIyBkaXNhYmxlIERIQ1A0CiAgICAgICAgICAgIGFkZHJlc3NlczogWzEwLjE5OS4xMTguMjQ1LzI1XSAgIyBTZXQgdGhlIHN0YXRpYyBJUCBhZGRyZXNzIGFuZCBtYXNrCiAgICAgICAgICAgIHJvdXRlczoKICAgICAgICAgICAgICAgIC0gdG86IGRlZmF1bHQKICAgICAgICAgICAgICAgICAgdmlhOiAxMC4xOTkuMTE4LjI1MyAjIENvbmZpZ3VyZSBnYXRld2F5CiAgICAgICAgICAgIG5hbWVzZXJ2ZXJzOgogICAgICAgICAgICAgIGFkZHJlc3NlczogWzEwLjE0Mi43LjEsIDEwLjEzMi43LjFdICMgUHJvdmlkZSB0aGUgRE5TIHNlcnZlciBhZGRyZXNzLiBTZXBhcmF0ZSBtdWxpdHBsZSBETlMgc2VydmVyIGFkZHJlc3NlcyB3aXRoIGNvbW1hcy4KIApydW5jbWQ6CiAgLSBuZXRwbGFuIGFwcGx5
これは、プレーンテキスト形式の次のスクリプトに対応します。
#cloud-config write_files: - path: /opt/dlvm/dl_app.sh permissions: '0755' content: | #!/bin/bash docker run -d nvcr.io/nvidia/k8s/cuda-sample:vectoradd-cuda11.7.1-ubi8 manage_etc_hosts: true write_files: - path: /etc/netplan/50-cloud-init.yaml permissions: '0600' content: | network: version: 2 renderer: networkd ethernets: ens33: dhcp4: false # disable DHCP4 addresses: [10.199.118.245/25] # Set the static IP address and mask routes: - to: default via: 10.199.118.253 # Configure gateway nameservers: addresses: [10.142.7.1, 10.132.7.1] # Provide the DNS server address. Separate mulitple DNS server addresses with commas. runcmd: - netplan apply