Azure Machine Learning CLI と Python SDK v2 の概要
適用対象:Azure CLI ml extension v2 (現行)Python SDK azure-ai-ml v2 (現行)
Azure Machine Learning CLI v2 (CLI v2) と Azure Machine Learning Python SDK v2 (SDK v2) では、インターフェイス間で機能と用語の一貫性が導入されています。 この一貫性を形成するために、コマンドの構文が、最初のバージョン (v1) とは大幅に異なる場合があります。
CLI v2 と SDKv2 の間に機能の違いはありません。 CI/CD MLOps の種類のシナリオではコマンド ライン ベースの CLI の方が便利ですが、開発には SDK の方が便利な場合があります。
Azure Machine Learning CLI v2
Azure Machine Learning CLI v2 は、Azure CLI の最新の拡張機能です。 CLI v2 には、Machine Learning の資産とワークフローを作成および管理するための az ml <名詞><動詞><オプション> 形式のコマンドが用意されています。 資産やワークフロー自体は、YAML ファイルを使用して定義します。 YAML ファイルでは、資産やワークフローの構成が定義されます。 たとえば、それが何であるか、どこで実行すべきか、などです。
CLI v2 コマンドの例をいくつか次に示します。
az ml job create --file my_job_definition.yaml
az ml environment update --name my-env --file my_updated_env_definition.yaml
az ml model list
az ml compute show --name my_compute
CLI v2 のユース ケース
CLI v2 は次のシナリオで役立ちます。
特定のプログラミング言語を習得する必要なく、Machine Learning にオンボードします。
YAML ファイルでは、資産やワークフローの構成 (それが何であるか、どこで実行すべきか、など) が定義されます。 使用されるカスタム ロジックまたは IP (データ準備、モデル トレーニング、モデル スコアリングなど) は、スクリプト ファイルに残すことができます。 これらのファイルは YAML で参照されますが、YAML 自体の一部ではありません。 Machine Learning は、Python、R、Java、Julia、または C# のスクリプト ファイルをサポートしています。 YAML 書式設定とコマンド ラインだけ学習すれば、Machine Learning を使用できます。 好みのスクリプト ファイルを使い続けられます。
デプロイと自動化の容易さを利用します。
実行にコマンドラインを使用することで、どのオファリングまたはプラットフォームからでもワークフローを起動でき、ユーザーがコマンド ラインを呼び出せるようになるため、デプロイと自動化がより簡単になります。
マネージド推論のデプロイを使用します。
Machine Learning では、リアルタイムとバッチ、両方の推論のデプロイについてモデル デプロイを効率化するためのエンドポイントが提供されます。 この機能は、CLI v2 と SDK v2 を介してのみ使用できます。
パイプラインのコンポーネントを再利用します。
Machine Learning には、パイプライン間で共通のロジックを管理し再利用するためのコンポーネントが導入されています。 この機能は、CLI v2 と SDK v2 を介してのみ使用できます。
Azure Machine Learning Python SDK v2
Azure Machine Learning Python SDK v2 は、更新された Python SDK パッケージで、ユーザーは次のことができます。
- トレーニング ジョブを送信します。
- データ、モデル、環境を管理します。
- マネージド推論を実行します (リアルタイムとバッチ)。
- Machine Learning パイプラインを使用して、複数のタスクと運用ワークフローを結合します。
SDK v2 は CLI v2 の機能と同等であり、SDK と CLI の間では資産 (名詞) とアクション (動詞) の使い方が統一されています。 たとえば、資産を一覧表示するには、SDK と CLI の両方で list
アクションを使用できます。 同じ list
アクションを使用して、コンピューティング、モデル、環境などを一覧表示できます。
SDK v2 のユース ケース
SDK v2 は次のシナリオで役立ちます。
Python 関数を使用して、単一の手順や複雑なワークフローを構築します。
SDK v2 を使用すると、1 つのコマンドまたは Python 関数などのコマンドのチェーンを作成できます。 このコマンドは、名前とパラメータを持ち、入力を必要とし、出力を返します。
単純な概念から複雑な概念に段階的に移行します。
SDK v2 では、次のことができます。
- 単一のコマンドを構築します。
- そのコマンドの上にハイパーパラメータ スイープを追加します。
- そのコマンドと他のさまざまなものを次々にパイプラインに追加します。
この構築は、機械学習の反復的な性質のため、役立ちます。
パイプラインのコンポーネントを再利用します。
Machine Learning には、パイプライン間で共通のロジックを管理し再利用するためのコンポーネントが導入されています。 この機能は、CLI v2 と SDK v2 を介してのみ使用できます。
マネージド推論を使用します。
Machine Learning では、リアルタイムとバッチ、両方の推論のデプロイについてモデル デプロイを効率化するためのエンドポイントが提供されます。 この機能は、CLI v2 と SDK v2 を介してのみ使用できます。
v1 と v2 のどちらを使うべきか
CLI v1 のサポートは、2025 年 9 月 30 日に終了します。
CLI と SDK v1 の両方のコードを CLI と SDK v2 に移行することをお勧めします。 詳細については、「v2 にアップグレードする」を参照してください。
CLI v2
Azure Machine Learning CLI v1 は非推奨となりました。 v1 拡張機能のサポートは、2025 年 9 月 30 日に終了します。 その日付まで、v1 拡張機能をインストールして使用できます。
2025 年 9 月 30 日より前に、ml
(v2) 拡張機能に移行することをお勧めします。
SDK v2
Azure Machine Learning Python SDK v1 には、非推奨の予定日がありません。 Python SDK v1 に多大な投資をしており、SDK v2 によって提供される新機能が必要ない場合は、SDK v1 を引き続き使用できます。 ただし、次のような場合には、SDK v2 の使用を検討する必要があります。
- 再利用可能なコンポーネント、マネージド推論などの新機能を使用したいと考えています。
- 新しいワークフローまたはパイプラインを開始しています。 すべての新機能と将来の投資が、v2 で導入されます。
- Python SDK v2 機能の改善された使いやすさを活用して、Python 関数を使用したジョブやパイプラインの構成、単純なタスクから複雑なタスクへの容易な移行を行ないたいと考えています。