Obtener explicaciones

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:

  1. Este paso varía en función del tipo de modelo de aprendizaje automático que utilices:

  2. Si quieres obtener explicaciones online, despliega el Model que has creado en el paso anterior en un recurso Endpoint.

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:

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 modelo preview 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