モデル監視用の CLI (v2) スケジュール YAML スキーマ (プレビュー)

適用対象: Azure CLI ml 拡張機能 v2 (現行)

このドキュメントで詳しく説明されている YAML 構文は、最新バージョンの ML CLI v2 拡張機能の JSON スキーマに基づいています。 この構文は、ML CLI v2 拡張機能の最新バージョンでのみ動作することが保証されています。 包括的な JSON スキーマは、 https://azuremlschemas.azureedge.net/latest/monitorSchedule.schema.jsonで表示できます。 以前のバージョンの拡張機能のスキーマについては、https://azuremlschemasprod.azureedge.net/ でご確認いただけます。

YAML 構文

キー Type 説明 使用できる値
$schema string YAML スキーマ。
name string 必須。 スケジュールの名前。
description string スケジュールの説明。
tags object スケジュールのタグの辞書。
trigger object 必須。 ジョブをトリガーするタイミングのルールを定義するトリガー構成。 RecurrenceTrigger または CronTrigger のいずれかが必須です。
create_monitor object 必須。 スケジュールによってトリガーされるモニターの定義。 MonitorDefinition は必須です。

トリガーの構成

Recurrence トリガー

キー Type 説明 使用できる値
type string 必須。 スケジュールの種類を指定します。 recurrence
frequency string 必須。 スケジュールの起動間隔を表す時間の単位を指定します。 minutehourdayweekmonth
interval 整数 (integer) 必須。 スケジュールの起動間隔を指定します。
start_time string タイムゾーンと共に開始日時を記述します。 start_time を省略した場合、最初のジョブはすぐに実行され、将来のジョブはスケジュールに基づいてトリガーされます。つまり、start_time はジョブの作成日時と等しくなります。 開始時刻が過去の場合、最初のジョブは、計算された次の実行時に実行されます。
end_time string タイムゾーンと共に終了日時を記述します。 end_time を省略した場合、スケジュールは明示的に無効にされるまで実行し続けます。
timezone string 繰り返しのタイム ゾーンを指定します。 省略した場合、既定値は UTC になります。 タイムゾーン値の付録を参照
pattern object 繰り返しのパターンを指定します。 パターンを省略すると、start_time、frequency、interval のロジックに従ってジョブがトリガーされます。

繰り返しスケジュール

繰り返しスケジュールは、hoursminutesweekdays などの繰り返しパターンを定義します。

  • 頻度が day の場合、パターンで hoursminutes を指定できます。
  • 頻度が weekmonth の場合、パターンで hoursminutesweekdays を指定できます。
キー Type 使用できる値
hours 整数または整数の配列 0-23
minutes 整数または整数の配列 0-59
week_days 文字列または文字列の配列 mondaytuesdaywednesdaythursdayfridaysaturdaysunday

CronTrigger

キー Type 説明 使用できる値
type string 必須。 スケジュールの種類を指定します。 cron
expression string 必須。 ジョブをトリガーする方法を定義する cron 式を指定します。 式では、標準の crontab 式を使用して繰り返しスケジュールを表します。 1 つの式は、スペースで区切られた 5 つのフィールドで構成されます: MINUTES HOURS DAYS MONTHS DAYS-OF-WEEK
start_time string タイムゾーンと共に開始日時を記述します。 start_time を省略した場合、最初のジョブが即座に実行され、将来のジョブはスケジュールに基づいてトリガーされます。つまり、start_time はジョブの作成時刻と等しくなります。 開始時刻が過去の場合、最初のジョブは、計算された次の実行時に実行されます。
end_time string タイムゾーンと共に終了日時を記述します。 end_time を省略した場合、明示的に無効になるまでスケジュールは引き続き実行されます。
timezone string 繰り返しのタイム ゾーンを指定します。 省略した場合、既定値は UTC になります。 タイムゾーン値の付録を参照

モニターの定義

キー Type 説明 使用できる値 既定値
compute Object [必須] 。 監視ジョブを実行する Spark プール用のコンピューティング リソースの説明。
compute.instance_type String [必須] 。 Spark プールに使われるコンピューティング インスタンスの種類。 "standard_e4s_v3"、"standard_e8s_v3"、"standard_e16s_v3"、"standard_e32s_v3"、"standard_e64s_v3" N/A
compute.runtime_version String オプション。 Spark ランタイムのバージョンを定義します。 3.3 3.3
monitoring_target Object モデルの監視に関連付けられている Azure Machine Learning 資産。
monitoring_target.ml_task String モデルの機械学習タスク。 使用できる値は、classificationregressionquestion_answering です
monitoring_target.endpoint_deployment_id String オプション。 関連付けられている Azure Machine Learning のエンドポイントとデプロイ ID (azureml:myEndpointName:myDeploymentName の形式)。 エンドポイントとデプロイでモデル監視に使われるモデル データの収集が有効になっている場合、このフィールドは必須です。
monitoring_target.model_id String オプション。 モデル監視に関連付けられているモデル ID。
monitoring_signals Object 含める監視シグナルの辞書。 キーはモニターのコンテキスト内での監視シグナルの名前であり、値は監視シグナル仕様を含むオブジェクトです。 比較ベースラインとして最近の運用データを使用し、3 つの監視シグナル (データ ドリフト、予測ドリフト、データ品質) を持つ基本的なモデル監視の場合は省略可能
alert_notification 文字列またはオブジェクト アラート通知の受信者の説明。 次の 2 つのアラートの送信先のいずれかを使用できます。電子メール受信者の配列を含む文字列 azmonitoring またはオブジェクト emails
alert_notification.emails オブジェクト アラート通知を受け取るメール アドレスの一覧。

