Cree una SHAP línea base para los modelos en producción - 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.

Cree una SHAP línea base para los modelos en producción

Las explicaciones suelen ser de contraste, es decir, tienen en cuenta las desviaciones con respecto a una referencia. Para obtener información sobre las referencias de explicabilidad, consulte SHAPLíneas de base para la explicabilidad.

Además de proporcionar explicaciones para las inferencias por instancia, SageMaker Clarify también admite la explicación global de los modelos de aprendizaje automático, lo que ayuda a comprender el comportamiento de un modelo en su conjunto en términos de sus características. SageMaker Clarify genera una explicación global de un modelo de aprendizaje automático al agregar los valores de Shapley en varias instancias. SageMaker Clarify admite las siguientes formas diferentes de agregación, que puede usar para definir líneas de base:

  • mean_abs— Media de los SHAP valores absolutos de todas las instancias.

  • median— Mediana de SHAP los valores de todas las instancias.

  • mean_sq— Media de los SHAP valores cuadrados de todas las instancias.

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 en la atribución de características es crear una referencia que sirva para comparar. 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 explicabilidad de modelos puede explicar las predicciones de un modelo implementado, ya que produce inferencias y detecta desviaciones en la atribución de características de forma regular.

model_explainability_monitor = ModelExplainabilityMonitor( role=role, sagemaker_session=sagemaker_session, max_runtime_in_seconds=1800, )

En este ejemplo, el trabajo de referencia de explicabilidad comparte el conjunto de datos de prueba con el trabajo de línea base de sesgo, por lo que utiliza el mismo trabajo y la única diferencia es el DataConfig resultado del trabajo. URI

model_explainability_baselining_job_result_uri = f"{baseline_results_uri}/model_explainability" model_explainability_data_config = DataConfig( s3_data_input_path=validation_dataset, s3_output_path=model_explainability_baselining_job_result_uri, label=label_header, headers=all_headers, dataset_type=dataset_type, )

Actualmente, la explicación SageMaker de Clarify ofrece una implementación escalable y eficiente deSHAP, por lo que la configuración de explicabilidad es la siguiente: SHAPConfig

  • baseline— Una lista de filas (al menos una) o un objeto URI S3 que se utilizará como conjunto de datos de referencia en el algoritmo de Kernel. SHAP El formato debe ser el mismo que el del conjunto de datos. Cada fila debe contener solo las columnas/valores de las características y omitir la columna/valores de la etiqueta.

  • num_samples— Número de muestras que se utilizarán en el SHAP algoritmo de Kernel. Este número determina el tamaño del conjunto de datos sintético generado para calcular los SHAP valores.

  • agg_method: método de agregación de valores globales. SHAP Los siguientes valores son válidos:

    • mean_abs— Media de los SHAP valores absolutos de todas las instancias.

    • median— Mediana de SHAP los valores de todas las instancias.

    • mean_sq— Media de los SHAP valores cuadrados de todas las instancias.

  • use_logit: Indicador de si la función logit se debe aplicar a las predicciones del modelo. El valor predeterminado es False. Si use_logit es asíTrue, los SHAP valores tendrán unidades logarítmicas de probabilidades.

  • save_local_shap_values(bool): indicador de si se deben guardar los SHAP valores locales en la ubicación de salida. El valor predeterminado es False.

# Here use the mean value of test dataset as SHAP baseline test_dataframe = pd.read_csv(test_dataset, header=None) shap_baseline = [list(test_dataframe.mean())] shap_config = SHAPConfig( baseline=shap_baseline, num_samples=100, agg_method="mean_abs", save_local_shap_values=False, )

Inicie un trabajo de referencia. Se requiere la misma model_config porque el trabajo de referencia básico de la explicabilidad necesita crear un punto de conexión de sombra para obtener predicciones para el conjunto de datos sintéticos generado.

model_explainability_monitor.suggest_baseline( data_config=model_explainability_data_config, model_config=model_config, explainability_config=shap_config, ) print(f"ModelExplainabilityMonitor baselining job: {model_explainability_monitor.latest_baselining_job_name}")