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/

MetaのLlama命令LLMをロードするために、環境変数は次のように設定されます。
-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