監視シグナル

データ ドリフト

モデルのトレーニングに使われるデータが運用環境で進化すると、データの分布が変化し、トレーニング データとモデルが予測に使われる実際のデータとの間に、不一致が発生する可能性があります。 データ ドリフトは、モデルのトレーニングに使われる入力データの統計プロパティが時間経過によって変化したときに、機械学習で発生する現象です。

キー Type 説明 使用できる値 既定値
type String [必須] 。 監視シグナルの種類。 事前構築済みの監視シグナル処理コンポーネントが、ここで指定されている type に従って自動的に読み込まれます。 data_drift data_drift
production_data Object オプション。 監視シグナル用に分析される運用データの説明。
production_data.input_data Object オプション。 入力データ ソースの説明。ジョブ入力データの仕様を参照してください。
production_data.data_context String データのコンテキスト。モデルの運用データを示し、モデル入力またはモデル出力です model_inputs
production_data.data_window Object 省略可。 比較基準データとして使用する参照データのデータ ウィンドウ。 ローリング データ ウィンドウまたは固定データ ウィンドウのみを許可します。 ローリング データ ウィンドウを使用する場合は、production_data.data_window.lookback_window_offset および production_data.data_window.lookback_window_size プロパティを指定してください。 固定データ ウィンドウを使用する場合は、production_data.data_window.window_start および production_data.data_window.window_end プロパティを指定してください。 すべてのプロパティ値は、ISO8601形式である必要があります。
production_data.pre_processing_component String 登録されているコンポーネントの azureml:myPreprocessing@latest という形式のコンポーネント ID。 production_data.data.input_data.typeuri_folder の場合、これは必須です。前処理コンポーネントの仕様に関する記事をご覧ください。
reference_data Object オプション。 これが指定されていない場合は、最近の運用データが比較ベースライン データとして使われます。 トレーニング データを比較ベースラインとして使うことをお勧めします。
reference_data.input_data Object 入力データ ソースの説明。ジョブ入力データの仕様を参照してください。
reference_data.data_context String データのコンテキス。データセットが以前に使われたコンテキストを指します model_inputstrainingtestvalidation
reference_data.data_column_names.target_column オブジェクト 省略可。 reference_dataがトレーニング データの場合、このプロパティはデータ ドリフトの上位 N 個の特徴を監視するために必要です。
reference_data.data_window Object 省略可。 比較基準データとして使用する参照データのデータ ウィンドウ。 ローリング データ ウィンドウまたは固定データ ウィンドウのみを許可します。 ローリング データ ウィンドウを使用する場合は、reference_data.data_window.lookback_window_offset および reference_data.data_window.lookback_window_size プロパティを指定してください。 固定データ ウィンドウを使用する場合は、reference_data.data_window.window_start および reference_data.data_window.window_end プロパティを指定してください。 すべてのプロパティ値は、ISO8601形式である必要があります。
reference_data_data.pre_processing_component String 登録されているコンポーネントの azureml:myPreprocessing@latest という形式のコンポーネント ID。 reference_data.input_data.typeuri_folder の場合、これは必須です。前処理コンポーネントの仕様に関する記事をご覧ください。
features Object オプション。 データ ドリフトの監視対象の特徴量。 モデルによっては数百または数千の特徴量がある場合があり、監視対象の特徴量を常に指定することをお勧めします。 次のいずれかの値: 特徴量の名前のリスト、features.top_n_feature_importance、または all_features production_data.data_contexttraining の場合の既定値は features.top_n_feature_importance = 10、それ以外の場合の既定値は all_features です
alert_enabled ブール型 監視シグナルのアラート通知をオンまたはオフにします。 True または False
metric_thresholds Object 監視シグナルのメトリックとしきい値のプロパティのリスト。 しきい値を超えて、alert_enabledtrue の場合、ユーザーはアラート通知を受け取ります。
metric_thresholds.numerical オブジェクト 省略可能。 key:value 形式のメトリックとしきい値の一覧。key はメトリック名、value はしきい値です。 使用できる数値メトリック名: jensen_shannon_distancenormalized_wasserstein_distancepopulation_stability_indextwo_sample_kolmogorov_smirnov_test
metric_thresholds.categorical オブジェクト 省略可能。 'key:value' 形式のメトリックとしきい値の一覧。'key' はメトリック名、'value' はしきい値です。 許可されるカテゴリ メトリック名: jensen_shannon_distancechi_squared_testpopulation_stability_index

予測ドリフト

予測ドリフトは、検証またはテスト ラベル付きデータまたは最近の運用データと比較することによって、モデルの予測出力の分布の変化を追跡します。

