Azure Machine Learning でのコンピューティング ターゲットとは

"コンピューティング ターゲット" とは、トレーニング スクリプトを実行したり、サービスのデプロイをホストしたりする、指定されたコンピューティング リソースまたは環境のことです。 この場所は、ローカル コンピューターでも、クラウドベースのコンピューティング リソースでもかまいません。 コンピューティング ターゲットを使用すると、コードを変更しなくても、後でコンピューティング環境を容易に変更できます。

Azure Machine Learning では、異なるコンピューティング先に対してさまざまなサポートが提供されています。 一般的なモデル開発ライフサイクルでは、次のことを行う可能性があります。

  1. 最初に、少量のデータを開発して実験します。 この段階では、コンピューティング ターゲットとしてローカル環境 (ローカル コンピューターやクラウド ベースの仮想マシン (VM) など) を使用します。
  2. より大きなデータにスケールアップするか、またはこれらのトレーニング コンピューティング ターゲットのいずれかを使用して分散トレーニングを実行します。
  3. モデルの準備ができたら、これらのデプロイ コンピューティング ターゲットのいずれかを使用して、そのモデルを Web ホスティング環境にデプロイします。

コンピューティング ターゲットに使用するコンピューティング リソースはワークスペースにアタッチされています。 ローカル コンピューター以外のコンピューティング リソースは、ワークスペースのユーザーによって共有されます。

コンピューティング ターゲットのトレーニング

より大規模なデータセットにトレーニングをスケールアップする、または分散トレーニングを実行する段階で、Azure Machine Learning コンピューティングを使用して、ジョブを送信するたびに自動スケーリングするシングルノードまたはマルチノード クラスターを作成します。 また、独自のコンピューティング リソースを接続することもできますが、シナリオごとにサポートは異なることがあります。

コンピューティング ターゲットは、各トレーニング ジョブで順に再利用できます。 たとえば、リモート VM をワークスペースにアタッチした後、複数のジョブでそれを再利用できます。 機械学習パイプラインの場合は、各コンピューティング ターゲットに対して、適切なパイプライン ステップを使用します。

ほとんどのジョブのトレーニング コンピューティング ターゲットには、次のいずれかのリソースを使用できます。 一部のリソースは、自動機械学習、機械学習パイプライン、またはデザイナーで使用することができません。 Azure Databricks は、ローカル実行および機械学習パイプライン用のトレーニング リソースとして使用できますが、他のトレーニング用のリモート ターゲットとしては使用できません。

トレーニング ターゲット 自動機械学習 Machine Learning パイプライン Azure Machine Learning デザイナー
ローカル コンピューター はい    
Azure Machine Learning コンピューティング クラスター はい イエス はい
Azure Machine Learning サーバーレス コンピューティング はい イエス はい
Azure Machine Learning コンピューティング インスタンス はい (SDK を使用) はい はい
Azure Machine Learning Kubernetes はい はい
リモート VM はい はい  
Apache Spark プール (プレビュー) はい (SDK ローカル モードのみ) はい  
Azure Databricks はい (SDK ローカル モードのみ) はい  
Azure Data Lake Analytics   はい  
Azure HDInsight   はい  
Azure Batch   はい  

ヒント

コンピューティング インスタンスには 120 GB の OS ディスクがあります。 ディスク領域が不足する場合は、コンピューティング インスタンスを停止または再起動する前に、ターミナルを使用して少なくとも 1 GB から 2 GB をクリアしてください。

推論のコンピューティング先

推論を実行すると、Azure Machine Learning によって、モデルおよびそれを使用するために必要な関連リソースをホストする Docker コンテナーが作成されます。 それから、このコンテナーをコンピューティング先で使用します。

モデルをホストするために使用するコンピューティング先は、デプロイされたエンドポイントのコストと可用性に影響します。 次のテーブルを使用して、適切なコンピューティング先を選択します。

コンピューティング ターゲット 使用目的 GPU のサポート 説明
Azure Machine Learning エンドポイント リアルタイムの推論

バッチ推論
はい サーバーレス コンピューティングでのリアルタイム (マネージド オンライン エンドポイント) とバッチ スコアリング (バッチ エンドポイント) 用のフル マネージド コンピューティング。
Azure Machine Learning Kubernetes リアルタイムの推論

