Compartir a través de


Generar información de visión de IA responsable con YAML y Python (versión preliminar)

SE APLICA A:Extensión ML de la CLI de Azure v2 (actual)SDK de Python azure-ai-ml v2 (actual)

El panel De IA responsable (RAI) reúne varias herramientas RAI en una sola interfaz para ayudar a informar a las decisiones controladas por datos sobre los modelos. Comprender los modelos de Computer Vision puede ser diferente de evaluar los datos tabulares o de texto. La depuración y las visualizaciones del modelo del panel RAI ahora admiten datos de imagen.

El panel de texto De ia responsable proporciona varias herramientas RAI maduras en las áreas de rendimiento del modelo, exploración de datos e interpretación del modelo. El panel admite la evaluación holística y la depuración de modelos de Computer Vision, lo que conduce a mitigaciones informadas para problemas de equidad y transparencia entre las partes interesadas para crear confianza.

En este artículo se describe el componente Información de visión de ia responsable y cómo usarlo en un trabajo de canalización para generar un panel de imágenes de IA responsable. En las secciones siguientes se proporcionan especificaciones y requisitos para el componente vision Insights y fragmentos de código de ejemplo en YAML y Python. Para ver el código completo, consulte los cuadernos de YAML y Python de ejemplo para la inteligencia artificialresponsable.

Importante

El componente de visión de la IA responsable se encuentra actualmente en fase de vista previa pública. Esta versión preliminar se ofrece sin un contrato de nivel de servicio y no es aconsejable usarla para cargas de trabajo de producción. Es posible que algunas características no sean compatibles o que tengan sus funcionalidades limitadas. Para más información, consulte Términos de uso complementarios de las Versiones Preliminares de Microsoft Azure.

Componente responsable de la visión de la IA

El componente principal para construir el panel de imágenes de IA responsable en Azure Machine Learning es el componente RAI Vision Insights, que difiere de cómo construir el panel de IA responsable para los datos tabulares.

Requisitos y limitaciones

  • Todos los modelos deben estar registrados en Azure Machine Learning.
  • Se admiten modelos de MLflow con el tipo PyTorch y los modelos HuggingFace.
  • Las entradas del conjunto de datos deben estar en formato mltable.
  • El conjunto de datos de prueba está restringido a 5000 filas por motivos de rendimiento de la interfaz de usuario de visualización.
  • Los objetos complejos, como listas de nombres de columna, se deben proporcionar como cadenas codificadas en JSON únicas.
  • No se admite la denominación jerárquica de cohortes ni la creación de una nueva cohorte a partir de un subconjunto de una cohorte existente, ni tampoco la adición de imágenes a una cohorte existente.
  • Guided_gradcam no funciona con modelos de transformador de visión.
  • SHapley Additive ExPlanations (SHAP) no se admite para los modelos de Computer Vision de AutoML.

Parámetros

El componente Información de visión de ia responsable admite los siguientes escenarios a través del task_type parámetro :

Nombre Descripción Nombre de parámetro en el componente RAI Vision Insights
Clasificación de imágenes (binaria y multiclase) Predecir una sola clase para la imagen especificada task_type="image_classification"
Clasificación multietiqueta de imagen Predecir varias etiquetas para la imagen especificada task_type="multilabel_image_classification"
Detección de objetos Busque e identifique clases de varios objetos para una imagen determinada y defina objetos con un cuadro de límite. task_type="object_detection"

El componente RAI Vision Insights también acepta los parámetros siguientes:

Nombre de parámetro Descripción Tipo
title Descripción breve del panel. Cadena
maximum_rows_for_test_dataset Número máximo de filas permitidas en el conjunto de datos de prueba. El valor predeterminado es 5,000. Entero
classes Lista completa de etiquetas de clase en el conjunto de datos de entrenamiento. Lista de cadenas
precompute_explanation Habilite la generación de una explicación para el modelo. Booleano
enable_error_analysis Habilite la generación de un análisis de errores para el modelo. Booleano
use_model_dependency El entorno de IA responsable no incluye las dependencias del modelo de forma predeterminada. Cuando se establece en True, instala los paquetes de dependencia del modelo. Booleano
use_conda Instale los paquetes de dependencia del modelo mediante conda si True, de lo contrario, usa pip. Booleano

Puertos

El componente de información de visión de IA responsable tiene tres puertos de entrada principales:

  • Un modelo de Machine Learning
  • Conjunto de datos de entrenamiento
  • Conjunto de datos de prueba

Para empezar, registre su modelo de entrada en Azure Machine Learning y haga referencia al mismo modelo en el puerto model_input del componente Responsible AI vision insights.

Para generar información sobre la depuración de modelos del panel de imágenes RAI, como el rendimiento del modelo, el explorador de datos y la interpretación del modelo, y rellenar visualizaciones, use los mismos conjuntos de datos de entrenamiento y prueba que para entrenar el modelo. Los conjuntos de datos deben estar en mltable formato y no tienen que ser, pero pueden ser el mismo conjunto de datos.

En el ejemplo siguiente se muestra el esquema del conjunto de datos para el tipo de tarea de clasificación de imágenes:

DataFrame({ 'image_path_1' : 'label_1', 'image_path_2' : 'label_2' ... })

En el ejemplo siguiente se muestra el esquema del conjunto de datos para el tipo de tarea de detección de objetos:

