本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立基準
需要計算統計資料和限制條件的基準,作為偵測資料漂移和其他資料品質問題時的標準。Model Monitor 提供內建容器,可讓您自動建議 CSV和 平面JSON輸入的限制條件。此sagemaker-model-monitor-analyzer容器也為您提供一系列模型監控功能,包括針對基準的限制驗證,以及發出 Amazon CloudWatch 指標。此容器根據 Spark 3.3.0 版,並使用 Deequ_
為唯一的特殊字元。
您用來訓練模型的訓練資料集,通常就是適合的基準資料集。訓練資料集資料結構描述和推論資料集結構描述,應該完全相符 (特徵數目和順序)。請注意,預測/輸出欄假定為訓練資料集的第一欄。從訓練資料集,您可以要求 SageMaker 建議一組基準限制,並產生描述性統計資料來探索資料。針對此範例,請上傳訓練資料集 (原先用來訓練此範例中預先訓練的模型)。如果您已將訓練資料集存放在 Amazon S3 中,則可以直接指向其位置。
從訓練資料集建立基準
當您準備好訓練資料並儲存在 Amazon S3 時,DefaultModelMonitor.suggest_baseline(..)
請使用 Amazon SageMaker Python SDKoutput_s3_uri
位置。
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 檔案,而建議的基準限制條件放在 constraints.json 檔案 (在您以 output_s3_uri
指定的位置中)。
表格式資料集統計資料和限制條件的輸出檔案
檔案名稱 | 描述 |
---|---|
statistics.json |
針對所分析資料集的每個特徵,此檔案會有單欄式統計資料。如需有關此檔案的結構描述的更多相關資訊,請參閱統計資料的結構描述 (statistics.json 檔案)。 |
constraints.json |
針對所觀察的特徵,此檔案會有限制條件。如需有關此檔案的結構描述的更多相關資訊,請參閱限制條件的結構描述 (constraints.json 檔案)。 |
Amazon SageMaker Python SDKEnvironment
對應,如以下範例所示:
"Environment": { "dataset_format": "{\"csv\”: { \”header\”: true}", "dataset_source": "/opt/ml/processing/sm_input", "output_path": "/opt/ml/processing/sm_output", "publish_cloudwatch_metrics": "Disabled", }