바이어스 드리프트 기준 생성 - 아마존 SageMaker

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

바이어스 드리프트 기준 생성

실시간 또는 배치 변환 추론 데이터를 캡처하도록 애플리케이션을 구성했다면, 바이어스 드리프트의 모니터링을 위해 먼저 필요한 작업은 기준을 생성하는 것입니다. 여기에는 데이터 입력 방식, 민감한 그룹 구분, 예측 캡처 방법, 해당 모델 및 훈련 후 편향 지표를 구성하는 작업이 포함됩니다. 그 다음에는 기준 설정 작업을 시작해야 합니다.

모델 편향 모니터는 ML 모델의 바이어스 드리프트를 정기적으로 탐지할 수 있습니다. 다른 모니터링 유형과 마찬가지로, 모델 편향 모니터를 생성하는 표준적인 단계는 먼저 기준을 설정한 다음에 모니터링 일정을 지정하는 것입니다.

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

예약된 모니터는 기준 설정 작업의 이름을 자동으로 반영한 다음 모니터링이 시작되기 전에 대기합니다.