

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# バイアスドリフトのベースラインを作成する
<a name="clarify-model-monitor-bias-drift-baseline"></a>

アプリケーションのリアルタイム推論データまたはバッチ変換推論データのキャプチャを設定した後、バイアスドリフトのモニタリングで最初に行うタスクはベースラインの作成です。これには、データ入力、機密性の高いグループ、予測のキャプチャ方法、モデルとそのトレーニング後のバイアスメトリクスの設定が含まれます。その後に、ベースライン作成ジョブを開始する必要があります。

モデルのバイアスモニタリングは、機械学習モデルのバイアスドリフトを定期的に検出できます。他のモニタリングタイプと同様に、モデルバイアスモニタリングを作成する手順は、ベースラインを作成してからモニタリングスケジュールを作成する方法が一般的です。

```
model_bias_monitor = ModelBiasMonitor(
    role=role,
    sagemaker_session=sagemaker_session,
    max_runtime_in_seconds=1800,
)
```

`DataConfig` には、分析するデータセット (データセットファイルなど)、その形式 (CSV または JSON Lines)、ヘッダー (存在する場合)、およびラベルに関する情報が保存されています。

```
model_bias_baselining_job_result_uri = f"{baseline_results_uri}/model_bias"
model_bias_data_config = DataConfig(
    s3_data_input_path=validation_dataset,
    s3_output_path=model_bias_baselining_job_result_uri,
    label=label_header,
    headers=all_headers,
    dataset_type=dataset_type,
)
```

`BiasConfig` は、データセット内の機微グループの設定です。通常、バイアスはメトリクスを計算し、それをグループ間で比較することで測定されます。その対象となるグループは、*ファセット*と呼ばれます。トレーニング後のバイアスに関しては、正のラベルも考慮する必要があります。

```
model_bias_config = BiasConfig(
    label_values_or_threshold=[1],
    facet_name="Account Length",
    facet_values_or_threshold=[100],
)
```

`ModelPredictedLabelConfig` はモデルの出力から予測ラベルを抽出する方法を指定します。この例では、顧客が頻繁に離脱することを予想して、0.8 のカットオフ値が選択されています。より複雑な出力の場合は、他にもいくつかのオプションがあります。例えば、「label」はエンドポイント応答ペイロードで予測されたラベルの位置を示すインデックス、名前、または JMESPath です。

```
model_predicted_label_config = ModelPredictedLabelConfig(
    probability_threshold=0.8,
)
```

`ModelConfig` は、推論に使用されるモデルに関連する設定です。トレーニング後のバイアスメトリクスを計算するには、指定されたモデル名の推論を取得して計算に含める必要があります。これを実現するために、処理ジョブはモデルを使用して一時エンドポイント (*シャドウエンドポイント*とも呼ばれる) を作成します。処理ジョブは、計算が完了した後にシャドウエンドポイントを削除します。この設定は説明可能性モニタリングでも使用されます。

```
model_config = ModelConfig(
    model_name=model_name,
    instance_count=endpoint_instance_count,
    instance_type=endpoint_instance_type,
    content_type=dataset_type,
    accept_type=dataset_type,
)
```

これで、ベースライン作成ジョブを開始できます。

```
model_bias_monitor.suggest_baseline(
    model_config=model_config,
    data_config=model_bias_data_config,
    bias_config=model_bias_config,
    model_predicted_label_config=model_predicted_label_config,
)
print(f"ModelBiasMonitor baselining job: {model_bias_monitor.latest_baselining_job_name}")
```

スケジュールされたモニタリングは、ベースラインジョブ名を自動的に取得し、モニタリングが開始されるまで待機します。