Azure Container Apps でのサーバーレス GPU の使用 (プレビュー)
Azure Container Apps では、基盤となるインフラストラクチャを管理することなく、オンデマンドで GPU にアクセスできます。 サーバーレス機能として、使用中の GPU に対してのみ支払いが発生します。 有効にすると、アプリケーションに使用される GPU の数は、アプリケーションの負荷需要に合わせて増減します。 サーバーレス GPU を使用することで、自動スケーリング、最適化されたコールド スタート、未使用時のスケールダウンによる秒単位の課金、運用オーバーヘッドの削減により、ワークロードをシームレスに実行できます。
サーバーレス GPU は、従量課金ワークロード プロファイルでのみサポートされています。 この機能は、消費量のみの環境ではサポートされていません。
Note
GPU へアクセスするには、まず GPU クォータのリクエストを行う必要があります。 GPU クォータのリクエストは、カスタマー サポート ケースを介して送信できます。
メリット
サーバーレス GPU は、GPU を使用する場合にインフラストラクチャの管理を軽減し、コア AI コードに焦点を当てるようにすることで、AI 開発を加速させます。 この機能では、Azure AI モデル カタログのサーバーレス API とマネージド コンピューティングのホスティング モデルの間の中間層のオプションが提供されます。
Container Apps のサーバーレス GPU サポートは、アプリケーションを構築するための管理されたサーバーレス プラットフォームを提供しながら、データがコンテナーの境界を離れることがないため、完全なデータ ガバナンスが提供されます。
Container Apps でサーバーレス GPU を使用すると、アプリは次のようなことができます。
ゼロ GPU へのスケール: NVIDIA A100 と NVIDIA T4 GPU の自動サーバーレス スケーリングをサポートします。
秒単位の課金: 使用した GPU コンピューティングに対してのみ料金を支払います。
組み込みのデータ ガバナンス: データがコンテナー境界を離れることはありません。
柔軟なコンピューティング オプション: NVIDIA A100 または T4 GPU の種類から選択できます。
AI 開発のための中間層: マネージド サーバーレス コンピューティング プラットフォームに独自のモデルを導入します。
一般的なシナリオ
次のシナリオは、包括的なものではありませんが、サーバーレス GPU の一般的な使用例を説明しています。
リアルタイム推論とバッチ推論: 高速なスタートアップ時間、自動スケーリング、秒単位の課金モデルを使用したカスタム オープンソース モデルを使用しています。 サーバーレス GPU は動的なアプリケーションに最適です。 使用したコンピューティングに対してのみ支払いが発生し、アプリケーションは需要に応じて自動的にスケールインされます。
機械学習シナリオ: 微調整されたカスタム生成 AI モデル、ディープ ラーニング、ニューラル ネットワーク、または大規模データ分析を実装するアプリケーションを大幅に高速化します。
ハイ パフォーマンス コンピューティング (HPC): 科学的コンピューティング、財務モデリング、天気予報など、複雑な計算やシミュレーションが必要なアプリケーションでは、GPU を高い計算要求のリソースとして使用します。
レンダリングと可視化: 3D レンダリング、画像処理、またはビデオ コード変換を含むアプリケーションでは、多くの場合 GPU を使用してレンダリング処理を高速化し、リアルタイムで可視化できます。
ビッグデータ分析: GPU は膨大なデータセットのデータ処理と分析を高速化できます。
考慮事項
サーバーレス GPU を使用する場合は、次の項目に留意してください。
CUDA バージョン: サーバーレス GPU は最新の CUDA バージョンをサポートします
サポートの制限:
- 一度に GPU を使用できるのは、アプリ内の 1 つのコンテナーだけです。
- 複数のアプリで同じ GPU ワークロード プロファイルを共有できますが、それぞれに独自のレプリカが必要です。
- マルチ GPU レプリカと 1 秒未満の GPU レプリカはサポートされていません。
- アプリケーションの最初のコンテナーで GPU にアクセスできます。
IP アドレス: 独自の仮想ネットワークとの統合を設定する場合、従量課金 GPU はレプリカごとに 1 つの IP アドレスを使用します。
サーバーレス GPU クォータを要求する
この機能へのアクセスは、サーバーレス GPU クォータがある場合のみ利用できます。 GPU クォータ要求は、カスタマー サポート ケースを介して送信できます。 GPU クォータ要求のサポート ケースを開く場合は、問題の種類として "技術" を選択します。
Note
エンタープライズ契約を結んでいるお客様は、既定で 1 つの T4 GPU クォータが有効になっています。
サポートされているリージョン
サーバーレス GPU は、米国西部 3 およびオーストラリア東部リージョンでプレビューで利用可能です。
サーバーレス GPU を使用する
Azure portal を通じてコンテナー アプリを作成すると、GPU リソースを使用するようにコンテナーを設定できます。
作成プロセスの [コンテナー] タブで、次の設定を行います。
[コンテナー リソースの割り当て] セクションで、[GPU] チェックボックスをオンにします。
[GPU の種類]* の場合は、NVIDIA A100 または NVIDIA T4 オプションのいずれかを選択します。
サーバーレス GPU ワークロード プロファイルを管理する
サーバーレス GPU は、消費 GPU ワークロード プロファイルで実行されます。 消費 GPU ワークロード プロファイルは、他のワークロード プロファイルと同じ方法で管理します。 CLI または Azure portal を使用してワークロード プロファイルを管理できます。
GPU コールド スタートを改善する
Azure Container Registry でアーティファクト ストリーミングを有効にすることで、GPU 対応コンテナーのコールド スタートを改善できます。
Note
アーティファクト ストリーミングを使用するには、コンテナー イメージが Azure Container Registry でホストされる必要があります。
イメージ ストリーミングを有効にするには、次の手順を使用します。
Azure portal で Azure Container Registry を開きます。
「リポジトリ」を検索し、[リポジトリ] を選択します。
リポジトリ名を選択します。
[リポジトリ] ウィンドウから、[アーティファクト ストリーミングの開始] を選択します。
ストリーミングするイメージ タグを選択します。
ポップアップ ウィンドウで、[ストリーミング アーティファクトの作成] を選択します。
フィードバックを送信
イシューを Azure Container Apps GitHub リポジトリに送信します。