Vertex AI proporciona métricas de evaluación de modelos para ayudarte a determinar el rendimiento de tus modelos, como las métricas de precisión y recuperación. Vertex AI calcula las métricas de evaluación mediante el conjunto de pruebas.
Cómo usar las métricas de evaluación de modelos
Las métricas de evaluación de modelos proporcionan mediciones cuantitativas del rendimiento de tu modelo en el conjunto de pruebas. La forma en que interpretes y uses esas métricas dependerá de las necesidades de tu empresa y del problema para el que se haya entrenado tu modelo. Por ejemplo, puede que toleres menos los falsos positivos que los falsos negativos o al revés. Este tipo de preguntas influyen en las métricas en las que te centrarás.
Para obtener más información sobre cómo iterar en tu modelo para mejorar su rendimiento, consulta Iterar en tu modelo.
Métricas de evaluación devueltas por Vertex AI
Vertex AI devuelve varias métricas de evaluación diferentes, como la precisión, la recuperación y los umbrales de confianza. Las métricas que devuelve Vertex AI dependen del objetivo de tu modelo. Por ejemplo, Vertex AI proporciona métricas de evaluación diferentes para un modelo de detección de objetos de imagen que para un modelo de clasificación de objetos de imagen.
Un archivo de esquema, que se puede descargar desde una ubicación de Cloud Storage, determina qué métricas de evaluación proporciona Vertex AI para cada objetivo. Las siguientes pestañas proporcionan enlaces a los archivos de esquema y describen las métricas de evaluación de cada objetivo del modelo.
Puedes ver y descargar archivos de esquema desde la siguiente ubicación de Cloud Storage:
gs://google-cloud-aiplatform/schema/modelevaluation/
- Umbral de intersección sobre unión: valor de umbral de intersección sobre unión que determina qué inferencias se devuelven. Un modelo devuelve inferencias que tienen este valor o uno superior. Cuanto mayor sea el umbral, más se acercarán los valores del cuadro delimitador predicho a los valores del cuadro delimitador real.
- Media aritmética de precisión: también se conoce como precisión media. Este valor va de cero a uno; cuanto mayor es el valor, más calidad tiene el modelo.
- Umbral de confianza: una puntuación de confianza que determina qué inferencias se devuelven. Un modelo devuelve inferencias que tienen este valor o uno superior. Cuanto más alto es el umbral de confianza, mayor es la precisión, pero menor es la recuperación. Vertex AI devuelve métricas de confianza en diferentes valores de umbral para mostrar cómo afecta el umbral a la precisión y a la recuperación.
- Retirada: la fracción de inferencias con esta clase que el modelo ha predicho correctamente. También se denomina tasa de verdaderos positivos.
- Precisión: la fracción de las inferencias de clasificación correctas que produjo el modelo.
- Puntuación F1: media armónica de la precisión y la recuperación. La métrica F1 resulta útil si buscas un equilibrio entre la precisión y la recuperación, así como si las clases están distribuidas de manera desigual.
-
Precisión media de los cuadros delimitadores: la métrica única de las evaluaciones de los cuadros delimitadores, es decir, la
meanAveragePrecision
media de todos losboundingBoxMetrics
.
Obtener métricas de evaluación
Puede obtener un conjunto agregado de métricas de evaluación de su modelo y, en algunos objetivos, métricas de evaluación de una clase o etiqueta concretas. Las métricas de evaluación de una clase o una etiqueta concretas también se conocen como porción de evaluación. En el siguiente contenido se describe cómo obtener métricas de evaluación agregadas y segmentos de evaluación mediante la Google Cloud consola o la API.
Google Cloud consola
En la Google Cloud consola, en la sección Vertex AI, ve a la página Modelos.
En el menú desplegable Región, selecciona la región en la que se encuentra tu modelo.
En la lista de modelos, haga clic en el que quiera. Se abrirá la pestaña Evaluar del modelo.
En la pestaña Evaluar, puedes ver las métricas de evaluación agregadas de tu modelo, como la precisión media y el recuerdo.
Si el objetivo del modelo tiene sectores de evaluación, la consola muestra una lista de etiquetas. Puede hacer clic en una etiqueta para ver las métricas de evaluación de esa etiqueta, como se muestra en el siguiente ejemplo:
API
Las solicitudes de la API para obtener métricas de evaluación son las mismas para cada tipo de datos y objetivo, pero las salidas son diferentes. En los siguientes ejemplos se muestra la misma solicitud, pero con diferentes respuestas.
Obtener métricas de evaluación de modelos agregadas
Las métricas de evaluación de modelos agregadas proporcionan información sobre el modelo en su conjunto. Para ver información sobre un segmento específico, consulta la lista de segmentos de evaluación de modelos.
Para ver las métricas de evaluación agregadas del modelo, usa el método projects.locations.models.evaluations.get
.
En el caso de la métrica de cuadro delimitador, Vertex AI devuelve una matriz de valores de métrica con diferentes valores de umbral de IoU (entre 0 y 1) y de umbral de confianza (entre 0 y 1). Por ejemplo, puedes centrarte en las métricas de evaluación con un umbral de IoU de 0,85 y un umbral de confianza de 0,8228. Si consultas estos diferentes valores de umbral, puedes ver cómo afectan a otras métricas, como la precisión y la recuperación.
Selecciona la pestaña correspondiente a tu idioma o entorno:
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: región en la que se almacena el modelo.
- PROJECT: tu ID de proyecto.
- MODEL_ID: ID del recurso de modelo.
- PROJECT_NUMBER: el número de proyecto que se genera automáticamente.
- EVALUATION_ID: ID de la evaluación del modelo (aparece en la respuesta).
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Mostrar todos los sectores de evaluación
El método
projects.locations.models.evaluations.slices.list
muestra todos los sectores de evaluación de tu modelo. Debes tener el ID de evaluación del modelo, que puedes obtener cuando consultes las métricas de evaluación agregadas.
Puedes usar los segmentos de evaluación de modelos para determinar el rendimiento del modelo en una etiqueta específica. El campo value
indica a qué etiqueta corresponden las métricas.
En el caso de la métrica de cuadro delimitador, Vertex AI devuelve una matriz de valores de métrica con diferentes valores de umbral de IoU (entre 0 y 1) y de umbral de confianza (entre 0 y 1). Por ejemplo, puedes centrarte en las métricas de evaluación con un umbral de IoU de 0,85 y un umbral de confianza de 0,8228. Si consultas estos diferentes valores de umbral, puedes ver cómo afectan a otras métricas, como la precisión y la recuperación.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: región en la que se encuentra el modelo. Por ejemplo,
us-central1
. - PROJECT: .
- MODEL_ID: el ID de tu modelo.
- EVALUATION_ID: ID de la evaluación del modelo que contiene los segmentos de evaluación que se van a mostrar.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Obtener métricas de una sola porción
Para ver las métricas de evaluación de una sola porción, usa el método projects.locations.models.evaluations.slices.get
. Debes tener el ID del segmento, que se proporciona cuando muestras todos los segmentos. El siguiente ejemplo se aplica a todos los tipos de datos y objetivos.
REST
Antes de usar los datos de la solicitud, haz las siguientes sustituciones:
- LOCATION: región en la que se encuentra el modelo. Por ejemplo, us-central1.
- PROJECT: .
- MODEL_ID: el ID de tu modelo.
- EVALUATION_ID: ID de la evaluación del modelo que contiene el sector de evaluación que se va a obtener.
- SLICE_ID: ID de un segmento de evaluación que se va a obtener.
- PROJECT_NUMBER: el número de proyecto que se genera automáticamente.
- EVALUATION_METRIC_SCHEMA_FILE_NAME: nombre de un archivo de esquema que define las métricas de evaluación que se van a devolver, como
classification_metrics_1.0.0
.
Método HTTP y URL:
GET https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID
Para enviar tu solicitud, elige una de estas opciones:
curl
Ejecuta el comando siguiente:
curl -X GET \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
"https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID"
PowerShell
Ejecuta el comando siguiente:
$cred = gcloud auth print-access-token
$headers = @{ "Authorization" = "Bearer $cred" }
Invoke-WebRequest `
-Method GET `
-Headers $headers `
-Uri "https://LOCATION-aiplatform.googleapis.com/v1/projects/PROJECT/locations/LOCATION/models/MODEL_ID/evaluations/EVALUATION_ID/slices/SLICE_ID" | Select-Object -Expand Content
Deberías recibir una respuesta JSON similar a la siguiente:
Java
Antes de probar este ejemplo, sigue las Java instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Java de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las Node.js instrucciones de configuración de la guía de inicio rápido de Vertex AI con bibliotecas de cliente. Para obtener más información, consulta la documentación de referencia de la API Node.js de Vertex AI.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Para obtener más información, consulta el artículo Configurar la autenticación en un entorno de desarrollo local.
Python
Para saber cómo instalar o actualizar el SDK de Vertex AI para Python, consulta Instalar el SDK de Vertex AI para Python. Para obtener más información, consulta la documentación de referencia de la API Python.
Iterar el modelo
Las métricas de evaluación de modelos proporcionan un punto de partida para depurar tu modelo cuando no cumple tus expectativas. Por ejemplo, si las puntuaciones de precisión y recuperación son bajas, puede que tu modelo necesite más datos de entrenamiento o que tenga etiquetas incoherentes. Una precisión y una recuperación perfectas pueden indicar que los datos de prueba son demasiado fáciles de predecir y que es posible que no se generalicen bien.
Puedes iterar en tus datos de entrenamiento y crear un nuevo modelo. Después de crear un modelo, puedes comparar las métricas de evaluación del modelo anterior con las del nuevo.
Las siguientes sugerencias pueden ayudarte a mejorar los modelos que etiquetan elementos, como los modelos de detección de objetos:
- Te recomendamos que añadas más ejemplos o una gama más amplia de ejemplos a tus datos de entrenamiento. Por ejemplo, en el caso de un modelo de detección de objetos de imagen, puedes incluir imágenes con un ángulo más amplio, con una resolución más alta o más baja, o con diferentes puntos de vista. Para obtener más información, consulta Preparar datos.
- Te recomendamos que quites las clases o las etiquetas que no tengan muchos ejemplos. Si no hay suficientes ejemplos, el modelo no podrá hacer predicciones sobre esas clases o etiquetas de forma coherente y con confianza.
- Las máquinas no pueden interpretar el nombre de tus clases o etiquetas y no entienden las diferencias entre ellas, como "puerta" y "puerta_con_pomo". Debes proporcionar datos para ayudar a las máquinas a reconocer estos matices.
- Aumenta tus datos con más ejemplos de verdaderos positivos y verdaderos negativos, sobre todo ejemplos que estén cerca de un límite de decisión, para mitigar la confusión del modelo.
- Especifica tu propia división de datos (entrenamiento, validación y prueba). Vertex AI asigna elementos aleatoriamente a cada conjunto. Por lo tanto, los casi duplicados se pueden asignar a los conjuntos de entrenamiento y de validación, lo que podría provocar un sobreajuste y, por lo tanto, un rendimiento deficiente en el conjunto de pruebas. Para obtener más información sobre cómo configurar tu propia división de datos, consulta el artículo Acerca de las divisiones de datos para los modelos de AutoML.
- Si las métricas de evaluación de tu modelo incluyen una matriz de confusión, puedes ver si el modelo confunde dos etiquetas, es decir, si predice una etiqueta concreta con mucha más frecuencia que la etiqueta real. Revisa tus datos y asegúrate de que los ejemplos estén etiquetados correctamente.
- Si el tiempo de entrenamiento ha sido breve (un número máximo de horas de nodo bajo), puedes obtener un modelo de mayor calidad si le permites entrenar durante más tiempo (un número máximo de horas de nodo más alto).