バッチ推論
はい オンプレミス、クラウド、エッジの Kubernetes クラスターで推論ワークロードを実行します。
コンピューティング ターゲット 使用目的 GPU のサポート 説明
ローカル Web サービス テスト/デバッグ   制限付きのテストとトラブルシューティングに使用。 ハードウェア アクセラレーションは、ローカル システムでのライブラリの使用に依存します。
Azure Machine Learning Kubernetes リアルタイムの推論 はい クラウドで推論ワークロードを実行します。
Azure Container Instances リアルタイムの推論

開発/テスト目的でのみ推奨されます。
  必要な RAM が 48 GB より少ない低スケール CPU ベース ワークロードに使用。 クラスターを管理する必要はありません。

サイズが 1 GB 未満のモデルにのみ適しています。

デザイナーでサポートされています。

注意

クラスター SKU を選択する場合は、まずスケールアップしてからスケールアウトします。モデルで必要とされる RAM の 150% が搭載されたマシンから始め、結果をプロファイルして、必要なパフォーマンスを備えたマシンを見つけます。 これについて学習した後は、同時推定のニーズに合うようにマシンの数を増やします。

Azure Machine Learning コンピューティング (マネージド)

Azure Machine Learning では、マネージド コンピューティング リソースの作成と管理が行われます。 この種のコンピューティングは、機械学習ワークロード向けに最適化されています。 Azure Machine Learning コンピューティング クラスター、サーバーレス コンピューティングコンピューティング インスタンスだけがマネージド コンピューティングです。

サーバーレス コンピューティングを作成する必要はありません。 Azure Machine Learning コンピューティング インスタンスまたはコンピューティング クラスターは次の場所から作成できます。

Note

コンピューティング クラスターを作成する代わりに、サーバーレス コンピューティングを使って、コンピューティングのライフサイクル管理を Azure Machine Learning にオフロードします。

作成されると、これらのコンピューティング リソースは、他の種類のコンピューティング ターゲットとは異なり、自動的にワークスペースの一部になります。

機能 コンピューティング クラスター コンピューティング インスタンス
シングルノードまたはマルチノード クラスター シングル ノード クラスター
ジョブを送信するたびに自動スケーリング
自動でのクラスター管理とジョブ スケジューリング
CPU と GPU の両方のリソースをサポートします

注意

コンピューティングがアイドル状態の場合に課金されないようにするには、次のようにします。

サポートされている VM シリーズおよびサイズ

重要

コンピューティング インスタンスやコンピューティング クラスターがこれらのシリーズのいずれかをベースにしている場合は、サービスの中断を回避するために、廃止日の前に別の VM サイズで再作成してください。

これらのシリーズは、2023 年 8 月 31 日に廃止されます。

これらのシリーズは、2024 年 8 月 31 日に廃止されます。

Azure Machine Learning でマネージド コンピューティング リソースのノード サイズを選択すると、Azure で使用可能な VM サイズの中から選択できます。 Azure では、さまざまなワークロードに対応する Linux および Windows の幅広いサイズが提供されています。 詳細については、VM の種類とサイズに関するページを参照してください。

VM サイズを選択する際には次のような例外と制限事項があります。

  • 一部の VM シリーズは、Azure Machine Learning でサポートされていません。
  • GPU やその他の特別な SKU など、一部の VM は使用可能な VM の一覧に最初は表示されないことがあります。 ただし、クォータの変更を要求すれば、それらも使用できます。 クォータの要求について詳しくは、「クォータと制限の増加を要求」を参照してください。 サポートされているシリーズの詳細については、次の表を参照してください。