キー Type 説明 使用できる値 既定値
type String [必須] 。 監視シグナルの種類。 事前構築済みの監視シグナル処理コンポーネントが、ここで指定されている type に従って自動的に読み込まれます。 prediction_drift prediction_drift
production_data Object オプション。 監視シグナル用に分析される運用データの説明。
production_data.input_data Object オプション。 入力データ ソースの説明。ジョブ入力データの仕様を参照してください。
production_data.data_context String データのコンテキスト。モデルの運用データを示し、モデル入力またはモデル出力です model_outputs
production_data.data_window Object 省略可。 比較基準データとして使用する参照データのデータ ウィンドウ。 ローリング データ ウィンドウまたは固定データ ウィンドウのみを許可します。 ローリング データ ウィンドウを使用する場合は、production_data.data_window.lookback_window_offset および production_data.data_window.lookback_window_size プロパティを指定してください。 固定データ ウィンドウを使用する場合は、production_data.data_window.window_start および production_data.data_window.window_end プロパティを指定してください。 すべてのプロパティ値は、ISO8601形式である必要があります。
production_data.pre_processing_component String 登録されているコンポーネントの azureml:myPreprocessing@latest という形式のコンポーネント ID。 これは、 production_data.data.input_data.typeuri_folder場合に必要です。 前処理コンポーネントの仕様の詳細については、 コンポーネント仕様の準備を参照してください。
reference_data Object オプション。 これが指定されていない場合は、最近の運用データが比較ベースライン データとして使われます。 トレーニング データを比較ベースラインとして使うことをお勧めします。
reference_data.input_data Object 入力データ ソースの説明。ジョブ入力データの仕様を参照してください。
reference_data.data_context String データのコンテキス。データセットが以前に使われたコンテキストを指します model_inputstrainingtestvalidation
reference_data.data_column_names.target_column オブジェクト 省略可。 'reference_data' がトレーニング データの場合、このプロパティはデータ ドリフトの上位 N 個の特徴を監視するために必要です。
reference_data.data_window オブジェクト 省略可。 比較基準データとして使用する参照データのデータ ウィンドウ。 ローリング データ ウィンドウまたは固定データ ウィンドウのみを許可します。 ローリング データ ウィンドウを使用する場合は、reference_data.data_window.lookback_window_offset および reference_data.data_window.lookback_window_size プロパティを指定してください。 固定データ ウィンドウを使用する場合は、reference_data.data_window.window_start および reference_data.data_window.window_end プロパティを指定してください。 すべてのプロパティ値は、ISO8601形式である必要があります。
reference_data_data.pre_processing_component String 登録されているコンポーネントの azureml:myPreprocessing@latest という形式のコンポーネント ID。 reference_data.input_data.typeuri_folder の場合、これは必須です。前処理コンポーネントの仕様に関する記事をご覧ください。
features Object オプション。 データ ドリフトの監視対象の特徴量。 モデルによっては数百または数千の特徴量がある場合があり、監視対象の特徴量を常に指定することをお勧めします。 次のいずれかの値: 特徴量の名前のリスト、features.top_n_feature_importance、または all_features production_data.data_contexttraining の場合の既定値は features.top_n_feature_importance = 10、それ以外の場合の既定値は all_features です
alert_enabled ブール型 監視シグナルのアラート通知をオンまたはオフにします。 True または False
metric_thresholds Object 監視シグナルのメトリックとしきい値のプロパティのリスト。 しきい値を超えて、alert_enabledtrue の場合、ユーザーはアラート通知を受け取ります。
metric_thresholds.numerical オブジェクト 省略可能。 'key:value' 形式のメトリックとしきい値の一覧。'key' はメトリック名、'value' はしきい値です。 使用できる数値メトリック名: jensen_shannon_distancenormalized_wasserstein_distancepopulation_stability_indextwo_sample_kolmogorov_smirnov_test
metric_thresholds.categorical オブジェクト 省略可能。 'key:value' 形式のメトリックとしきい値の一覧。'key' はメトリック名、'value' はしきい値です。 許可されるカテゴリ メトリック名: jensen_shannon_distancechi_squared_testpopulation_stability_index

データ品質

データ品質シグナルは、トレーニング データまたは最近の運用データと比較することで、運用環境のデータ品質の問題を追跡します。

キー Type 説明 使用できる値 既定値
type String [必須] 。 監視シグナルの種類。 事前構築済みの監視シグナル処理コンポーネントが、ここで指定されている type に従って自動的に読み込まれます data_quality data_quality
production_data Object オプション。 監視シグナル用に分析される運用データの説明。
production_data.input_data Object オプション。 入力データ ソースの説明。ジョブ入力データの仕様を参照してください。
production_data.data_context String データのコンテキスト。モデルの運用データを示し、モデル入力またはモデル出力です model_inputs, model_outputs
production_data.data_window Object 省略可。 比較基準データとして使用する参照データのデータ ウィンドウ。 ローリング データ ウィンドウまたは固定データ ウィンドウのみを許可します。 ローリング データ ウィンドウを使用する場合は、production_data.data_window.lookback_window_offset および production_data.data_window.lookback_window_size プロパティを指定してください。 固定データ ウィンドウを使用する場合は、production_data.data_window.window_start および production_data.data_window.window_end プロパティを指定してください。 すべてのプロパティ値は、ISO8601形式である必要があります。
production_data.pre_processing_component String 登録されているコンポーネントの azureml:myPreprocessing@latest という形式のコンポーネント ID。 production_data.input_data.typeuri_folder の場合、これは必須です。前処理コンポーネントの仕様に関する記事をご覧ください。
reference_data Object オプション。 これが指定されていない場合は、最近の運用データが比較ベースライン データとして使われます。 トレーニング データを比較ベースラインとして使うことをお勧めします。
reference_data.input_data Object 入力データ ソースの説明。ジョブ入力データの仕様を参照してください。
reference_data.data_context String データのコンテキス。データセットが以前に使われたコンテキストを指します model_inputsmodel_outputstrainingtestvalidation
reference_data.data_column_names.target_column オブジェクト 省略可。 'reference_data' がトレーニング データの場合、このプロパティはデータ ドリフトの上位 N 個の特徴を監視するために必要です。
reference_data.data_window オブジェクト 省略可。 比較基準データとして使用する参照データのデータ ウィンドウ。 ローリング データ ウィンドウまたは固定データ ウィンドウのみを許可します。 ローリング データ ウィンドウを使用する場合は、reference_data.data_window.lookback_window_offset および reference_data.data_window.lookback_window_size プロパティを指定してください。 固定データ ウィンドウを使用する場合は、reference_data.data_window.window_start および reference_data.data_window.window_end プロパティを指定してください。 すべてのプロパティ値は、ISO8601形式である必要があります。
reference_data.pre_processing_component String 登録されているコンポーネントの azureml:myPreprocessing@latest という形式のコンポーネント ID。 reference_data.input_data.typeuri_folder の場合、これは必須です。前処理コンポーネントの仕様に関する記事をご覧ください。
features Object オプション。 データ品質の監視対象の特徴量。 モデルによっては、特徴量が数百または数千になる場合があります。 監視対象の特徴量を常に指定することをお勧めします。 次のいずれかの値: 特徴量の名前のリスト、features.top_n_feature_importance、または all_features reference_data.data_contexttraining の場合の既定値は features.top_n_feature_importance = 10、それ以外の場合の既定値は all_features です
alert_enabled Boolean 監視シグナルのアラート通知をオンまたはオフにします。 True または False
metric_thresholds Object 監視シグナルのメトリックとしきい値のプロパティのリスト。 しきい値を超えて、alert_enabledtrue の場合、ユーザーはアラート通知を受け取ります。
metric_thresholds.numerical オブジェクト 省略可能 key:value 形式のメトリックとしきい値の一覧。key はメトリック名、value はしきい値です。 使用できる数値メトリック名: data_type_error_ratenull_value_rateout_of_bounds_rate
metric_thresholds.categorical オブジェクト 省略可能 key:value 形式のメトリックとしきい値の一覧。key はメトリック名、value はしきい値です。 許可されるカテゴリ メトリック名: data_type_error_ratenull_value_rateout_of_bounds_rate

