次の方法で共有


Azure Container Appsでのサーバーレス GPU の使用

Azure Container Appsでは、基になるインフラストラクチャを管理しなくても、必要に応じて GPU にアクセスできます。 サーバーレス機能として、使用中の GPU に対してのみ課金されます。 有効にすると、アプリケーションに使用される GPU の数は、アプリケーションの負荷需要に合わせて増減します。 サーバーレス GPU を使用することで、自動スケーリング、最適化されたコールド スタート、未使用時のスケールダウンによる秒単位の課金、運用オーバーヘッドの削減により、ワークロードをシームレスに実行できます。

サーバーレス GPU は、従量課金ワークロード プロファイルでのみサポートされます。 この機能は、従量課金のみの環境ではサポートされていません。

GPU にアクセスするには、GPU クォータを要求する必要があります。 GPU クォータ要求は、カスタマー サポート ケースを介して送信できます。

利点

サーバーレス GPU は、GPU を使用する場合にインフラストラクチャの管理を軽減し、コア AI コードに焦点を当てるようにすることで、AI 開発を加速させます。 この機能は、 Foundry モデル カタログのサーバーレス API とマネージド コンピューティングでのホスティング モデルの間の中間層オプションを提供します。

Container Apps のサーバーレス GPU サポートは、アプリケーションを構築するための管理されたサーバーレス プラットフォームを提供しながら、データがコンテナーの境界を離れることがないため、完全なデータ ガバナンスが提供されます。

Container Apps でサーバーレス GPU を使用すると、アプリは次のようなことができます。

  • ゼロ GPU へのスケール: NVIDIA A100 と NVIDIA T4 GPU の自動サーバーレス スケーリングをサポートします。

  • 秒単位の課金: 使用した GPU コンピューティングに対してのみ料金を支払います。

  • 組み込みのデータ ガバナンス: データがコンテナー境界を離れることはありません。

  • 柔軟なコンピューティング オプション: NVIDIA A100 または T4 GPU の種類から選択できます。

  • AI 開発のための中間層: マネージド サーバーレス コンピューティング プラットフォームに独自のモデルを導入します。

一般的なシナリオ

次のシナリオでは、サーバーレス GPU の一般的なユース ケースについて説明します。

  • リアルタイムおよびバッチ推論: 起動時間の短縮、自動スケーリング、1 秒あたりの課金モデルを備えたカスタム オープンソース モデルを使用します。 サーバーレス GPU は動的なアプリケーションに最適です。 使用したコンピューティングに対してのみ支払いが発生し、アプリケーションは需要に応じて自動的にスケールインされます。

  • 機械学習シナリオ: 微調整されたカスタム生成 AI モデル、ディープ ラーニング、ニューラル ネットワーク、または大規模データ分析を実装するアプリケーションを大幅に高速化します。

  • High-Performance コンピューティング (HPC): 科学コンピューティング、財務モデリング、天気予報など、複雑な計算とシミュレーションを必要とするアプリケーションの高い計算需要のリソースとして GPU を使用します。

  • レンダリングと視覚化: GPU を使用してレンダリング プロセスを高速化し、3D レンダリング、画像処理、またはビデオ トランスコーディングを含むアプリケーションでリアルタイムの視覚化を有効にします。

  • ビッグデータ分析: GPU は膨大なデータセットのデータ処理と分析を高速化できます。

考慮事項

サーバーレス GPU を使用するときは、次の点に注意してください。

  • CUDA バージョン: サーバーレス GPU では、最新の CUDA バージョンがサポートされます。

  • サポートの制限:

    • 一度に GPU を使用できるのは、アプリ内の 1 つのコンテナーだけです。 アプリ内に複数のコンテナーがある場合、最初のコンテナーで GPU にアクセスできます。
    • 複数のアプリで同じ GPU ワークロード プロファイルを共有できますが、それぞれに独自のレプリカが必要です。
    • マルチ GPU レプリカと 1 秒未満の GPU レプリカはサポートされていません。
    • アプリケーションの最初のコンテナーで GPU にアクセスできます。
  • IP アドレス: 独自の仮想ネットワークとの統合を設定する場合、従量課金 GPU はレプリカごとに 1 つの IP アドレスを使用します。

サポートされているリージョン

サーバーレス GPU は、次のリージョンで使用できます。

リージョン A100 T4
オーストラリア東部 イエス イエス
ブラジル南部 イエス イエス
インド中部 いいえ イエス
カナダ中部 イエス イエス
米国東部 イエス イエス
フランス中部 いいえ イエス
イタリア北部 イエス イエス
東日本 いいえ イエス
米国中北部 いいえ イエス
米国中南部 いいえ イエス
東南アジア いいえ イエス
インド南部 いいえ イエス
スウェーデン中部 イエス イエス
西ヨーロッパ1 いいえ イエス
米国西部 イエス イエス
米国西部 2 いいえ イエス
米国西部 3 イエス イエス

1 西ヨーロッパで T4 サーバーレス GPU ワークロード プロファイルを追加するには、リージョンに新しいワークロード プロファイル環境を作成する必要があります。

サーバーレス GPU を使用する

Azure ポータルを使用してコンテナー アプリを作成する場合は、GPU リソースを使用するようにコンテナーを設定できます。

