Creación de una referencia de desviación de sesgo - Amazon SageMaker

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Creación de una referencia de desviación de sesgo

Una vez que haya configurado la aplicación para capturar datos de inferencia de transformación por lotes o en tiempo real, la primera tarea para supervisar la desviación de sesgo es crear una referencia. Esto implica configurar las entradas de datos, qué grupos son sensibles, cómo se capturan las predicciones y el modelo y sus métricas de sesgo posteriores al entrenamiento. Luego hay que empezar con el trabajo de referencia.

El monitor de sesgo del modelo puede detectar la desviación de sesgo de los modelos ML de forma regular. Al igual que con otros tipos de supervisión, el procedimiento estándar para crear un monitor de sesgo del modelo consiste primero en establecer una referencia y luego establecer una programación de supervisión.

model_bias_monitor = ModelBiasMonitor( role=role, sagemaker_session=sagemaker_session, max_runtime_in_seconds=1800, )

DataConfigalmacena información sobre el conjunto de datos que se va a analizar (por ejemplo, el archivo del conjunto de datos), su formato (es decir, CSV JSON líneas), los encabezados (si los hay) y la etiqueta.

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 es la configuración de los grupos sensibles del conjunto de datos. Por lo general, el sesgo se mide calculando una métrica y comparándola entre grupos. El grupo de interés se denomina faceta. Para el sesgo posterior al entrenamiento, también debe tener en cuenta la etiqueta positiva.

model_bias_config = BiasConfig( label_values_or_threshold=[1], facet_name="Account Length", facet_values_or_threshold=[100], )

ModelPredictedLabelConfig especifica cómo extraer una etiqueta predicha de la salida del modelo. En este ejemplo, se ha elegido el límite de 0,8 en previsión de que los clientes cambien con frecuencia. Para obtener resultados más complicados, hay algunas opciones más, como «etiqueta» para indicar el índice, el nombre o JMESPath localizar la etiqueta prevista en la carga útil de respuesta del punto final.

model_predicted_label_config = ModelPredictedLabelConfig( probability_threshold=0.8, )

ModelConfig es la configuración relacionada con el modelo que se utilizará para la inferencia. Para calcular las métricas de sesgo posteriores al entrenamiento, el cálculo debe obtener inferencias para el nombre del modelo proporcionado. Para ello, el trabajo de procesamiento utiliza el modelo para crear un punto de conexión efímero (también conocido como punto de conexión de sombra). El trabajo de procesamiento elimina el punto de conexión de sombra una vez finalizados los cálculos. El monitor de explicabilidad también utiliza esta configuración.

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, )

Ahora puede iniciar el trabajo de referencia.

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

El monitor programado recoge automáticamente el nombre del trabajo de referencia y lo espera antes de que comience la supervisión.