特徴量属性ドリフト (プレビュー)

データの分布の変化、特徴量間の関係の変化、または基になる解決対象の問題の変化により、モデルの特徴量属性が時間の経過と共に変化する可能性があります。 特徴量属性ドリフトは、予測出力に対する特徴量の重要性または寄与が時間の経過と共に変化したときに、機械学習モデルで発生する現象です。

キー Type 説明 使用できる値 既定値
type String [必須] 。 監視シグナルの種類。 事前構築済みの監視シグナル処理コンポーネントが、ここで指定されている type に従って自動的に読み込まれます feature_attribution_drift feature_attribution_drift
production_data Array 省略可能。これが指定されていない場合は、Azure Machine Learning エンドポイントに関連付けられている収集データが既定で設定されます。 production_data は、データセットとそれに関連付けられているメタデータの一覧であり、モデル入力とモデル出力データの両方を含める必要があります。 これは、モデルの入力と出力の両方を含む単一のデータセットにすることも、モデルの入力と出力を含む 2 つの別々のデータセットにすることもできます。
production_data.input_data オブジェクト オプション。 入力データ ソースの説明。ジョブ入力データの仕様を参照してください。
production_data.input_data.data_column_names Object データ結合に必要な key:value 形式の相関関係列名と予測列名。 使用できるキー: correlation_idtarget_column
production_data.data_context String データのコンテキスト。 これは、運用モデルの入力データのことです。 model_inputsmodel_outputsmodel_inputs_outputs
production_data.data_window Object 省略可。 比較基準データとして使用する参照データのデータ ウィンドウ。 ローリング データ ウィンドウまたは固定データ ウィンドウのみを許可します。 ローリング データ ウィンドウを使用する場合は、production_data.data_window.lookback_window_offset および production_data.data_window.lookback_window_size プロパティを指定してください。 固定データ ウィンドウを使用する場合は、production_data.data_window.window_start および production_data.data_window.window_end プロパティを指定してください。 すべてのプロパティ値は、ISO8601形式である必要があります。
production_data.pre_processing_component String 登録されているコンポーネントの azureml:myPreprocessing@latest という形式のコンポーネント ID。 production_data.input_data.typeuri_folder の場合、これは必須です。前処理コンポーネントの仕様に関する記事をご覧ください。
production_data.data_window_size String 省略可。 たとえば P7D のような、ISO8601 形式による日単位のデータ ウィンドウ サイズ。 これは、データ品質の問題に対して計算される運用データ ウィンドウです。 既定のデータ ウィンドウ サイズは最後の監視期間です。
reference_data Object オプション。 これが指定されていない場合は、最近の運用データが比較ベースライン データとして使われます。 トレーニング データを比較ベースラインとして使うことをお勧めします。
reference_data.input_data Object 入力データ ソースの説明。ジョブ入力データの仕様を参照してください。
reference_data.data_context String データのコンテキス。データセットが以前に使われたコンテキストを指します。 特徴属性のドリフトから、training データのみが許可されています。 training
reference_data.data_column_names.target_column String 必須
reference_data.data_window Object 省略可。 比較基準データとして使用する参照データのデータ ウィンドウ。 ローリング データ ウィンドウまたは固定データ ウィンドウのみを許可します。 ローリング データ ウィンドウを使用する場合は、reference_data.data_window.lookback_window_offset および reference_data.data_window.lookback_window_size プロパティを指定してください。 固定データ ウィンドウを使用する場合は、reference_data.data_window.window_start および reference_data.data_window.window_end プロパティを指定してください。 すべてのプロパティ値は、ISO8601形式である必要があります。
reference_data.pre_processing_component String 登録されているコンポーネントの azureml:myPreprocessing@latest という形式のコンポーネント ID。 reference_data.input_data.typeuri_folder の場合、これは必須です。前処理コンポーネントの仕様に関する記事をご覧ください。
alert_enabled Boolean 監視シグナルのアラート通知をオンまたはオフにします。 True または False
metric_thresholds オブジェクト key:value 形式の特徴属性のドリフトのメトリック名としきい値 (key はメトリック名、 value はしきい値)。 しきい値を超えて、alert_enabled がオンの場合、ユーザーはアラート通知を受け取ります。 許可されるメトリック名: normalized_discounted_cumulative_gain

