OCI Compute上のNVIDIA AI Enterprise
OCI Compute上のNVIDIA AI Enterprise(NVAIE)は、導入の摩擦を最小限に抑え、導入を加速し、ライセンスと請求を簡素化する、シームレスなエンタープライズグレードのAIエクスペリエンスを提供します。
NVAIEアーティファクトには、NVIDIA GPUドライバおよびCUDAライブラリの特定のセットが必要です。Oracle Linuxの場合、プラットフォーム・イメージにはNVAIE固有のドライバが含まれます。Ubuntuの場合は、OCI Ubuntuイメージのドキュメントに記載されているインストール・ステップに従います。さらに、OCIは、Oracle環境向けに、約90個の優先度の高いNVIDIAコンテナとHelmチャートのキュレーション・セットを提供します。これらのアーティファクトには、オープンソース・モデル、RAGおよびエージェント・ワークロード用のNVIDIA NeMoコンテナ、ヘルスケア用のBioNeMoモデルが含まれます。ユースケースが現在のオプション・セットに含まれていない場合は、追加のアーティファクトをリクエストできます。OCIは、すべてのメタデータ、スキャン結果、アーティファクトの詳細など、NVIDIAのNGC(NVIDIAのコンテナおよびアーティファクト・リポジトリ)と定期的に同期しながら、完全なバージョンのパリティを確保します。
NVAIEイメージの使用
NVIDIA AI Enterpriseでは、コンテナを実行するために特定のGPUドライバ・セットが必要です。OCIは、UbuntuおよびOracle Linux GPUオペレーティング・システムをサポートしています。Oracle Linuxのベース・イメージに含まれるNVAIE固有のドライバ。
NVAIEドライバの要件
- NVIDIA Driverリリース560以降。
データ・センターGPU(NVidia A100など)で実行している場合は、NVIDIAドライバ・リリース470.57以降、535.86以降または550.54以降を使用できます。
- NVIDIA Docker 23.0.1以降。
- CUDA 12.6.1以降。
NVAIEインスタンスの作成
インスタンスを作成するには、インスタンスの作成で説明されているステップに従います。
「イメージとシェイプ」セクションが表示されたら、次のステップに従います。
- 「イメージの変更」を選択します。
- Oracle LinuxまたはUbuntuイメージを選択します。「イメージの選択」を選択します。
- 「シェイプ」で、「シェイプの変更」を選択します。
- 「インスタンス・タイプ」で、ベア・メタル・マシンを選択します。
使用可能なすべてのNVidia GPUシェイプが表示されます
- デプロイメントのニーズに基づいて、使用可能なNVidiaシェイプを選択します。「シェイプの選択」を選択します。
- そのインスタンスに対してNVidia AI Enterpriseを有効にするには、「NVIDIA AI Enterpriseの有効化」を選択します。
- 「次へ」を選択します。
- インスタンスの作成のステップを完了します。
- 「作成」を選択してインスタンスを作成します。
NVAIEインスタンス構成の作成
インスタンス構成を作成して、インスタンスをさらに作成するために使用できるインスタンス・テンプレートを定義します。インスタンス・プールを作成するには、インスタンス構成が必要です。
インスタンス構成を作成するには、インスタンス構成の作成で説明されているステップに従います。
「イメージとシェイプ」セクションが表示されたら、次のステップに従います。
- 「イメージの変更」を選択します。
- Oracle LinuxまたはUbuntuイメージを選択します。「イメージの選択」を選択します。
- 「シェイプ」で、「シェイプの変更」を選択します。
- 「インスタンス・タイプ」で、ベア・メタル・マシンを選択します。
使用可能なすべてのNVidia GPUシェイプが表示されます
- デプロイメントのニーズに基づいて、使用可能なNVidiaシェイプを選択します。「シェイプの選択」を選択します。
- そのインスタンスに対してNVidia AI Enterpriseを有効にするには、「NVIDIA AI Enterpriseの有効化」を選択します。
- 「次へ」を選択します。
- 「インスタンス構成の作成」にリストされているステップを完了します。
- 「作成」を選択して、インスタンス構成を作成します。
NVAIEインスタンス・プールの作成
インスタンス・プールを作成するには、インスタンス・プールの作成で説明されているステップに従います。
基本詳細セクションで、NVidiaシェイプを使用して作成したインスタンス構成を選択します。
インスタンス・プールが作成されるまで、インスタンス・プールの作成のステップに従います。
マーケットプレイスからのNVAIEコンポーネントの使用
NVAIEコンテナおよびHelmチャートをMarketplaceからインポートできます。マーケットプレイスに移動するには、次のステップに従います。
- メインメニューから、「マーケットプレイス」を選択します。
- 「マーケットプレイス」で、「すべてのアプリケーション」を選択します。メインの「マーケットプレイス」ページが表示されます。
- 「タイプ」フィルタを使用して、コンテナ・イメージまたはHelmチャートを選択します。
- たとえば、NVAIE Helmチャートを識別するには、
Llama-3.1-8B-Instruct-NIM-microservice
のような文字列を入力してLlama 3チャートを表示します。
OCIRへのNVAIEコンポーネントの追加
Oracle Cloud Infrastructure Registry (OCIR)は、コンテナ・イメージ(Dockerイメージなど)の格納、共有および管理を容易にするOracle管理のレジストリです。NVAIEマーケットプレイス・コンテナをOCIRに追加するには、次のステップに従います。
- メイン・メニューから、「マーケットプレイス」を選択します。
- 「マーケットプレイス」で、「すべてのアプリケーション」を選択します。メインの「マーケットプレイス」ページが表示されます。
- 「タイプ」フィルタを使用して、「コンテナ」イメージを選択します。
- コンテナの選択
- 「パッケージのエクスポート」を選択します。
- 次の情報に入力します。
- コンパートメント:コンパートメントを選択します。
- OCIレジストリ:既存のレジストリを選択するか、新しいレジストリを作成します。次のステップは、新しいレジストリを作成するためのものです。
- レジストリ名:レジストリの名前を入力します。
- アクセス: 「秘密」または「公開」の順に選択します。
- コンテナの条件を受け入れます。
- 「エクスポート」を選択します。OCIRインスタンスが作成され、選択したNVAIEコンポーネントがコピーされます。
DockerへのNVAIEイメージのデプロイ
NVAIEコンテナ・イメージを作成した後、インスタンスにデプロイできます。次のステップに例を示します。
- OCIRからコンテナ・イメージをプルします。
docker pull ocir.io/nim/meta/llama3.1-8b-instruct:1.0.3
- ローカル・キャッシュを作成します。 ノート
これはオプションのステップですが、その結果、書込み可能レイヤーの重みが大きくなります。mkdir -p ~/.cache/nim
- コンテナを実行します。
bash docker run -d --gpus all -p 8000:8000 -v ~/.cache/nim:/opt/nim/.cache ocir.io/nim/meta/llama3.1-8b-instruct:1.0.3
- 迅速な喫煙テストを実施します。
curl http://localhost:8000/v1/models
リージョナルS3バケットからのNVidia AIモデルへのアクセス
実行中、マルチNIMコンテナにはレンダリング初期化用のモデルが必要です。OCIでは、これらのモデルは、S3バケットのOC1 (商用レルム)のすべてのリージョンに格納されます。コンテナは、次の環境変数を使用します。
-e AWS_ACCESS_KEY_ID="$AWS_ACCESS_KEY_ID" \
-e AWS_SECRET_ACCESS_KEY="$AWS_SECRET_ACCESS_KEY" \
-e AWS_REGION="${region}" \
-e AWS_ENDPOINT_URL="https://bmcinfraorch.compat.objectstorage.${region}.oraclecloud.com/" \
-e NIM_MODEL_NAME="s3repo://nvaie/meta-llama/Llama-3.1-8B-Instruct"
承認
各リージョンのNVIDIA AIバケットにアクセスするには、アクセス・キーIDとシークレット・アクセス・キーで認可する必要があります。これらのキーは、このガイド顧客秘密キーの作成に従ってテナンシで設定する必要があります。キーとシークレットをセキュアなVaultまたはシークレット・サービスに格納します。必要に応じてキーを取得します。
地域
ホーム・リージョンはテナンシによって異なります。パフォーマンス上の理由から、ベストプラクティスとして、NVIDIA AIコンテナが実行されているリージョンと同じリージョンからモデルをプルします。これを行うには、リージョン識別子を識別し、環境パラメータで設定します。次のガイドでは、様々なリージョンおよび関連するリージョン識別子について概説します: OCIリージョンおよび識別子。
エンドポイントURL
認可およびリージョンを特定したら、エンドポイントURL (AWS_ENDPOINT_URL
)を導出します。このガイドに従います: オブジェクト・ストレージ専用エンドポイント。
S3 URLは、S3互換性のために次のパターンに従います: <$namespace>.compat.objectstorage.<$region>.oraclecloud.com
。
- Nvidia AIモデルの<$namespace>値は、常に
bmcinfraorch
です。 - <$region>値はリージョン識別子です。
アッシュバーンのバケットに識別子us-ashburn-1
でアクセスするには、エンドポイントURL: https://bmcinfraorch.compat.objectstorage.us-ashburn-1.oraclecloud.com/
ベスト・プラクティスとして、次の例のようなリージョン変数を作成します。https://bmcinfraorch.compat.objectstorage.${region}.oraclecloud.com/
"
モデル名前
モデルには、各リージョンでs3バケットを介してアクセスできます。各モデルは、nvaie
というラベルの付いたルート・フォルダの下に編成されます。
たとえば: s3repo://nvaie/
-e NIM_MODEL_NAME="s3repo://nvaie/meta-llama/Llama-3.1-8B-Instruct"
ラップ・アップ
次のdockerスクリプトの例は、マルチニム・コンテナ・バージョン1.14.0をロードし、MetaのLlamaがアッシュバーン・リージョンでLLMに指示します。
image='iad.ocir.io/imagegen/nvaie-multi-llm-nim:1.14.0'
region='us-ashburn-1'
docker run \
--gpus all \
--ipc=host \
--ulimit memlock=-1 \
--ulimit stack=67108864 \
-p 8000:8000 \
-e AWS_ACCESS_KEY_ID="$AWS_ACCESS_KEY_ID" \
-e AWS_SECRET_ACCESS_KEY="$AWS_SECRET_ACCESS_KEY" \
-e AWS_REGION="${region}" \
-e AWS_ENDPOINT_URL="https://bmcinfraorch.compat.objectstorage.${region}.oraclecloud.com/" \
-e NIM_MODEL_NAME="s3repo://nvaie/meta-llama/Llama-3.1-8B-Instruct" \
$image