ベースラインの作成 - Amazon SageMaker

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

ベースラインの作成

統計と制約のベースライン計算は、データのドリフトやその他のデータ品質の問題を検出できる標準として必要とされます。Model Monitor には、 CSV およびフラットJSON入力の制約を自動的に提案できる組み込みコンテナが用意されています。このsagemaker-model-monitor-analyzerコンテナには、ベースラインに対する制約検証、Amazon CloudWatch メトリクスの出力など、さまざまなモデルモニタリング機能も用意されています。このコンテナは Spark バージョン 3.3.0 に基づいており、Deequ バージョン 2.0.2 で構築されています。ベースラインデータセット内のすべての列名が Spark に準拠している必要があります。列名には小文字のみを使用でき、特殊文字は「_」のみ使用できます。

モデルのトレーニングに使用したトレーニングデータセットは、通常、適切なベースラインデータセットです。トレーニングデータセットデータスキーマと推論データセットスキーマは、正確に一致する必要があります (特徴量の数と順序)。予測/出力の列は、トレーニングデータセットの 1 列目と見なされます。トレーニングデータセットから、ベースライン制約のセットを提案 SageMaker し、データを探索するための記述統計を生成するように に依頼できます。この例では、この例に含まれている事前トレーニング済みモデルのトレーニングに使用されたトレーニングデータセットをアップロードします。Amazon S3 にトレーニングデータセットをすでに保存している場合は、それを直接指定できます。

トレーニングデータセットからベースラインを作成するには

トレーニングデータを準備して Amazon S3 に保存したら、Amazon SageMaker Python SDKDefaultModelMonitor.suggest_baseline(..)を使用して を使用してベースライン処理ジョブを開始します。このジョブでは、ベースライン統計を生成してデータセットのベースライン制約を推奨し、指定した output_s3_uri の場所にこれらを書き込む Amazon SageMaker Model Monitor 構築済みコンテナ を使用します。

from sagemaker.model_monitor import DefaultModelMonitor from sagemaker.model_monitor.dataset_format import DatasetFormat my_default_monitor = DefaultModelMonitor( role=role, instance_count=1, instance_type='ml.m5.xlarge', volume_size_in_gb=20, max_runtime_in_seconds=3600, ) my_default_monitor.suggest_baseline( baseline_dataset=baseline_data_uri+'/training-dataset-with-header.csv', dataset_format=DatasetFormat.csv(header=True), output_s3_uri=baseline_results_uri, wait=True )
注記

トレーニングデータセットの特徴量/列名を最初の行として指定し、前のコードサンプルに示すように header=Trueオプションを設定すると、 は制約と統計ファイルで特徴量名 SageMaker を使用します。

データセットのベースライン統計は statistics.json ファイルに含まれており、推奨ベースライン制約は output_s3_uri で指定した場所の constraints.json ファイルに含まれています。

表形式データセットの統計および制約の出力ファイル

ファイル名 説明
statistics.json

このファイルには、分析対象のデータセット内の各フィーチャに対する列状の統計が含まれます。ファイルのスキーマの詳細については、「統計のスキーマ (statistics.json ファイル)」を参照してください。

constraints.json

このファイルには、確認されたフィーチャの制約が含まれます。ファイルのスキーマの詳細については、「制約のスキーマ (constraints.json ファイル)」を参照してください。

Amazon SageMaker Python SDKには、ベースライン統計と制約を生成するための便利な関数が用意されています。しかし、この目的のために代わりに処理ジョブを直接呼び出す場合は、次の例のように Environment マップを設定する必要があります。

"Environment": { "dataset_format": "{\"csv\”: { \”header\”: true}", "dataset_source": "/opt/ml/processing/sm_input", "output_path": "/opt/ml/processing/sm_output", "publish_cloudwatch_metrics": "Disabled", }