変更要約: DP-100 第2章を深掘り(図ja化・比較表/シナリオ/FAQ/ひっかけ/深掘り段落を全節に追加)
2.1ジョブの実行とトラッキング(MLflow)
Azure ML の ジョブ(コマンド/スイープ/パイプライン)でモデルを学習し、MLflow によるメトリック/パラメーター/成果物のトラッキング、環境(依存関係)、コンポーネント による再利用を理解します。
モデルの学習は Azure ML の ジョブ として実行します。実行結果(メトリックやモデル)は MLflow で自動的に記録・比較できます。
2.1.1ジョブとトラッキング
- コマンドジョブ:1 つのスクリプトを実行する基本のジョブ。引数や入出力を指定する。
- MLflow トラッキング:メトリック・パラメーター・成果物(モデル)を自動記録し、実験で比較する。
- 環境:学習に必要な依存関係(conda/Docker)を定義し、再現性を確保する。
- コンポーネント/パイプライン:再利用可能な処理単位(コンポーネント)をパイプラインにつなぐ。
「学習の実行=ジョブ(コマンド/スイープ/パイプライン)」「メトリック/パラメーター/モデルの記録・比較=MLflow」「依存関係=環境(conda/Docker)」「再利用=コンポーネント→パイプライン」 は DP-100 で頻出です。実験の比較や再現性に MLflow と環境が要です。
MLflow はオープンソース標準で、Azure ML はこれをネイティブに統合しています。ログ API(mlflow.log_metric など)でメトリックを記録できます。
Azure ML(v2)のジョブは種類で使い分けます:コマンドジョブ(単一スクリプトを引数・入出力・環境・コンピューティング指定で実行)、スイープジョブ(ハイパーパラメーター探索)、パイプラインジョブ(複数の コンポーネント をつなぐ DAG)。定義は YAML(CLI v2) か Python SDK v2 で行い、環境(キュレーション済み か conda/Docker のカスタム)と 入力/出力(データアセットやデータストアのパス)を指定して再現性を確保します。トラッキングは MLflow がネイティブ統合され、mlflow.log_metric/log_param/log_artifact や オートログ(autolog) でメトリック・パラメーター・モデルを 実験(experiment) にまとめ、Studio で比較。学習済みモデルは MLflow モデル形式(環境+シグネチャ込み)で登録するとデプロイが容易です。コンポーネント は入力/出力/環境/コードを持つ再利用単位で、パイプラインに組んでチーム共有・CI/CD に乗せられます。「単一実行=コマンド」「HP 探索=スイープ」「多段=パイプライン」「記録/比較=MLflow」「再現性=環境+データアセット」と整理します。
| ジョブ種別 | 用途 | 例 |
|---|---|---|
| コマンドジョブ | 単一スクリプトの実行 | 1 モデルの学習 |
| スイープジョブ | ハイパーパラメーター探索 | 学習率/深さの最適化 |
| パイプラインジョブ | 複数コンポーネントの連結 | 前処理→学習→評価 |
シナリオ: 前処理・学習・評価を一連で再現可能に回し、結果を比較したい。→ 各ステップをコンポーネント化してパイプラインジョブに組み、環境で依存を固定、入出力はデータアセットで参照。MLflow が各実行のメトリック/モデルを記録するので、実験ビューで比較し最良を選びます。CLI v2 の YAML で定義すれば CI/CD にも乗せられます。
FAQ: Q. メトリックの記録はどうやる? → A. MLflow のログ API(log_metric/log_param/log_artifact)か autolog を使い、Studio の実験で比較します。Q. 環境(Environment)はなぜ必要? → A. 依存関係を固定して、別のコンピューティングや時点でもジョブを再現可能にするためです。
ひっかけ: 「ハイパーパラメーター探索にはコマンドジョブを使う」は誤りです。HP 探索はスイープジョブ(コマンドジョブは単一実行)。また「メトリック比較には独自の仕組みが必要」も誤り(Azure ML は MLflow をネイティブ統合し、実験で比較できる)。
2.1.2この節のまとめ
- 学習=ジョブ、記録/比較=MLflow
- 再現性=環境、再利用=コンポーネント/パイプライン
進捗の記録にはログインが必要です。
理解度チェック
(軽い確認用)Q1. Azure ML で学習スクリプトを実行する基本の単位はどれですか?
Q2. 学習のメトリックやパラメーター、モデルを記録して実験を比較したい。何を使いますか?
Q3. 学習の再現性のため、必要なライブラリ依存関係を定義する Azure ML の要素はどれですか?

