本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
建立偏差偏離基準
將應用程式設定為擷取即時或批次轉換推論資料之後,監控偏差偏離的第一項任務是建立基準。這包括設定資料輸入、哪些群組是敏感的、如何擷取預測,以及模型及其訓練後的偏差指標。然後,您需要開始進行基準工作。
模型偏差監控可定期偵測機器學習 (ML) 模型的偏差偏離。與其他監控類型相似,建立模型偏差監控的標準程序首先是基準化,然後再建立監控排程。
model_bias_monitor = ModelBiasMonitor( role=role, sagemaker_session=sagemaker_session, max_runtime_in_seconds=1800, )
DataConfig
會儲存要分析之資料集的相關資訊 (例如資料集檔案)、其格式 (即 CSV或 JSON行)、標頭 (如果有的話) 和標籤。
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 截止值是為了預期客戶會經常流動。對於更複雜的輸出,還有幾個選項,例如「標籤」是索引、名稱,或在端點回應承載中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}")
排程的監控會自動挑選基準作業名稱,並等待它,然後再開始監控。