政府機関向けAIワークロード向けの高パフォーマンスGPUコンピューティングの導入

NVIDIA DGX CloudとNVIDIA AI EnterpriseをOracle Cloud Marketplaceに追加することで、NVIDIA NeMo Frameworkによって最適化されたワークロード、ジェネレーティブAIを構築、カスタマイズ、導入するためのエンドツーエンドのクラウドネイティブ・フレームワークなど、OCI上のジェネレーティブAIアプリケーションのあらゆる種類の大規模なモデル・トレーニングを迅速かつ簡単に実行できます。

DGX Cloudの共有リソース環境は、すべてのデータとリソースを自身のテナンシの管理下に置くという追加のセキュリティを必要とする米国政府リージョンの顧客には適していない可能性があります。私たちには別の解決策があります。

Oracleでは、Oracle US Government Cloud (FedRAMP High)のために、ベア・メタルNVIDIA GPUシステムのプライベート・クラスタをオラクルのリージョンに簡単にデプロイできるようになりました。すべてのクラウド・リソースとデータはクラウド・テナンシにとどまり、ソフトウェア・バージョン、管理アクセス、暗号化キーおよびリソース共有を完全に制御できます。

NVIDIA A100 GPUまたはNVIDIA H100 GPUを搭載したOracle GPUクラスタは、マーケットプレイスからHPCクラスタ・スタックを起動することでデプロイされます。わずか数回のクリックと設定で、TerraformおよびAnsibleスクリプトは、NVIDIAネットワーク、クラスタ・ネットワーキング・ドライバ、ジョブ・スケジューリング用のSLURM、分散コンテナ・ランタイム用のNVIDIA PyxisおよびEnrootに基づいて、超低レイテンシのRoCEv2クラスタ・ネットワークを持つクラスタ環境のハードウェアとソフトウェアを自動的にデプロイします。独自の大規模言語モデルと機械学習ワークロードを導入するか、NVIDIA PyTorchおよびNeMoコンテナをプルして、NVIDIA AI Enterprise互換ワークロードをセキュア・テナンシ内で完全に実行します。

RoCEv2クラスタ・ネットワークは、次のような高負荷のパラレル処理ワークロード用に設計されています。
  • 大型言語モデル
  • 人工ビジョン
  • 機械学習
  • シミュレーション

アーキテクチャ

このアーキテクチャは、スケジューラを実行し、クラスタにアクセスするための要塞サーバーとして使用できる要塞またはヘッド・ノードをデプロイします。

処理要件に応じて、様々なNVIDIA GPUインスタンス・タイプを使用してコンピュート処理ノードを作成できます。コンピュート処理ノードをセキュアなプライベート・サブネットに配置することをお薦めします。NVIDIA GPUコンピュート・クラスタ・インスタンスは、Oracle Cloud Marketplaceからデプロイできます。

このアーキテクチャは、パブリックおよびプライベートの仮想クラウド・ネットワーク(VCN)を使用してデプロイされます。お客様のネットワークは、IPSec VPN、Oracle Cloud Infrastructure FastConnectまたはパブリック・インターネットを介してのみ、ヘッド・ノードおよびコンピュート・ノードにアクセスできます。

アーキテクチャでは、1つの可用性ドメインと1つのリージョン・サブネットを持つリージョンを使用します。複数の可用性ドメインがあるリージョンで同じアーキテクチャを使用できます。可用性ドメインの数に関係なく、デプロイメントにリージョン・サブネットを使用することをお薦めします。これらのクラスタ・ネットワークには、Oracle Cloud Marketplaceからアクセスするか、手動でデプロイできます。どちらの場合も、ベースライン・リファレンス・アーキテクチャを使用して、特定の要件を満たすように調整することをお薦めします。

次の図は、このリファレンス アーキテクチャを示しています。

nvidia-ai-gvt-hpc-oci.pngの説明が続きます
図nvidia-ai-gvt-hpc-oci.pngの説明

nvidia-ngc-ai-gvt-hpc-oci-oracle.zip