カスタム監視信号

カスタム Azure Machine Learning コンポーネントを介したカスタム監視シグナル。

キー Type 説明 使用できる値 既定値
type String [必須] 。 監視シグナルの種類。 事前構築済みの監視シグナル処理コンポーネントが、ここで指定されている type に従って自動的に読み込まれます。 custom custom
component_id String 必須。 カスタム シグナルに対応する Azure Machine Learning コンポーネント ID。 例: azureml:mycustomcomponent:1
input_data Object 省略可。 監視信号によって分析される入力データの説明については、 ジョブ入力データ 仕様を参照してください。
input_data.<data_name>.data_context String データのコンテキスト。モデルの運用データを示し、モデル入力またはモデル出力です model_inputs
input_data.<data_name>.data_window Object 省略可。 比較基準データとして使用する参照データのデータ ウィンドウ。 ローリング データ ウィンドウまたは固定データ ウィンドウのみを許可します。 ローリング データ ウィンドウを使用する場合は、input_data.<data_name>.data_window.lookback_window_offset および input_data.<data_name>.data_window.lookback_window_size プロパティを指定してください。 固定データ ウィンドウを使用する場合は、input_data.<data_name>.data_window.window_start および input_data.<data_name>.data_window.window_end プロパティを指定してください。 すべてのプロパティ値は、ISO8601形式である必要があります。
input_data.<data_name>.pre_processing_component String 登録されているコンポーネントの azureml:myPreprocessing@latest という形式のコンポーネント ID。 input_data.<data_name>.input_data.typeuri_folder の場合、これは必須です。前処理コンポーネントの仕様に関する記事をご覧ください。
alert_enabled Boolean 監視シグナルのアラート通知をオンまたはオフにします。 True または False
metric_thresholds.metric_name Object カスタム メトリックの名前。
threshold Object カスタム メトリックの許容されるしきい値。

モデルのパフォーマンス (プレビュー)

モデルのパフォーマンスは、運用環境でのモデルの出力を収集されたグラウンド トゥルース データと比較して、客観的なパフォーマンスを追跡します。

キー Type 説明 使用できる値 既定値
type String [必須] 。 監視シグナルの種類。 事前構築済みの監視シグナル処理コンポーネントが、ここで指定されている type に従って自動的に読み込まれます model_performance model_performance
production_data Array 省略可能。これが指定されていない場合は、Azure Machine Learning エンドポイントに関連付けられている収集データが既定で設定されます。 production_data は、データセットとそれに関連付けられているメタデータの一覧であり、モデル入力とモデル出力データの両方を含める必要があります。 これは、モデルの入力と出力の両方を含む単一のデータセットにすることも、モデルの入力と出力を含む 2 つの別々のデータセットにすることもできます。
production_data.input_data オブジェクト オプション。 入力データ ソースの説明。ジョブ入力データの仕様を参照してください。
production_data.input_data.data_column_names Object データ結合に必要な key:value 形式の相関関係列名と予測列名。 使用できるキー: correlation_idtarget_column
production_data.data_context String データのコンテキスト。 これは、運用モデルの入力データのことです。 model_inputsmodel_outputsmodel_inputs_outputs
production_data.data_window Object 省略可。 比較基準データとして使用する参照データのデータ ウィンドウ。 ローリング データ ウィンドウまたは固定データ ウィンドウのみを許可します。 ローリング データ ウィンドウを使用する場合は、production_data.data_window.lookback_window_offset および production_data.data_window.lookback_window_size プロパティを指定してください。 固定データ ウィンドウを使用する場合は、production_data.data_window.window_start および production_data.data_window.window_end プロパティを指定してください。 すべてのプロパティ値は、ISO8601形式である必要があります。
production_data.pre_processing_component String 登録されているコンポーネントの azureml:myPreprocessing@latest という形式のコンポーネント ID。 production_data.input_data.typeuri_folder の場合、これは必須です。前処理コンポーネントの仕様に関する記事をご覧ください。
production_data.data_window_size String 省略可。 たとえば P7D のような、ISO8601 形式による日単位のデータ ウィンドウ サイズ。 これは、データ品質の問題に対して計算される運用データ ウィンドウです。 既定のデータ ウィンドウ サイズは最後の監視期間です。
reference_data Object オプション。 これが指定されていない場合は、最近の運用データが比較ベースライン データとして使われます。 トレーニング データを比較ベースラインとして使うことをお勧めします。
reference_data.input_data Object 入力データ ソースの説明。ジョブ入力データの仕様を参照してください。
reference_data.data_context String データのコンテキス。データセットが以前に使われたコンテキストを指します。 特徴属性のドリフトから、training データのみが許可されています。 training
reference_data.data_column_names.target_column String 必須
reference_data.data_window Object 省略可。 比較基準データとして使用する参照データのデータ ウィンドウ。 ローリング データ ウィンドウまたは固定データ ウィンドウのみを許可します。 ローリング データ ウィンドウを使用する場合は、reference_data.data_window.lookback_window_offset および reference_data.data_window.lookback_window_size プロパティを指定してください。 固定データ ウィンドウを使用する場合は、reference_data.data_window.window_start および reference_data.data_window.window_end プロパティを指定してください。 すべてのプロパティ値は、ISO8601形式である必要があります。
reference_data.pre_processing_component String 登録されているコンポーネントの azureml:myPreprocessing@latest という形式のコンポーネント ID。 reference_data.input_data.typeuri_folder の場合、これは必須です。前処理コンポーネントの仕様に関する記事をご覧ください。
alert_enabled Boolean 監視シグナルのアラート通知をオンまたはオフにします。 True または False
metric_thresholds.classification Object 省略可能 key:value 形式のメトリックとしきい値の一覧。key はメトリック名、value はしきい値です。 許可される classification メトリックの名前: accuracyprecisionrecall
metric_thresholds.regression Object 省略可能 key:value 形式のメトリックとしきい値の一覧。key はメトリック名、value はしきい値です。 許可される regression メトリックの名前: maemsermse

