En esta guía se describe cómo obtener explicaciones de un recurso Model
en Vertex AI. Puedes obtener explicaciones de dos formas:
Explicaciones online: solicitudes síncronas a la API de Vertex AI, similares a las inferencias online que devuelven inferencias con atribuciones de características.
Explicaciones por lotes: solicitudes asíncronas a la API de Vertex AI que devuelven inferencias con atribuciones de características. Las explicaciones por lotes son una parte opcional de las solicitudes de inferencia por lotes.
Antes de empezar
Antes de obtener explicaciones, debes hacer lo siguiente:
Este paso varía en función del tipo de modelo de aprendizaje automático que utilices:
Si quieres obtener explicaciones de un modelo con entrenamiento personalizado, sigue las instrucciones de Configurar explicaciones basadas en ejemplos o Configurar explicaciones basadas en funciones para crear un
Model
que sea compatible con Vertex Explainable AI.Si quieres obtener explicaciones de un modelo de clasificación o regresión tabular de AutoML, entrena un modelo de AutoML con un conjunto de datos tabulares. No se requiere ninguna configuración específica para usar Vertex Explainable AI. No se admiten explicaciones de modelos de previsión.
Si quieres obtener explicaciones de un modelo de clasificación de imágenes de AutoML, entrena un modelo de AutoML con un conjunto de datos de imágenes y habilita las explicaciones al desplegar el modelo. No es necesario realizar ninguna configuración específica para usar Vertex Explainable AI. No se admiten explicaciones para los modelos de detección de objetos.
Si quieres obtener explicaciones online, despliega el
Model
que has creado en el paso anterior en un recursoEndpoint
.
Obtener explicaciones online
Para obtener explicaciones online, sigue casi los mismos pasos que para obtener inferencias online. Sin embargo, en lugar de enviar una projects.locations.endpoints.predict
solicitud a la API de Vertex AI, envía una projects.locations.endpoints.explain
solicitud.
En las siguientes guías se proporcionan instrucciones detalladas para preparar y enviar solicitudes de explicación online:
En el caso de los modelos de clasificación de imágenes de AutoML, consulta el artículo Obtener inferencias online a partir de modelos de AutoML.
En el caso de los modelos de clasificación y regresión tabulares de AutoML, consulta el artículo Obtener inferencias de modelos de AutoML.
En el caso de los modelos con entrenamiento personalizado, consulta el artículo Obtener inferencias online a partir de modelos con entrenamiento personalizado.
Obtener explicaciones por lotes
Solo se admiten explicaciones por lotes basadas en características. No puedes obtener explicaciones por lotes basadas en ejemplos.
Para obtener explicaciones por lotes, asigna el valor true
al campo generateExplanation
cuando crees un trabajo de inferencia por lotes.
Para obtener instrucciones detalladas sobre cómo preparar y crear tareas de predicción en lote, consulta el artículo Obtener inferencias en lote.
Obtener explicaciones simultáneas
Explainable AI admite explicaciones simultáneas. Las explicaciones simultáneas te permiten solicitar explicaciones basadas en características y en ejemplos desde el mismo endpoint de modelo desplegado sin tener que desplegar tu modelo por separado para cada método de explicación.
Para obtener explicaciones simultáneas, suba su modelo y configure explicaciones basadas en ejemplos o basadas en características. A continuación, despliega el modelo como de costumbre.
Una vez que se haya implementado el modelo, podrás solicitar las explicaciones configuradas como de costumbre.
Además, puedes solicitar explicaciones simultáneas especificando concurrent_explanation_spec_override
.
Cuando utilices explicaciones simultáneas, ten en cuenta lo siguiente:
- Las explicaciones simultáneas solo están disponibles con la versión de la API
v1beta1
. Si usas el SDK de Python de Vertex, tendrás que usar el modelopreview
para usar explicaciones simultáneas. - Las explicaciones basadas en ejemplos no se pueden solicitar después de implementar explicaciones basadas en funciones. Si quieres usar las explicaciones basadas en ejemplos y las basadas en características, despliega tu modelo con las explicaciones basadas en ejemplos y solicita las basadas en características mediante el campo de explicación simultánea.
- Las explicaciones por lotes no se admiten en las explicaciones simultáneas. Online Las explicaciones son la única forma de usar esta función.
Solución de problemas
En esta sección se describen los pasos para solucionar problemas que pueden resultarte útiles si tienes algún problema al obtener explicaciones.
Error: índice de lista fuera del intervalo
Si aparece el siguiente mensaje de error al solicitar explicaciones:
"error": "Explainability failed with exception: listindex out of range"
Asegúrate de no enviar una matriz vacía a un campo que espera una matriz de objetos. Por ejemplo, si field1
acepta una matriz de objetos, el siguiente cuerpo de solicitud puede provocar un error:
{
"instances": [
{
"field1": [],
}
]
}
En su lugar, asegúrese de que la matriz no esté vacía. Por ejemplo:
{
"instances": [
{
"field1": [
{}
],
}
]
}
Siguientes pasos
- Según las explicaciones que recibas, aprende a ajustar tu
Model
para mejorar las explicaciones. - Prueba un cuaderno de ejemplo que muestre Vertex Explainable AI con datos tabulares o datos de imágenes.