ベースラインの作成 - 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 SDK DefaultModelMonitor.suggest_baseline(..) を使用してベースライン処理ジョブを開始します。このジョブでは、ベースライン統計を生成してデータセットのベースライン制約を推奨し、指定した output_s3_uri の場所にこれらを書き込む Amazon SageMaker モデルモニターの事前構築済みコンテナ を使用します。

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", }