Azure Machine Learning ワークスペースとは
ワークスペースは、同僚と共同作業を行い、機械学習成果物を作成し、関連作業をグループ化する場所です。 たとえば、実験、ジョブ、データセット、モデル、コンポーネント、推論エンドポイントなどです。 この記事では、ワークスペース、ワークスペースへのアクセスを管理する方法、およびワークスペースを使用して作業を整理する方法について説明します。
使い始める準備はできていますか。 ワークスペースを作成します。
ワークスペース内で実行されるタスク
機械学習チームにとって、ワークスペースは作業を整理する場所です。 ワークスペースから開始できるタスクの一部を次に示します。
- ジョブの作成 - ジョブは、ご自身のモデルの構築に使用するトレーニング実行です。 ジョブを実験にジョブをグループ化してメトリックを比較できます。
- パイプラインの作成 - パイプラインは、お使いのモデルをトレーニングおよび再トレーニングするための再利用可能なワークフローです。
- データ資産の登録 - データ資産は、モデルのトレーニングとパイプラインの作成に使用するデータの管理に役立ちます。
- モデルの登録 - デプロイするモデルを作成したら、登録済みモデルを作成します。
- オンライン エンドポイントの作成 - 登録したモデルとスコアリング スクリプトを使用して、オンライン エンドポイントを作成します。
- モデルのデプロイ - 登録したモデルとスコアリング スクリプトを使用して、モデルをデプロイします。
ワークスペースでは、機械学習の結果をグループ化するだけでなく、次のリソース構成もホストします。
- コンピューティング ターゲットは、ご自身の実験の実行に使用されます。
- データ ストアは、データ資産を使用するときに、自分や他のユーザーがデータ ソースに接続する方法を定義します。
- セキュリティ設定 - ネットワーク、ID とアクセス制御、暗号化の設定。
ワークスペースの整理
機械学習チームのリーダーおよび管理者にとって、ワークスペースはアクセス管理、コスト管理、データ分離のためのコンテナーとして機能します。 ワークスペースを整理するためのヒントを次に示します。
- [ユーザーの役割] を使用して、ユーザー間のワークスペースでアクセス許可を管理します。 たとえば、データ サイエンティスト、機械学習エンジニア、管理者などです。
- ユーザー グループにアクセスを割り当てる: Microsoft Entra ユーザー グループを使用すると、各ワークスペースに個別のユーザーを追加したり、同じユーザー グループがアクセスを必要とする他のリソースに追加したりする必要はありません。
- プロジェクトごとにワークスペースを作成する: ワークスペースは複数のプロジェクトに使用できますが、ワークスペースごとに 1 つのプロジェクトに制限すると、プロジェクト レベルに計上されるコスト レポートが可能になります。 また、各プロジェクトのスコープ内のデータストアなどの構成を管理することもできます。
- Azure リソースを共有する: ワークスペースでは、関連付けられている複数のリソースを作成する必要があります。 ワークスペース間でこれらのリソースを共有して、繰り返しのセットアップ手順を省略します。
- セルフサービスを有効にする: 関連するリソース を IT 管理者として事前に作成してセキュリティで保護し、ユーザー ロールを使用してデータ サイエンティストが独自にワークスペースを作成できるようにします。
- 資産を共有する: Azure Machine Learning レジストリを使用して、ワークスペース間で資産を共有できます。
コンテンツがワークスペースに格納される仕組み
ワークスペースには、スクリプトのログ、メトリクス、出力、系列メタデータ、およびスナップショットを含む、すべてのトレーニング実行の履歴が保持されます。 Azure Machine Learning でタスクを実行すると、成果物が生成されます。 メタデータとデータは、ワークスペースとそれに関連付けられているリソースに格納されます。
関連付けられているリソース
新しいワークスペースを作成するときは、他の Azure リソースを使用してデータを格納する必要があります。 用意されていない場合は、これらのリソースは Azure Machine Learning によって自動的に作成されます。
Azure Storage アカウント。 ジョブ ログなどの機械学習の成果物を格納します。 既定では、ワークスペースにデータをアップロードするときに、このストレージ アカウントが使用されます。 Azure Machine Learning コンピューティングインスタンスで使用される Jupyter ノートブックもここに保存されます。
重要
次の場合、既存の Azure Storage アカウントを使用できません。
- BlobStorage 型のアカウント
- Premium アカウント (Premium_LRS と Premium_GRS)
- 階層型名前空間 (Azure Data Lake Storage Gen2 で使用) を持つアカウント。
データストアを作成することで、追加のストレージとして Premium Storage や階層型名前空間を使用できます。
汎用 v2 にアップグレードした後は、ストレージ アカウントで階層型名前空間を有効にしないでください。
既存の汎用 v1 ストレージ アカウントを持ち込む場合は、ワークスペースの作成後に、これを汎用 v2 にアップグレードできます。
Azure Container Registry (ACR)。 Azure Machine Learning を使用してカスタム環境をビルドするときに、作成された Docker コンテナーを格納します。 AutoML モデルとデータ プロファイルをデプロイすると、カスタム環境の作成もトリガーされます。
カスタム Docker コンテナーをビルドする必要がない場合は、依存関係として ACR を使用せずにワークスペースを作成できます。 Azure Machine Learning は、外部コンテナー レジストリから読み取ることができます。
ACR は、カスタム Docker イメージをビルドするときに自動的にプロビジョニングされます。 Azure ロールベースのアクセス制御 (Azure RBAC) を使用して、顧客の Docker コンテナーがビルドされないようにします。
重要
サブスクリプションの設定で、配下のリソースにタグを追加することが要求されている場合、Azure Machine Learning によって作成される ACR でエラーが発生します。Microsoft が ACR にタグを設定することはできないためです。
Azure Application Insights。 推論エンドポイントから診断情報を監視および収集するのに役立ちます。
詳しくは、「オンライン エンドポイントを監視する」をご覧ください。
Azure Key Vault。 コンピューティング先で使用されるシークレット、およびワークスペースで必要な他の機密情報を格納します。
ワークスペースの作成
ワークスペースは、さまざまな方法で作成できます。 開始するには、次のいずれかのオプションを使用します。
- Azure Machine Learning スタジオを使用すると、既定の設定でワークスペースをすばやく作成できます。
- その他のセキュリティ オプションを含むポイント アンド クリック インターフェイスには、Azure portal を使用します。
- Visual Studio Code で作業する場合は、VS Code 拡張機能を使用します。
優先されるセキュリティ設定を使用してワークスペースの作成を自動化するには:
- Azure Resource Manager/Bicep テンプレートには、Azure リソースをデプロイするための宣言構文が用意されています。 代わりに、Terraform を使用することもできます。 Bicep テンプレートまたは Terraform テンプレートも参照してください。.
- プロトタイプ作成や MLOps ワークフローの一部に、Azure Machine Learning CLI または Azure Machine Learning SDK for Python を使用します。
- プロトタイプ作成や MLOps ワークフローの一部に、Azure Machine Learning CLI または Azure Machine Learning SDK for Python を使用します。
- REST API は、スクリプト環境、プラットフォーム統合、または MLOps ワークフローで直接使用します。
ワークスペースの操作と管理のためのツール
ワークスペースを設定したら、次の方法で操作できます。
- Azure Machine Learning SDK を使用したすべての Python 環境で。
- コマンド ラインでは Azure Machine Learning CLI 拡張機能 v2 を使用
- Azure Machine Learning SDK を使用したすべての Python 環境で
- コマンド ラインで、Azure Machine Learning CLI 拡張機能 v1 を使用する
各インターフェイスでは、次のワークスペース管理タスクを使用できます。
ワークスペース管理タスク | ポータル | スタジオ | Python SDK | Azure CLI | VS Code |
---|---|---|---|---|---|
ワークスペースの作成 | ✓ | ✓ | ✓ | ✓ | ✓ |
ワークスペース アクセスの管理 | ✓ | ✓ | |||
コンピューティング リソースを作成して管理する | ✓ | ✓ | ✓ | ✓ | ✓ |
コンピューティング インスタンスを作成する | ✓ | ✓ | ✓ | ✓ |
警告
Azure Machine Learning ワークスペースを別のサブスクリプションに移動したり、所有するサブスクリプションを新しいテナントに移動したりすることは、サポートされていません。 エラーの原因になります。
サブ リソース
Azure Machine Learning でコンピューティング クラスターとコンピューティング インスタンスを作成すると、サブ リソースが作成されます。
- VM: ジョブの実行に使用するコンピューティング インスタンスとコンピューティング クラスターにコンピューティング能力を提供します。
- ロード バランサー: コンピューティング インスタンスおよびクラスターが停止している場合でもトラフィックを管理するために、コンピューティング インスタンスとコンピューティング クラスターごとにネットワーク ロード バランサーが作成されます。
- 仮想ネットワーク: これらは、Azure リソースが互いに通信したり、インターネットやその他のオンプレミス ネットワークと通信したりするために役立ちます。
- 帯域幅: リージョン間のすべてのアウトバウンド データ転送をカプセル化します。
次のステップ
組織の要件に合わせてワークスペースを計画する方法の詳細については、Azure Machine Learning の整理とセットアップに関するページを参照してください。
Azure Machine Learning の利用を開始するには、以下を参照してください。