サポートされている VM シリーズ カテゴリ サポートしているもの
DDSv4 汎用 コンピューティングのクラスターとインスタンス
Dv2 汎用 コンピューティングのクラスターとインスタンス
Dv3 汎用 コンピューティングのクラスターとインスタンス
DSv2 汎用 コンピューティングのクラスターとインスタンス
DSv3 汎用 コンピューティングのクラスターとインスタンス
EAv4 メモリ最適化 コンピューティングのクラスターとインスタンス
Ev3 メモリ最適化 コンピューティングのクラスターとインスタンス
ESv3 メモリ最適化 コンピューティングのクラスターとインスタンス
FSv2 コンピューティング最適化 コンピューティングのクラスターとインスタンス
FX コンピューティング最適化 コンピューティング クラスター
H ハイ パフォーマンス コンピューティング コンピューティングのクラスターとインスタンス
HB ハイ パフォーマンス コンピューティング コンピューティングのクラスターとインスタンス
HBv2 ハイ パフォーマンス コンピューティング コンピューティングのクラスターとインスタンス
HBv3 ハイ パフォーマンス コンピューティング コンピューティングのクラスターとインスタンス
HC ハイ パフォーマンス コンピューティング コンピューティングのクラスターとインスタンス
LSv2 ストレージ最適化 コンピューティングのクラスターとインスタンス
M メモリ最適化 コンピューティングのクラスターとインスタンス
NC GPU コンピューティングのクラスターとインスタンス
NC Promo GPU コンピューティングのクラスターとインスタンス
NCv2 GPU コンピューティングのクラスターとインスタンス
NCv3 GPU コンピューティングのクラスターとインスタンス
ND GPU コンピューティングのクラスターとインスタンス
NDv2 GPU コンピューティングのクラスターとインスタンス
NV GPU コンピューティングのクラスターとインスタンス
NVv3 GPU コンピューティングのクラスターとインスタンス
NCasT4_v3 GPU コンピューティングのクラスターとインスタンス
NDasrA100_v4 GPU コンピューティングのクラスターとインスタンス

これらの VM シリーズは Azure Machine Learning でサポートされていますが、すべての Azure リージョンで使用できるとは限りません。 VM シリーズが使用可能かどうかを確認するには、「リージョン別の利用可能な製品」を参照してください。

注意

Azure Machine Learning は、Azure Compute がサポートするすべての VM サイズをサポートしているわけではありません。 使用可能な VM サイズを一覧表示するには、次の方法を使用します。

Note

Azure Machine Learning は、Azure Compute がサポートするすべての VM サイズをサポートしているわけではありません。 使用可能な VM サイズを一覧表示するには、次のいずれかのメソッドを使用します。

GPU 対応のコンピューティング先を使用する場合は、トレーニング環境に適切な CUDA ドライバーがインストールされていることを確認することが重要です。 次の表を使用して、使用する適切な CUDA バージョンを決定します。

GPU アーキテクチャ Azure VM シリーズ サポートされている CUDA のバージョン
Ampere NDA100_v4 11.0+
Turing NCT4_v3 10.0 以降
Volta NCv3、NDv2 9.0 以上
Pascal NCv2、ND 9.0 以上
Maxwell NV、NVv3 9.0 以上
Kepler NC、NC Promo 9.0 以上

CUDA のバージョンとハードウェアに互換性があることを確認するだけでなく、CUDA のバージョンが、使用している機械学習フレームワークのバージョンと互換性があることを確認します。

コンピューティングの分離

Azure Machine Learning コンピューティングにより、特定のハードウェアの種類に分離される、単一顧客専用の VM サイズが提供されます。 分離された VM サイズは、コンプライアンスや規制上の要件を満たすなどの理由で、他の顧客のワークロードからの高いレベルの分離を必要とするワークロードに最適です。 分離されたサイズを利用すると、お使いの VM がその特定のサーバー インスタンス上で実行されている唯一の VM であることが保証されます。

現在の分離された VM のプランには、以下が含まれます。

  • Standard_M128ms
  • Standard_F72s_v2
  • Standard_NC24s_v3
  • Standard_NC24rs_v3 (RDMA 対応)

分離の詳細については、「Azure パブリック クラウドでの分離」を参照してください。

アンマネージド コンピューティング

"アンマネージド" コンピューティング先は、Azure Machine Learning によって管理されません。 この種類のコンピューティング ターゲットは、Azure Machine Learning の外部で作成してからワークスペースに接続します。 アンマネージド コンピューティング リソースでは、機械学習ワークロードのパフォーマンスを維持または向上するために追加の手順が必要になる場合があります。

Azure Machine Learning は、次の種類のアンマネージド コンピューティングをサポートしています。

  • リモート仮想マシン
  • Azure HDInsight
  • Azure Databricks
  • Azure Data Lake Analytics

詳細については、コンピューティング リソースの管理に関するページを参照してください。

次のステップ