DataFrame({
'image_path_1' : [
[object_1, topX1, topY1, bottomX1, bottomY1, (optional) confidence_score],
[object_2, topX2, topY2, bottomX2, bottomY2, (optional) confidence_score],
[object_3, topX3, topY3, bottomX3, bottomY3, (optional) confidence_score]
],
'image_path_2': [
[object_1, topX4, topY4, bottomX4, bottomY4, (optional) confidence_score],
[object_2, topX5, topY5, bottomX5, bottomY5, (optional) confidence_score]
]
})

Este componente ensambla la información generada en un único panel imágenes de IA responsable. Hay dos puertos de salida:

  • El puerto insights_pipeline_job.outputs.dashboard contiene el objeto completado RAIVisionInsights.
  • El puerto insights_pipeline_job.outputs.ux_json contiene los datos necesarios para mostrar un panel mínimo.

Trabajo de canalización

Para crear el panel imagen de IA responsable, defina los componentes RAI en una canalización y envíe el trabajo de canalización.

Puede especificar la canalización en un archivo YAML, como en el ejemplo siguiente.

  analyse_model:
    type: command
    component: azureml://registries/AzureML-RAI-preview/components/rai_vision_insights/versions/2
    inputs:
      title: From YAML 
      task_type: image_classification
      model_input:
        type: mlflow_model
        path: azureml:<registered_model_name>:<registered model version>
      model_info: ${{parent.inputs.model_info}}
      test_dataset:
        type: mltable
        path: ${{parent.inputs.my_test_data}}
      target_column_name: ${{parent.inputs.target_column_name}}
      maximum_rows_for_test_dataset: 5000
      classes: '["cat", "dog"]'
      precompute_explanation: True
      enable_error_analysis: True

Puede enviar la canalización mediante el comando de la CLI az ml job create de Azure.

También puede usar la interfaz de usuario del diseñador en Azure Machine Learning Studio para crear y enviar una canalización de componentes de RAI-Vision Insights.

Después de especificar y enviar la canalización y ejecutarla, el panel debe aparecer en Machine Learning Studio en la vista de modelo registrado.

Integración con AutoML Image

El aprendizaje automático en Azure Machine Learning admite el entrenamiento de modelos para tareas de visión artificial como la clasificación de imágenes y la detección de objetos. Los modelos de AutoML para Computer Vision se integran con el panel de imágenes RAI para depurar modelos de AutoML Vision y explicar las predicciones del modelo.

Para generar información de IA responsable para los modelos de visión artificial de AutoML, registre el mejor modelo de AutoML en el área de trabajo de Azure Machine Learning y ejecútelo a través de la canalización de información de visión de IA responsable. Para más información, consulte Configurar AutoML para entrenar modelos de visión por ordenador.

Para ver cuadernos relacionados con las tareas de Computer Vision compatibles con AutoML, consulte Panel de RAI Vision y cuadernos de cuadros de mandos y trabajos automl-independientes.

Parámetros específicos de RAI Vision Insights específicos de AutoML

Además de los parámetros de la sección anterior, los modelos de AutoML pueden usar los siguientes parámetros de componentes de visión RAI específicos de AutoML.

Nota:

Algunos parámetros son específicos del algoritmo XAI elegido y son opcionales para otros algoritmos.

Nombre de parámetro Descripción Tipo Valores
model_type Tipos del modelo. Seleccione pyfunc los modelos de AutoML. Enum pyfunc,
fastai
dataset_type Si las imágenes del conjunto de datos se leen desde la dirección URL disponible públicamente o se almacenan en el almacén de datos del usuario.
En el caso de los modelos de AutoML, las imágenes siempre se leen desde el almacén de datos del área de trabajo del usuario, por lo que el tipo de conjunto de datos para los modelos de AutoML es private. Para el tipo de conjunto de datos privado private, descargamos las imágenes en el proceso antes de generar las explicaciones.
Enum public,
private
xai_algorithm Tipo de algoritmo XAI compatible con los modelos de AutoML
Nota: no se admite SHAP para los modelos de AutoML.
Enum guided_backprop,
guided_gradCAM,
integrated_gradients,
xrai
xrai_fast Si desea utilizar la versión más rápida de xrai. Si es True, el tiempo de cálculo de las explicaciones es más rápido, pero conlleva explicaciones menos precisas (atribuciones). Booleano
approximation_method Este parámetro es específico de integrated gradients.
Método para aproximar la integral.
Enum riemann_middle,
gausslegendre
n_steps Este parámetro es específico de integrated gradients y xrai.
El número de pasos utilizados por el método de aproximación. Un mayor número de pasos lleva a mejores aproximaciones de las atribuciones (explicaciones). El intervalo de n_steps es [2, inf), pero el rendimiento de las atribuciones comienza a converger después de 50 pasos.
Entero
confidence_score_threshold_multilabel Este parámetro solo es específico de la clasificación multietiqueta. Umbral de puntuación de confianza por encima de las etiquetas que se seleccionan para generar explicaciones. Flotante

Generación de explicaciones del modelo para modelos de AutoML

Una vez completada la canalización de AutoML y se genera el panel De visión de IA responsable, debe conectar el panel a una instancia de proceso en ejecución para generar explicaciones. Una vez conectada la instancia de cálculo, puede seleccionar la imagen de entrada, y las explicaciones que utilizan el algoritmo XAI seleccionado aparecen en la barra lateral de la derecha.

Nota:

En el caso de los modelos de clasificación de imágenes, los métodos como xrai y integrated gradients suelen proporcionar explicaciones visuales mejores que guided_backprop y guided_gradCAM, pero son mucho más intensivos en proceso.