Crea una linea di base della deviazione del bias - Amazon SageMaker

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Crea una linea di base della deviazione del bias

Dopo aver configurato l'applicazione per acquisire dati di inferenza in tempo reale o con trasformazione di batch, la prima operazione da monitorare per rilevare eventuali deviazioni del bias consiste nel creare una linea di base. Ciò comporta la configurazione degli input di dati, dei gruppi sensibili, del modo in cui vengono acquisite le previsioni e del modello e dei relativi parametri del bias post-addestramento. Quindi devi iniziare il processo di creazione della linea di base.

Il monitoraggio del bias dei modelli è in grado di rilevare regolarmente la deviazione dei bias dei modelli ML. Analogamente agli altri tipi di monitoraggio, la procedura standard per la creazione di un monitoraggio dei bias dei modelli prevede innanzitutto la creazione di linee di base e quindi la definizione di un programma di monitoraggio.

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

DataConfig archivia le informazioni sul set di dati da analizzare (ad esempio, il file del set di dati), il formato (ovvero CSV o JSON Lines), le intestazioni (se presenti) e l'etichetta.

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 è la configurazione dei gruppi sensibili nel set di dati. In genere, il bias viene misurato calcolando un parametro e confrontandolo tra i gruppi. Il gruppo di interesse è chiamato facet. In caso di pregiudizi post-addestramento, è necessario tenere conto anche dell'etichetta positiva.

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

ModelPredictedLabelConfig specifica come estrarre un'etichetta prevista dall'output del modello. In questo esempio, il limite di 0,8 è stato scelto in previsione del fatto che i clienti effettuino consegne frequenti. Per output più complessi, sono disponibili altre opzioni, ad esempio "label" è l'indice, il nome o il JMESPath per individuare l'etichetta prevista nel payload di risposta dell'endpoint.

model_predicted_label_config = ModelPredictedLabelConfig( probability_threshold=0.8, )

ModelConfig è la configurazione relativa al modello da utilizzare per l'inferenza. Per calcolare i parametri di bias post-addestramento, il calcolo deve ottenere inferenze per il nome del modello fornito. A tale scopo, il processo di elaborazione utilizza il modello per creare un endpoint temporaneo (noto anche come endpoint shadow). Il processo di elaborazione elimina l'endpoint shadow dopo aver completato i calcoli. Questa configurazione viene utilizzata anche dal monitoraggio di spiegabilità.

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

Ora puoi iniziare il processo di base.

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

Il monitoraggio pianificato rileva automaticamente il nome del processo di base e lo attende prima dell'inizio del monitoraggio.