作成プロセスの [コンテナー] タブで、次の設定を行います。

  1. [ コンテナー リソースの割り当て ] セクションで、[ GPU ] チェック ボックスをオンにします。

  2. GPU の種類として、NVIDIA A100 または NVIDIA T4 オプションを選択します。

サーバーレス GPU ワークロード プロファイルを管理する

サーバーレス GPU は、従量課金 GPU ワークロード プロファイルで実行されます。 消費 GPU ワークロード プロファイルは、他のワークロード プロファイルと同じ方法で管理します。 ワークロード プロファイルは、CLI または Azure portal を使用して管理できます。

サーバーレス GPU クォータを要求する

エンタープライズ契約と従量課金制のお客様は、既定で A100 クォータと T4 クォータが有効になっています。

この機能にアクセスするには、サーバーレス GPU クォータが必要です。 GPU クォータ要求は、カスタマー サポート ケースを介して送信できます。 GPU クォータ要求のサポート ケースを開く場合は、次のオプションを選択します。

  1. Azure ポータルで New サポート リクエスト フォームを開きます。

  2. フォームに次の値を入力します。

    プロパティ 価値
    問題の種類 サービスとサブスクリプションの制限 (クォータ) を選択する
    Subscription サブスクリプションを選択します。
    クォータの種類 [Container Apps] を選択します。
  3. 次へを選択します。

  4. [ 追加の詳細 ] ウィンドウで、[ 詳細の入力 ] を選択して要求の詳細ウィンドウを開きます。

    Azureクォータ管理システムの詳細ウィンドウのスクリーンショット.

  5. [クォータの種類] で、[マネージド環境従量課金 NCA100 GPU] または [マネージド環境従量課金 T4 GPU] を選択します。 その他の値を入力します。

  6. 保存して続行するを選択します。

  7. [ 追加 の詳細] ウィンドウで、関連する詳細の残りの部分を入力します。

  8. 次へを選択します。

  9. を選択してを作成します。

GPU コールド スタートを改善する

成果物のストリーミングを有効にし、大きな言語モデルなどの大きなファイルをストレージ マウントに配置することで、コールド スタート時間を大幅に短縮できます。

  • Artifact ストリーミング: Azure Container Registryは、イメージの起動時間を大幅に短縮できるイメージ ストリーミングを提供します。 アーティファクト ストリーミングを使用するには、Premium Azure Container Registryでコンテナー イメージをホストする必要があります。

  • Storage マウント: コンテナー アプリに関連付けられているAzureストレージ アカウントに大きなファイルを格納することで、ネットワーク待機時間の影響を軽減します。

Foundry モデルをサーバーレス GPU にデプロイする (プレビュー)

Azure Container Appsサーバーレス GPU では、パブリック プレビューで Microsoft Foundry モデルがサポートされるようになりました。 Foundry モデルには、次の 2 つのデプロイ オプションがあります。

  • 最も一般的なモデルの一部に従量課金制を提供するサーバーレス API。

  • GPU ごとの有料価格で Foundry モデルの完全な選択をデプロイできるマネージド コンピューティング。

Azure Container Appsサーバーレス GPU では、Foundry モデルをデプロイするために、サーバーレス API とマネージド コンピューティングの間でバランスの取れたデプロイ オプションが提供されます。 オンデマンドのオプションです。このオプションは、サーバーレスでスケーリングし、使用されていない場合にはゼロにスケールインします。また、データの所在地要件に準拠します。 サーバーレス GPU では、Foundry モデルを使用することで、サポートされているモデルを、自動スケーリング、従量課金制、完全なデータ ガバナンス、すぐに使用できるエンタープライズ ネットワークとセキュリティ サポートで柔軟に実行できます。

型の言語モデルがサポートされています。 モデルの一覧を表示するには、azureml レジストリで使用可能なモデルの一覧に移動します。 モデルを見つけるには、次の手順を使用して、 モデルのフィルターを追加します。

  1. フィルターを選択します。

  2. [フィルターの追加] を選択します

  3. フィルター規則として、「 Type = MLFLOW」と入力します。

Azure Container Apps リポジトリ に記載されているモデルの場合、次の CLI コマンドを使用して独自のイメージをビルドしなくても、サーバーレス GPU に直接デプロイできます。

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --location <LOCATION> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --model-registry <MODEL_REGISTRY_NAME> \
  --model-name <MODEL_NAME> \
  --model-version <MODEL_VERSION>

この一覧にないモデルについては、次の操作を行う必要があります。

  1. モデル イメージのGitHub テンプレートを Azure Container Apps リポジトリからダウンロードします。

  2. モデルの種類に合わせて score.py ファイルを変更します。 スコアリング スクリプト ( score.py という名前) は、モデルとの対話方法を定義します。 次の例は、 カスタム score.py ファイルを使用する方法を示しています。

  3. イメージをビルドし、コンテナー レジストリにデプロイします。

  4. 前の CLI コマンドを使用して、モデルをサーバーレス GPU にデプロイしますが、 を指定します。 、、およびパラメーターを使用すると、アプリのコールド スタートを最適化するための主要な環境変数が設定されます。

フィードバックの送信

Azure Container Apps GitHub リポジトリに問題を送信します。

次のステップ

サーバーレス GPU を使用してイメージを生成する