解説

az ml schedule コマンドは、Azure Machine Learning モデルを管理するために使用できます。

監視 CLI の例は、 サンプル GitHub リポジトリで入手できます。 次に 2 つ示しておきます。

YAML: すぐに使用可能なモニター

適用対象: Azure CLI ml 拡張機能 v2 (現行)

# out-of-box-monitoring.yaml
$schema:  http://azureml/sdk-2-0/Schedule.json
name: credit_default_model_monitoring
display_name: Credit default model monitoring
description: Credit default model monitoring setup with minimal configurations

trigger:
  # perform model monitoring activity daily at 3:15am
  type: recurrence
  frequency: day #can be minute, hour, day, week, month
  interval: 1 # #every day
  schedule: 
    hours: 3 # at 3am
    minutes: 15 # at 15 mins after 3am

create_monitor:

  compute: # specify a spark compute for monitoring job
    instance_type: standard_e4s_v3
    runtime_version: "3.3"

  monitoring_target: 
    ml_task: classification # model task type: [classification, regression, question_answering]
    endpoint_deployment_id: azureml:credit-default:main # azureml endpoint deployment id

  alert_notification: # emails to get alerts
    emails:
      - abc@example.com
      - def@example.com

YAML: 高度なモニター

適用対象: Azure CLI ml 拡張機能 v2 (現行)

# advanced-model-monitoring.yaml
$schema:  http://azureml/sdk-2-0/Schedule.json
name: fraud_detection_model_monitoring
display_name: Fraud detection model monitoring
description: Fraud detection model monitoring with advanced configurations

trigger:
  # perform model monitoring activity daily at 3:15am
  type: recurrence
  frequency: day #can be minute, hour, day, week, month
  interval: 1 # #every day
  schedule: 
    hours: 3 # at 3am
    minutes: 15 # at 15 mins after 3am

create_monitor:

  compute: 
    instance_type: standard_e4s_v3
    runtime_version: "3.3"

  monitoring_target:
    ml_task: classification
    endpoint_deployment_id: azureml:credit-default:main
  
  monitoring_signals:
    advanced_data_drift: # monitoring signal name, any user defined name works
      type: data_drift
      # reference_dataset is optional. By default referece_dataset is the production inference data associated with Azure Machine Learning online endpoint
      reference_data:
        input_data:
          path: azureml:credit-reference:1 # use training data as comparison reference dataset
          type: mltable
        data_context: training
        data_column_names:
          target_column: DEFAULT_NEXT_MONTH
      features: 
        top_n_feature_importance: 10 # monitor drift for top 10 features
      metric_thresholds:
        numerical:
          jensen_shannon_distance: 0.01
        categorical:
          pearsons_chi_squared_test: 0.02
    advanced_data_quality:
      type: data_quality
      # reference_dataset is optional. By default reference_dataset is the production inference data associated with Azure Machine Learning online endpoint
      reference_data:
        input_data:
          path: azureml:credit-reference:1
          type: mltable
        data_context: training
      features: # monitor data quality for 3 individual features only
        - SEX
        - EDUCATION
      metric_thresholds:
        numerical:
          null_value_rate: 0.05
        categorical:
          out_of_bounds_rate: 0.03

    feature_attribution_drift_signal:
      type: feature_attribution_drift
      # production_data: is not required input here
      # Please ensure Azure Machine Learning online endpoint is enabled to collected both model_inputs and model_outputs data
      # Azure Machine Learning model monitoring will automatically join both model_inputs and model_outputs data and used it for computation
      reference_data:
        input_data:
          path: azureml:credit-reference:1
          type: mltable
        data_context: training
        data_column_names:
          target_column: DEFAULT_NEXT_MONTH
      metric_thresholds:
        normalized_discounted_cumulative_gain: 0.9
  
  alert_notification:
    emails:
      - abc@example.com
      - def@example.com

付録

タイム ゾーン

現在のスケジュールでは、次のタイムゾーンがサポートされています。 キーは Python SDK で直接使用できますが、値は YAML ジョブで使用できます。 テーブルは UTC (協定世界時) で編成されています。

