Data Center / Cloud / Edge

NVIDIA と Run:ai で学習させた AI モデルをあらゆるクラウドへ展開

Reading Time: 2 minutes

最新のコンピュート リソースにアクセスし、世界中の顧客を一貫してサポートし、コストを最適化するために、ハイブリッド クラウドやマルチ クラウド戦略を採用する企業が増えています。しかし、エンジニアリング チームが直面する大きな課題は、スタックの変更に応じて、異なるプラットフォーム間で AI アプリケーションを運用することにあります。そのため、MLOps チームはさまざまな環境に精通し、開発者は対象のプラットフォーム間で実行できるように、アプリケーションをカスタマイズする必要があります。

NVIDIA は、GPU を搭載したオンプレミスまたはオンクラウド インスタンスで開発を行うための一貫したフルスタックを提供しており、利用者は、コードを変更することなく、その AI アプリケーションを GPU 搭載したどのプラットフォームにも展開することができます。

最新の NVIDIA 仮想マシン イメージについて

NVIDIA Cloud Native Stack Virtual Machine Image (VMI) は、GPU アクセラレーションに対応しています。アップストリーム版の Kubernetes と NVIDIA GPU Operator を含むリファレンス アーキテクチャである Cloud Native Stack が事前にインストールされています。NVIDIA Cloud Native Stack VMI は、Kubernetes によってオーケストレーションされ、GPU を使用したコンテナー化されたアプリケーションの構築、テスト、実行が可能です。

NVIDIA GPU Operator は、Kubernetes 上で GPU を公開するために必要なソフトウェアのライフサイクル管理を自動化します。GPU Operator は、より優れた GPU パフォーマンス、利用率、および監視等を含む高度な機能を提供します。業界をリードする Kubernetes ソリューションとの互換性が認定および検証されている GPU Operator により、組織は Kubernetes インフラストラクチャの管理ではなく、アプリケーションの構築に集中することができます。

NVIDIA Cloud Native Stack VMI は、AWS、Azure、GCP で利用することができます。

NVIDIA によるエンタープライズ サポート

NVIDIA Cloud Native Stack VMI と GPU Operator のエンタープライズ サポートについては、NVIDIA パートナーを通じて NVIDIA AI Enterprise をご購入ください。

コンセプトから展開まで、AI ソリューションを開発することは容易ではありません。NVIDIA AI Enterprise サポート サービスを利用して、AI プロジェクトを軌道に乗せてください。NVIDIA AI Enterprise ソフトウェア スイートの購入に含まれているこの包括的なサービスは、NVIDIA AI エキスパートへの直接お問い合わせ、サービスレベル契約、長期サポート オプションによるアップグレードやメンテナンス スケジュールの管理を提供します。

NVIDIA AI Enterprise 上で Run:ai の利用をサポート

Run:ai は AI ワークロードのためのコンピュート オーケストレーションの業界リーダーですが、同社の Atlas プラットフォーム上で、エンドツーエンドで安全なクラウドネイティブの AI ソフトウェア スイートである NVIDIA AI Enterprise がサポートされました。これにより企業はデータ サイエンスのパイプラインを加速することができます。また、重要なプロセスを自動化し、データから迅速なインサイトを得るために、予測 AI モデルの開発と展開の合理化に集中することができます。

Run:ai は、クラウドおよびオンプレミス クラスターにおける GPU のアクセス、管理、利用を簡素化する AI コンピューティング プラットフォームを提供します。スマートなスケジューリングと高度な GPU 分割機能により、ジョブに適したコンピュート リソースを確保します。

Run:ai Atlas には GPU オーケストレーション機能があり、研究者が GPU をより効率的に利用できるよう支援します。これは、AI ワークロードのオーケストレーションと、チームやクラスターにまたがるハードウェア リソースの管理と仮想化を自動化することで実現します。

Run:ai はどんな Kubernetes クラスターにもインストールでき、AI インフラストラクチャに効率的なスケジューリングとモニタリング機能を提供します。NVIDIA Cloud Native Stack VMI を使用すると、クラウド インスタンスを Kubernetes クラスターに追加して、クラスターの GPU 搭載ワーカーノードにすることができます。

あるチーム メンバーの声「NVIDIA Cloud Native Stack VMI を使用しない場合、多くの手作業ががエンジニアに要求されます。Cloud Native Stack VMI を使えば、2 クリックで Kubernetes と Docker、そして GPU Operator のプロビジョニングが完了するので、仕事を始めるのがより簡単で速くなりました。」

AWS 上で Cloud Native Stack VMI をセットアップ

AWS Marketplace で、AWS Marketplace インスタンスの起動の手順を参照して、NVIDIA Cloud Native Stack VMI を起動します。

必要な前提条件が満たされていることを確認し、クラスター インストールの手順を参照して Run:ai をインストールします。インストール後、Overview ダッシュボードでメトリクスが入力され始めることを確認します。Clusters タブで、クラスターが接続されていることが確認できます。

次に、kube-apiserver.yaml ファイルにいくつかのコマンド コンポーネントを追加して、Run:ai プラットフォームでユーザー認証を有効にします。詳細については、管理ユーザー インターフェイスのセットアップを参照してください。