このアーキテクチャには、次のコンポーネントがあります。

  • リージョン

    Oracle Cloud Infrastructureリージョンとは、可用性ドメインと呼ばれる1つ以上のデータ・センターを含む、ローカライズされた地理的領域です。リージョンは他のリージョンから独立しており、長距離では(複数の国または大陸にまたがる)、それらを分離できます。

  • 可用性ドメイン

    可用性ドメインは、リージョン内の独立したスタンドアロン・データ・センターです。各可用性ドメイン内の物理リソースは、他の可用性ドメイン内のリソースから分離されているため、フォルト・トレランスが提供されます。可用性ドメインどうしは、電力や冷却、内部可用性ドメイン・ネットワークなどのインフラを共有しません。そのため、1つの可用性ドメインでの障害がリージョン内の他の可用性ドメインに影響を及ぼすことはありません。

  • フォルト・ドメイン

    フォルト・ドメインは、可用性ドメイン内のハードウェアおよびインフラストラクチャのグループです。各アベイラビリティ・ドメインに3つのフォルト・ドメインがあり、電源とハードウェアが独立しています。リソースを複数のフォルト・ドメインに分散すると、アプリケーションは、フォルト・ドメイン内の物理サーバー障害、システム・メンテナンスおよび電源障害を許容できます。

  • 仮想クラウド・ネットワーク(VCN)およびサブネット

    VCNは、Oracle Cloud Infrastructureリージョンで設定する、カスタマイズ可能なソフトウェア定義のネットワークです。従来のデータ・センター・ネットワークと同様に、VCNによってネットワーク環境を制御できます。VCNには重複しない複数のCIDRブロックを含めることができ、VCNの作成後にそれらを変更できます。VCNをサブネットにセグメント化して、そのスコープをリージョンまたは可用性ドメインに設定できます。各サブネットは、VCN内の他のサブネットと重複しない連続した範囲のアドレスで構成されます。サブネットのサイズは、作成後に変更できます。サブネットはパブリックにもプライベートにもできます。

  • 要塞ホスト

    要塞ホストは、クラウド外部からトポロジへのセキュアで制御されたエントリ・ポイントとして機能するコンピュート・インスタンスです。要塞ホストは、通常、非武装ゾーン(DMZ)にプロビジョニングされます。機密リソースは、クラウドの外部から直接アクセスできないプライベート・ネットワークに配置することで保護できます。トポロジには、定期的に監視および監査できる単一の既知のエントリ・ポイントがあります。そのため、トポロジへのアクセスを損なうことなく、より機密性の高いコンポーネントの公開を回避できます。

  • コンピュート・ノード

    このクラスタで使用しているベア・メタルGPUシェイプを選択します。たとえば、上の例に示すように、4 x NVIDIA A100 Tensor Core GPUを搭載したBM.GPU4.8を選択するか、NVIDIA Transformer Engineを使用したFP8パフォーマンス上の利点のために、8 x NVIDIA H100 Tensor Core GPUを搭載したBM.GPU.H100.8を選択します。

  • オーケストレーション・ノード

    オーケストレーション・ノードは、ソフトウェア構成のクラスタ・ノード管理、プロビジョニング、プロビジョニング解除およびデプロイメント、およびコンピュート・ワークフローとジョブ・オーケストレーションの管理を実行します。

  • セキュリティ・リスト

    サブネットごとに、サブネットの内外で許可される必要があるトラフィックのソース、宛先およびタイプを指定するセキュリティ・ルールを作成できます。

レコメンデーション

次の推奨事項を出発点として使用して、高パフォーマンス・コンピューティング(HPC)をOracle Cloud Infrastructureにデプロイし、必要に応じて特定の要件に対応するように調整します。
  • VCN

    VCNを作成する場合、必要なCIDRブロックの数を決定し、VCN内のサブネットにアタッチする予定のリソースの数に基づいて各ブロックのサイズを決定します。標準のプライベートIPアドレス空間内にあるCIDRブロックを使用します。

    プライベート接続を設定する他のネットワーク(Oracle Cloud Infrastructure、オンプレミス・データ・センターまたは別のクラウド・プロバイダ)と重複しないCIDRブロックを選択します。

    VCNを作成した後、そのCIDRブロックを変更、追加および削除できます。

    サブネットを設計するときには、トラフィック・フローおよびセキュリティ要件を考慮してください。特定の層またはロール内のすべてのリソースを、セキュリティ境界として機能する同じサブネットにアタッチします。

    リージョナル・サブネットを使用します。

  • セキュリティ・リスト

    セキュリティ・リストを使用して、サブネット全体に適用されるイングレスおよびエグレス・ルールを定義します。

  • 要塞ノード

    VM.Standard.E5を使用します。Flexコンピュート・シェイプノードは要塞ホストとして使用され、HPCジョブをスケジュールするため、ローカルにアタッチされたストレージまたはGPU処理は必要ありません。

  • GPUコンピュート・クラスタ・ノード

    BM.GPU.A100.-v2.8コンピュート・シェイプを使用します。これは、このノードがGPUコンピュート・ワークフローおよび非常にコンピュート集中型のジョブに使用されるためです。

考慮事項

Oracle Cloud Infrastructureに高パフォーマンス・コンピューティング(HPC)をデプロイする場合は、これらの実装オプションを検討してください。

  • パフォーマンス

    最高のパフォーマンスを得るには、適切な帯域幅の適切なコンピュート・シェイプを選択します。

  • 可用性

    デプロイメント要件およびリージョンに基づいて高可用性オプションを使用することを検討してください。オプションには、リージョンおよびフォルト・ドメインでの複数の可用性ドメインの使用が含まれます。

  • コスト

    ベア・メタルGPUインスタンスは、高コストで必要なCPU性能を提供します。要件を評価して、適切なコンピュート・シェイプを選択します。

  • 監視とアラート

    必要に応じてシェイプをスケール・アップまたはスケール・ダウンできるように、ノードのCPUおよびメモリー使用量の監視およびアラートを設定します。

デプロイ

このリファレンス・アーキテクチャをデプロイするTerraformスタックは、Oracle Cloud Marketplaceでスタックとして使用できます。GitHubからコードをダウンロードし、要件にあわせてカスタマイズすることもできます。
  • Oracle Cloud Marketplaceのスタックを使用してデプロイします:

    1. Oracle Cloud Marketplaceに移動します。
    2. 「アプリケーションの入手」をクリックします。
    3. 画面に表示されるプロンプトに従います。政府の要件およびオペレーティング環境については、OCI GovernmentリージョンにNVIDIA AIをデプロイするためのHPCクラスタ・スタックの構成を参照してください。
    4. エンド・ユーザー・ライセンス契約を受け入れます。
  • GitHubのコードを使用してデプロイします。
    1. GitHubに移動します。
    2. リポジトリをクローニングまたはダウンロードします。
    3. READMEドキュメントの指示に従います。

確認

  • 作成者: Kevin Colwell
  • コントリビュータ: Neil Pierson, George Boateng, Travis Lee, Michael Rutledge