UTC キー
UTC -12:00 DATELINE_STANDARD_TIME "日付変更線 (標準時)"
UTC -11:00 UTC_11 "UTC-11"
UTC - 10:00 ALEUTIAN_STANDARD_TIME アリューシャン標準時
UTC - 10:00 HAWAIIAN_STANDARD_TIME "ハワイ標準時"
UTC -09:30 MARQUESAS_STANDARD_TIME "マルキーズ標準時"
UTC -09:00 ALASKAN_STANDARD_TIME "アラスカ標準時"
UTC -09:00 UTC_09 "UTC-09"
UTC -08:00 PACIFIC_STANDARD_TIME_MEXICO "太平洋標準時 (メキシコ)"
UTC -08:00 UTC_08 "UTC-08"
UTC -08:00 PACIFIC_STANDARD_TIME "太平洋標準時"
UTC -07:00 US_MOUNTAIN_STANDARD_TIME "米国山地標準時"
UTC -07:00 MOUNTAIN_STANDARD_TIME_MEXICO "山地標準時 (メキシコ)"
UTC -07:00 MOUNTAIN_STANDARD_TIME "山地標準時"
UTC -06:00 CENTRAL_AMERICA_STANDARD_TIME "中央アメリカ標準時"
UTC -06:00 CENTRAL_STANDARD_TIME "中部標準時"
UTC -06:00 EASTER_ISLAND_STANDARD_TIME "イースター島標準時"
UTC -06:00 CENTRAL_STANDARD_TIME_MEXICO "中部標準時 (メキシコ)"
UTC -06:00 CANADA_CENTRAL_STANDARD_TIME "カナダ中部標準時"
UTC -05:00 SA_PACIFIC_STANDARD_TIME "南アメリカ太平洋標準時"
UTC -05:00 EASTERN_STANDARD_TIME_MEXICO "東部標準時 (メキシコ)"
UTC -05:00 EASTERN_STANDARD_TIME "東部標準時"
UTC -05:00 HAITI_STANDARD_TIME "ハイチ標準時"
UTC -05:00 CUBA_STANDARD_TIME "キューバ標準時"
UTC -05:00 US_EASTERN_STANDARD_TIME "米国東部標準時"
UTC -05:00 TURKS_AND_CAICOS_STANDARD_TIME "タークス・カイコス諸島標準時"
UTC -04:00 PARAGUAY_STANDARD_TIME "パラグアイ標準時"
UTC -04:00 ATLANTIC_STANDARD_TIME "大西洋標準時"
UTC -04:00 VENEZUELA_STANDARD_TIME "ベネズエラ標準時"
UTC -04:00 CENTRAL_BRAZILIAN_STANDARD_TIME "中央ブラジル標準時"
UTC -04:00 SA_WESTERN_STANDARD_TIME "南アメリカ西部標準時"
UTC -04:00 PACIFIC_SA_STANDARD_TIME "太平洋南アメリカ標準時"
UTC -03:30 NEWFOUNDLAND_STANDARD_TIME "ニューファンドランド標準時"
UTC -03:00 TOCANTINS_STANDARD_TIME "トカンチンス標準時"
UTC -03:00 E_SOUTH_AMERICAN_STANDARD_TIME "E. "南アメリカ標準時"
UTC -03:00 SA_EASTERN_STANDARD_TIME "南アメリカ東部標準時"
UTC -03:00 ARGENTINA_STANDARD_TIME "アルゼンチン標準時"
UTC -03:00 GREENLAND_STANDARD_TIME "グリーンランド標準時"
UTC -03:00 MONTEVIDEO_STANDARD_TIME "モンテビデオ標準時"
UTC -03:00 SAINT_PIERRE_STANDARD_TIME "サンピエール標準時"
UTC -03:00 BAHIA_STANDARD_TIM "バイア標準時"
UTC -02:00 UTC_02 "UTC-02"
UTC -02:00 MID_ATLANTIC_STANDARD_TIME "中央大西洋標準時"
UTC -01:00 AZORES_STANDARD_TIME "アゾレス諸島標準時"
UTC -01:00 CAPE_VERDE_STANDARD_TIME "カーボベルデ標準時"
UTC UTC UTC
UTC +00:00 GMT_STANDARD_TIME "GMT 標準時"
UTC +00:00 GREENWICH_STANDARD_TIME "グリニッジ標準時"
UTC +01:00 MOROCCO_STANDARD_TIME "モロッコ標準時"
UTC +01:00 W_EUROPE_STANDARD_TIME "西 ヨーロッパ標準時"
UTC +01:00 CENTRAL_EUROPE_STANDARD_TIME "中央ヨーロッパ標準時"
UTC +01:00 ROMANCE_STANDARD_TIME "ロマンス標準時"
UTC +01:00 CENTRAL_EUROPEAN_STANDARD_TIME "中央ヨーロッパ標準時"
UTC +01:00 W_CENTRAL_AFRICA_STANDARD_TIME "西 中央アフリカ標準時"
UTC +02:00 NAMIBIA_STANDARD_TIME "ナミビア標準時"
UTC +02:00 JORDAN_STANDARD_TIME "ヨルダン標準時"
UTC +02:00 GTB_STANDARD_TIME "GTB 標準時"
UTC +02:00 MIDDLE_EAST_STANDARD_TIME "中東標準時"
UTC +02:00 EGYPT_STANDARD_TIME "エジプト標準時"
UTC +02:00 E_EUROPE_STANDARD_TIME "E. ヨーロッパ標準時"
UTC +02:00 SYRIA_STANDARD_TIME "シリア標準時"
UTC +02:00 WEST_BANK_STANDARD_TIME "西岸標準時"
UTC +02:00 SOUTH_AFRICA_STANDARD_TIME "南アフリカ標準時"
UTC +02:00 FLE_STANDARD_TIME "FLE 標準時"
UTC +02:00 ISRAEL_STANDARD_TIME "イスラエル標準時"
UTC +02:00 KALININGRAD_STANDARD_TIME "カリーニングラード標準時"
UTC +02:00 LIBYA_STANDARD_TIME "リビア標準時"
UTC +03:00 TÜRKIYE_STANDARD_TIME "トルコ標準時"
UTC +03:00 ARABIC_STANDARD_TIME "アラビック標準時"
UTC +03:00 ARAB_STANDARD_TIME "アラブ標準時"
UTC +03:00 BELARUS_STANDARD_TIME "ベラルーシ標準時"
UTC +03:00 RUSSIAN_STANDARD_TIME "ロシア標準時"
UTC +03:00 E_AFRICA_STANDARD_TIME "E. アフリカ標準時"
UTC +03:30 IRAN_STANDARD_TIME "イラン標準時"
UTC +04:00 ARABIAN_STANDARD_TIME "アラビア標準時"
UTC +04:00 ASTRAKHAN_STANDARD_TIME "アストラハン標準時"
UTC +04:00 AZERBAIJAN_STANDARD_TIME "アゼルバイジャン標準時"
UTC +04:00 RUSSIA_TIME_ZONE_3 "ロシア タイム ゾーン 3"
UTC +04:00 MAURITIUS_STANDARD_TIME "モーリシャス標準時"
UTC +04:00 GEORGIAN_STANDARD_TIME "ジョージア標準時"
UTC +04:00 CAUCASUS_STANDARD_TIME "コーカサス標準時"
UTC +04:30 AFGHANISTAN_STANDARD_TIME "アフガニスタン標準時"
UTC +05:00 WEST_ASIA_STANDARD_TIME "西アジア標準時"
UTC +05:00 EKATERINBURG_STANDARD_TIME "エカテリンブルク標準時"
UTC +05:00 PAKISTAN_STANDARD_TIME "パキスタン標準時"
UTC +05:30 INDIA_STANDARD_TIME "インド標準時"
UTC +05:30 SRI_LANKA_STANDARD_TIME "スリランカ標準時"
UTC +05:45 NEPAL_STANDARD_TIME "ネパール標準時"
UTC +06:00 CENTRAL_ASIA_STANDARD_TIME "中央アジア標準時"
UTC +06:00 BANGLADESH_STANDARD_TIME "バングラデシュ標準時"
UTC +06:30 MYANMAR_STANDARD_TIME "ミャンマー標準時"
UTC +07:00 N_CENTRAL_ASIA_STANDARD_TIME "北 中央アジア標準時"
UTC +07:00 SE_ASIA_STANDARD_TIME "東南アジア標準時"
UTC +07:00 ALTAI_STANDARD_TIME "アルタイ標準時"
UTC +07:00 W_MONGOLIA_STANDARD_TIME "西 モンゴル標準時"
UTC +07:00 NORTH_ASIA_STANDARD_TIME "北アジア標準時"
UTC +07:00 TOMSK_STANDARD_TIME "トムスク標準時"
UTC +08:00 CHINA_STANDARD_TIME "中国標準時"
UTC +08:00 NORTH_ASIA_EAST_STANDARD_TIME "北アジア東標準時"
UTC +08:00 SINGAPORE_STANDARD_TIME "シンガポール標準時"
UTC +08:00 W_AUSTRALIA_STANDARD_TIME "西 オーストラリア標準時"
UTC +08:00 TAIPEI_STANDARD_TIME "台北標準時"
UTC +08:00 ULAANBAATAR_STANDARD_TIME "ウランバートル標準時"
UTC +08:45 AUS_CENTRAL_W_STANDARD_TIME "オーストラリア中西部標準時"
UTC +09:00 NORTH_KOREA_STANDARD_TIME "北朝鮮標準時"
UTC +09:00 TRANSBAIKAL_STANDARD_TIME "ザバイカル標準時"
UTC +09:00 TOKYO_STANDARD_TIME "東京標準時"
UTC +09:00 KOREA_STANDARD_TIME "韓国標準時"
UTC +09:00 YAKUTSK_STANDARD_TIME "ヤクーツク標準時"
UTC +09:30 CEN_AUSTRALIA_STANDARD_TIME "中央 オーストラリア標準時"
UTC +09:30 AUS_CENTRAL_STANDARD_TIME "オーストラリア中央部標準時"
UTC +10:00 E_AUSTRALIAN_STANDARD_TIME "E. オーストラリア標準時"
UTC +10:00 AUS_EASTERN_STANDARD_TIME "オーストラリア東部標準時"
UTC +10:00 WEST_PACIFIC_STANDARD_TIME "西太平洋標準時"
UTC +10:00 TASMANIA_STANDARD_TIME "タスマニア標準時"
UTC +10:00 VLADIVOSTOK_STANDARD_TIME "ウラジオストク標準時"
UTC +10:30 LORD_HOWE_STANDARD_TIME "ロードハウ標準時"
UTC +11:00 BOUGAINVILLE_STANDARD_TIME "ブーゲンビル標準時"
UTC +11:00 RUSSIA_TIME_ZONE_10 "ロシア タイム ゾーン 10"
UTC +11:00 MAGADAN_STANDARD_TIME "マガダン標準時"
UTC +11:00 NORFOLK_STANDARD_TIME "ノーフォーク標準時"
UTC +11:00 SAKHALIN_STANDARD_TIME "サハリン標準時"
UTC +11:00 CENTRAL_PACIFIC_STANDARD_TIME "中央太平洋標準時"
UTC +12:00 RUSSIA_TIME_ZONE_11 "ロシア タイム ゾーン 11"
UTC +12:00 NEW_ZEALAND_STANDARD_TIME "ニュージーランド標準時"
UTC +12:00 UTC_12 "UTC+12"
UTC +12:00 FIJI_STANDARD_TIME "フィジー標準時"
UTC +12:00 KAMCHATKA_STANDARD_TIME "カムチャツカ標準時"
UTC +12:45 CHATHAM_ISLANDS_STANDARD_TIME "チャタム諸島標準時"
UTC +13:00 TONGA__STANDARD_TIME "トンガ標準時"
UTC +13:00 SAMOA_STANDARD_TIME "サモア標準時"
UTC +14:00 LINE_ISLANDS_STANDARD_TIME "ライン諸島標準時"