デフォルトでは、以下のディレクトリに kube-apiserver.yaml ファイルがあります:

/etc/kubernetes/manifests/kube-apiserver.yaml

oidc コマンドが kube-apiserver によって正常に適用されたことを確認できます。出力から oidc コマンドを探します。

spec:
  containers:
  - command:
    - kube-apiserver
    - --oidc-client-id=runai
    - --oidc-issuer-url=https://app.run.ai/auth/realms/nvaie
    - --oidc-username-prefix=-

Unified UI を設定し、新しいプロジェクトを作成します。プロジェクトは、Run:ai プラットフォームを使用しているデータ科学者や研究者の GPU 割り当て保証を指示するのに役立ちます。

新しいプロジェクトに名前を付け、少なくとも 1 つの GPU をプロジェクトに割り当てます。この記事では、2 基の GPU 割り当てのプロジェクトと、GPU 割り当てなしのプロジェクトを作成し、それぞれ nvaie-high-prioritynvaie-low-priority と名付けました。 プロジェクトが作成されたら、 Run:ai CLI ツールをインストールし、クラスターにワークロードを投入することができます。

以下のコマンドは、runai CLI を使用して、quickstart と呼ばれる Docker イメージを活用してジョブ (job1 または job2) を投入します。quickstart には、TensorFlow、CUDA、モデル、モデルをフィードインして学習するデータが含まれています。これは、トレーニングのために 1 基の GPU を活用し (-g 1) 、-p パラメーターで示される低優先度または高優先度のプロジェクトに代わって投入されます。

いくつかのテスト ジョブをデプロイして、Run:ai のオーケストレーション機能の一部を表示します:

runai submit job1 -i gcr.io/run-ai-demo/quickstart -g 1 -p nvaie-high-priority 
runai submit job2 -i gcr.io/run-ai-demo/quickstart -g 1 -p nvaie-low-priority

ジョブのステータスは、実行することで確認できます:

runai describe job job1 -p nvaie-high-priority
runai describe job job2 -p nvaie-low-priority

両方のワークロードの学習プロセスが GPU 上で実行されていることが Overview ダッシュボードで確認できます。

追加のワークロードを投入して、ジョブのプリエンプション機能を強調することができます。現在、nvaie-high-priority プロジェクトは、割り当て GPU が 2 基に設定されているため、両方の GPU へのアクセスが保証されています。nvaie-high-priority プロジェクトに追加ワークロードを投入し、nvaie-low-priority ジョブがプリエンプションされていることを確認できます。

ジョブのプリエンプションにより、学習ワークロードのチェックポイント処理を見て、チェックポイントで現在の進捗を保存し、その後、ワークロードをプリエンプションして GPU から削除することができます。学習の進捗を保存し、より優先度の高いワークロードの実行のために GPU を解放します。

runai submit job3 -i gcr.io/run-ai-demo/quickstart -g 1 -p nvaie-high-priority

ジョブの進捗は、以下で確認できます:

runai describe job job3 -p nvaie-high-priority

Overview ダッシュボードに戻ると、nvaie-high-priority プロジェクトで実行中の 2 つのジョブと、nvaie-low-priority のワークロードがプリエンプションされて保留キューに戻されているのがわかります。保留キュー内のワークロードは、GPU が利用可能になると自動的に再スケジュールされます。

ジョブをクリーンアップするには、以下のコマンドを実行します:

runai delete job job1 -p nvaie-low-priority 
runai delete job job2 job3 -p nvaie-high-priority 

まとめ

NVIDIA は、GPU を搭載したオンプレミスまたはオンクラウド インスタンスで開発するための一貫したフルスタックを提供します。MLOps を通して開発者は、コードを変更することなく、その AI アプリケーションをあらゆる GPU 搭載プラットフォームに展開することができます。

AI ワークロードのためのコンピュート オーケストレーションの業界リーダーである Run:ai の Atlas プラットフォーム上で、エンドツーエンドでセキュアなクラウドネイティブの AI ソフトウェア スイートである NVIDIA AI Enterprise がサポートされました。NVIDIA AI Enterprise は、NVIDIA パートナーを通じて購入することができ、NVIDIA VMI および GPU Operator のエンタープライズ サポートを提供します。NVIDIA AI Enterprise ソフトウェア スイートの購入に含まれるこの包括的な製品により、NVIDIA AI エキスパートへの直接お問い合わせ、サービスレベル契約、長期サポート オプションによるアップグレードやメンテナンス スケジュールの管理が可能になります。

詳細は、以下の関連情報をご覧ください:

翻訳に関する免責事項

この記事は、「Train Your AI Model Once and Deploy on Any Cloud with NVIDIA and Run:ai」の抄訳で、お客様の利便性のために機械翻訳によって翻訳されたものです。NVIDIA では、翻訳の正確さを期すために注意を払っておりますが、翻訳の正確性については保証いたしません。翻訳された記事の内容の正確性に関して疑問が生じた場合は、原典である英語の記事を参照してください。

Tags