モデル ビルダーの Azure トレーニング リソース
モデル ビルダーを使用して Azure でモデルをトレーニングするために使用されるリソースの詳細を学習するためのガイドを次に示します。
Azure Machine Learning の実験とは
Azure Machine Learning の実験は、Azure で Model Builder トレーニングを実行する前に作成する必要があるリソースです。
この実験では、1 つ以上の機械学習トレーニング実行の構成と結果がカプセル化されます。 実験は特定のワークスペースに属します。 実験を初めて作成すると、その名前がワークスペースに登録されます。 後続の実行 (同じ実験名が使用されている場合) は、同じ実験の一部としてログに記録されます。 それ以外の場合は、新しい実験が作成されます。
Azure Machine Learning ワークスペースとは
ワークスペースは、トレーニングの実行の一環として作成されたすべての Azure Machine Learning リソースと成果物の中心的な場所を提供する Azure Machine Learning リソースです。
Azure Machine Learning ワークスペースを作成するには、次のものが必要です。
- 名前: ワークスペースの 3 ~ 33 文字の名前。 名前には英数字とハイフンのみを使用できます。
- リージョン: ワークスペースとリソースがデプロイされるデータ センターの地理的な場所。 自分または顧客の近くの場所を選択することをお勧めします。
- リソース グループ: Azure ソリューションのすべての関連リソースを含むコンテナー。
Azure Machine Learning コンピューティングとは
Azure Machine Learning コンピューティングは、トレーニングに使用されるクラウドベースの Linux VM です。
Azure Machine Learning コンピューティングを作成するには、次の値が必要です。
名前: 2 ~ 16 文字のコンピューティングの名前。 名前には英数字とハイフンのみを使用できます。
コンピューティング サイズ。
モデル ビルダーでは、次のいずれかの GPU 最適化コンピューティングの種類を使用できます。
大きさ vCPU メモリ: GiB 一時ストレージ (SSD) GiB GPU GPU メモリ: GiB 最大データ ディスク数 最大 NIC Standard_NC12 12 112 680 2 24 48 2 Standard_NC24 24 224 1440 4 48 64 4 GPU 最適化コンピューティングの種類の詳細については、NC シリーズの Linux VM ドキュメント を参照してください。
コンピューティングの優先順位。
- 低優先度: 実行時間が短いタスクに適しています。 タスクは、中断や可用性の欠如の影響を受ける可能性があります。 通常、このオプションは Azure の余分な容量を利用するため、コストが低くなります。
- 専用: 任意の期間のタスクに適していますが、特に実行時間の長いジョブに適しています。 タスクは、中断や可用性の欠如の影響を受けません。 通常、このオプションでは、タスク用に Azure に専用のコンピューティング リソース セットが予約されるため、コストが高くなります。
訓練
Azure でのトレーニングは、モデル ビルダーの画像分類シナリオでのみ使用できます。 これらのモデルのトレーニングに使用されるアルゴリズムは、ResNet50 アーキテクチャに基づくディープ ニューラル ネットワークです。 トレーニング プロセスには時間がかかり、時間は選択したコンピューティングのサイズとデータの量によって異なる場合があります。 Visual Studio で [Azure portal で現在の実行を監視する] リンクを選択すると、実行の進行状況を追跡できます。
業績
トレーニングが完了すると、次のサフィックスが付いた 2 つのプロジェクトがソリューションに追加されます。
ConsoleApp: 予測パイプラインを構築して予測を行うスターター コードを提供する C# コンソール アプリ。
モデル: 入力および出力モデル データのスキーマと次の資産を定義するデータ モデルを含む C# .NET Standard アプリ。
- bestModel.onnx: Open Neural Network Exchange (ONNX) 形式のモデルのシリアル化されたバージョン。 ONNX は、ML.NET、PyTorch、TensorFlow などのフレームワーク間の相互運用性をサポートする AI モデルのオープン ソース形式です。
- bestModelMap.json: モデルの出力をテキスト カテゴリにマップするために予測を行うときに使用されるカテゴリの一覧。
- MLModel.zip: bestModel.onnx
モデルのシリアル化されたバージョンを使用して、 ファイルを使用して予測を行い、出力をマップする、ML.NET 予測パイプラインのシリアル化されたバージョン。
機械学習モデルを使用する
Model プロジェクトの ModelInput
クラスと ModelOutput
クラスは、モデルの予想される入力と出力のスキーマをそれぞれ定義します。
画像分類シナリオでは、ModelInput
には次の 2 つの列が含まれています。
-
ImageSource
: イメージの場所の文字列パス。 -
Label
: 画像が属している実際のカテゴリ。Label
はトレーニング時にのみ入力として使用され、予測を行うときに指定する必要はありません。
ModelOutput
には、次の 2 つの列が含まれています。
-
Prediction
: 画像の予測カテゴリ。 -
Score
: すべてのカテゴリの確率の一覧 (最上位はPrediction
に属します)。
トラブルシューティング
コンピューティングを作成できない
Azure Machine Learning コンピューティングの作成中にエラーが発生した場合、コンピューティング リソースがエラー状態のまま存在する可能性があります。 同じ名前のコンピューティング リソースを再作成しようとすると、操作は失敗します。 このエラーを修正するには、次のいずれかを実行します。
- 別の名前で新しいコンピューティングを作成する
- Azure portal に移動し、元のコンピューティング リソースを削除します
.NET