En esta página, se muestra cómo evaluar tus modelos de reconocimiento de acciones en video de AutoML para que puedas iterar en tus modelos.
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 usas las métricas de evaluación de modelos
Las métricas de evaluación de modelos proporcionan medidas cuantitativas sobre el rendimiento de tu modelo en el conjunto de prueba. La forma en la que interpretas y usas esas métricas depende de la necesidad de tu empresa y del problema que tu modelo esté entrenado para resolver. Por ejemplo, es posible que tengas una tolerancia más baja para los falsos positivos que para los falsos negativos, o viceversa. Estos tipos de preguntas afectan las métricas en las que te enfocarás.
Si quieres obtener más información sobre la iteración en tu modelo para mejorar su rendimiento, consulta itera en tu modelo.
Métricas de evaluación que muestra Vertex AI
Vertex AI muestra varias métricas de evaluación diferentes, como los límites de confianza, precisión y recuperación. Las métricas que muestra Vertex AI dependen del objetivo del modelo. Por ejemplo, Vertex AI proporciona diferentes métricas de evaluación para un modelo de clasificación de imágenes en comparación con un modelo de detecció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 VertexAI para cada objetivo. En el siguiente archivo del esquema, se describen las métricas de evaluación para el reconocimiento de acciones en video.
Puedes ver y descargar archivos de esquema desde la siguiente ubicación de Cloud Storage:
gs://google-cloud-aiplatform/schema/modelevaluation/
- AuPRC: el área bajo la curva de precisión y recuperación (PR), también conocida como precisión promedio. Esta medida puede variar de cero a uno y, cuanto más alto sea su valor, mejor será la calidad del modelo.
- Duración del período de precisión: Las marcas de tiempo de las predicciones deben estar dentro de esta longitud de ventana para que se cuente como un verdadero positivo. El centro de la longitud de la ventana de precisión es la marca de tiempo de la acción de verdad fundamental con esta longitud específica. El valor se expresa como una cantidad de segundos medida desde el inicio del video, con “s” agregado al final. Las fracciones están permitidas, con una precisión de hasta un microsegundo.
- Precisión promedio simple: también conocida como precisión promedio. Esta medida puede variar de cero a uno y, cuanto más alto sea su valor, mejor será la calidad del modelo.
- Umbral de confianza: Una puntuación de confianza que determina qué predicciones mostrar. Un modelo muestra predicciones que tienen este valor o uno más alto. Un umbral de confianza mayor aumenta la precisión, pero reduce la recuperación. Vertex AI muestra métricas de confianza con diferentes valores de umbral para mostrar cómo el umbral afecta la precisión y la recuperación.
- Recuperación: La fracción de predicciones con esta clase que el modelo predijo de forma correcta. También se denomina tasa de verdaderos positivos.
- Precisión: La fracción de predicciones de clasificación correctas que produjo el modelo.
- Puntuación F1: La media armónica de precisión y recuperación. F1 es una métrica útil si lo que buscas es un equilibrio entre la precisión y la recuperación, y tienes una distribución de clases despareja.
Obtén métricas de evaluación
Puedes obtener un conjunto agregado de métricas de evaluación para tu modelo y, para algunos objetivos, métricas de evaluación de una clase o etiqueta en particular. Las métricas de evaluación para una clase o etiqueta en particular también se conocen como fragmento de evaluación. En el siguiente contenido, se describe cómo obtener métricas de evaluación agregadas y secciones de evaluación mediante la API o la consola de Google Cloud.
Consola de Google Cloud
En la sección Vertex AI de la consola de Google Cloud, vaya 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, haz clic en tu modelo para abrir la pestaña Evaluar.
En la pestaña Evaluar, puedes ver las métricas de evaluación agregadas de tu modelo, como Precisión promedio y Recuperación.
Si el objetivo del modelo tiene porciones de evaluación, la consola mostrará una lista de etiquetas. Puedes 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 a la API a fin de obtener métricas de evaluación son las mismas para cada tipo de datos y objetivo, pero los resultados son diferentes. En los siguientes ejemplos, se muestra la misma solicitud, pero respuestas diferentes.
Obtén métricas totales de evaluación de modelos
Las métricas agregadas de evaluación del modelo proporcionan información sobre el modelo como un todo. Para ver información sobre una porción específica, enumera las porciones de evaluación del modelo.
Para ver las métricas totales de la evaluación del modelo, usa el método projects.locations.models.evaluations.get
.
Vertex AI muestra un arreglo de métricas de reconocimiento de acciones de video.
Cada elemento muestra métricas de evaluación en diferentes valores de precisionWindowLength
y confidenceThreshold
.
Si consultas las métricas de evaluación en valores diferentes de umbral de confianza y longitud del período, puedes ver cómo afectan a otras métricas, como la precisión y la recuperación.
Selecciona una pestaña que corresponda a tu idioma o entorno:
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Región en la que se almacena tu modelo.
- PROJECT: El ID del proyecto.
- MODEL_ID: El ID del recurso del modelo.
- PROJECT_NUMBER: el número de proyecto de tu proyecto generado de forma automática.
- EVALUATION_ID: ID para 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 siguiente comando:
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 siguiente comando:
$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 que se muestra a continuación:
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Enumera todas las porciones de evaluación
El método projects.locations.models.evaluations.slices.list
enumera todas las porciones de evaluación de tu modelo. Debes tener el ID de evaluación del modelo, que puedes obtener cuando ves las métricas de evaluación agregadas.
Puedes usar los fragmentos de evaluación del modelo para determinar el rendimiento del modelo en una etiqueta específica. El campo value
indica para qué etiqueta son las métricas.
Vertex AI muestra un arreglo de métricas de reconocimiento de acciones de video.
Cada elemento muestra métricas de evaluación en diferentes valores de precisionWindowLength
y confidenceThreshold
.
Si consultas las métricas de evaluación en valores diferentes de umbral de confianza y longitud del período, puedes ver cómo afectan a otras métricas, como la precisión y la recuperación.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Región en la que se encuentra el modelo. Por ejemplo,
us-central1
. - PROJECT: El ID del proyecto.
- MODEL_ID: El ID de tu modelo.
- EVALUATION_ID: ID de la evaluación del modelo que contiene las porciones de evaluación que se deben incluir en la lista.
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 siguiente comando:
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 siguiente comando:
$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 que se muestra a continuación:
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Obtén métricas para un solo fragmento
Si deseas ver las métricas de evaluación de una solo porción, usa el método projects.locations.models.evaluations.slices.get
. Debes tener el ID de porción, que se proporciona cuando Enumeras todas las porciones. En la siguiente muestra, se aplica a todos los tipos de datos y objetivos.
REST
Antes de usar cualquiera de los datos de solicitud a continuación, realiza los siguientes reemplazos:
- LOCATION: Región en la que se encuentra el modelo. Por ejemplo, us-central1.
- PROJECT: El ID del proyecto.
- MODEL_ID: El ID de tu modelo.
- EVALUATION_ID: ID de la evaluación del modelo que contiene el fragmento de evaluación que se debe recuperar.
- SLICE_ID: ID de un fragmento de evaluación para obtener.
- PROJECT_NUMBER: el número de proyecto de tu proyecto generado de forma automática.
- EVALUATION_METRIC_SCHEMA_FILE_NAME: El nombre de un archivo de esquema que define las métricas de evaluación para mostrar, 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 siguiente comando:
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 siguiente comando:
$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 que se muestra a continuación:
Java
Antes de probar este ejemplo, sigue las instrucciones de configuración para Java incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Java.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Node.js
Antes de probar este ejemplo, sigue las instrucciones de configuración para Node.js incluidas en la guía de inicio rápido de Vertex AI sobre cómo usar bibliotecas cliente. Para obtener más información, consulta la documentación de referencia de la API de Vertex AI Node.js.
Para autenticarte en Vertex AI, configura las credenciales predeterminadas de la aplicación. Si deseas obtener más información, consulta Configura la autenticación para un entorno de desarrollo local.
Python
Si deseas obtener información para instalar o actualizar el SDK de Vertex AI para Python, consulta Instala el SDK de Vertex AI para Python. Si deseas obtener más información, consulta la documentación de referencia de la API de Python.
Realiza iteraciones en tu modelo
Las métricas de evaluación del modelo proporcionan un punto de partida para depurar tu modelo cuando no cumple con tus expectativas. Por ejemplo, las puntuaciones de precisión y recuperación bajos pueden indicar que tu modelo necesita datos de entrenamiento adicionales o que tiene etiquetas incoherentes. La precisión y recuperación perfectas pueden indicar que los datos de prueba son demasiado fáciles de predecir y que podrían no generalizarse bien.
Puedes iterar en los datos de entrenamiento y crear un modelo nuevo. Después de crear un modelo nuevo, puedes comparar las métricas de la evaluación entre el modelo existente y el nuevo.
Las siguientes sugerencias pueden ayudarte a mejorar los modelos que etiquetan elementos, como los modelos de clasificación o detección:
- Considera agregar más ejemplos o un rango más amplio de ejemplos en tus datos de entrenamiento. Para obtener más información, consulta Prepara datos.
- Quita las clases o etiquetas que no tengan muchos ejemplos. En los ejemplos insuficientes, se evita que el modelo haga predicciones de manera coherente y segura sobre esas clases o etiquetas.
- Las máquinas no pueden interpretar el nombre de tus clases o etiquetas, y no comprenden las diferencias entre ellas, como “door” y “door_with_knob”. Debes proporcionar datos para ayudar a que las máquinas reconozcan esas diferencias.
- Mejora tus datos con más ejemplos de verdaderos positivos y verdaderos negativos, especialmente 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 de forma aleatoria a cada conjunto. Por lo tanto, los que están casi duplicados se pueden asignar a los conjuntos de entrenamiento y validación, lo que podría llevar a un sobreajuste y un rendimiento deficiente en el conjunto de prueba. Si deseas obtener más información a fin de configurar tu propia división de datos, consulta Acerca de las divisiones de datos para los modelos de AutoML.
- Si las métricas de evaluación del modelo incluyen una matriz de confusión, puedes ver si el modelo presenta dos etiquetas confusas, en las que el modelo predice una etiqueta particular mucho más que la etiqueta verdadera. Revisa tus datos y asegúrate de que los ejemplos estén etiquetados de forma correcta.
- Si tuviste un tiempo de entrenamiento corto (cantidad máxima baja de horas de procesamiento de nodo), es posible que obtengas un modelo de mejor calidad si permites que se entrene por un período más largo (cantidad máxima mayor de horas de procesamiento de nodo).