Guía para principiantes de AutoML

Introducción

En esta guía para principiantes, se presenta AutoML. Para comprender las diferencias clave entre AutoML y el entrenamiento personalizado, consulta Elige un método de entrenamiento.

Imagina lo siguiente:

  • Trabajas en el departamento de marketing de un minorista digital.
  • Estás trabajando en un proyecto de arquitectura que identifica tipos de edificios.
  • Imagina que tu negocio tiene un formulario de contacto en su sitio web.

Seleccionar imágenes y tablas de forma manual es tedioso y demanda mucho tiempo. Enseñarle a una computadora a identificar y marcar automáticamente el contenido

Imagen

Trabajas con una junta de conservación arquitectónica que intenta identificar los vecindarios de tu ciudad que tienen un estilo arquitectónico coherente. Tienes cientos de miles de instantáneas de hogares para categorizar. Sin embargo, es tedioso y propenso a errores cuando se intentan clasificar todas estas imágenes a mano. Un pasante etiquetó algunos centenares de ellas hace unos meses, pero nadie más ha visto los datos. Sería muy útil si pudieras enseñarle a tu computadora a hacer esto por ti.
introducción

Tabular

Imagina que trabajas en el departamento de marketing de un minorista digital. Tú y tu equipo están creando un programa de correos electrónicos personalizados basados en los perfiles de los clientes. Has creado los perfiles, y los correos electrónicos de marketing están listos para usar. Ahora debes crear un sistema que agrupe a los clientes en cada perfil según las preferencias de venta minorista y el comportamiento de consumo, incluso cuando sean clientes nuevos. Para maximizar la participación de los clientes, también es recomendable predecir sus hábitos de consumo a fin de que pueda optimizar el momento de enviarles los correos electrónicos.
Introducción a tabular

Como eres un minorista digital, tienes datos sobre tus clientes y las compras que hicieron. Pero ¿qué sucede con los clientes nuevos? Los enfoques tradicionales pueden calcular estos valores con los clientes existentes con extensos historiales de compra, pero no funcionan muy bien con los clientes con pocos datos históricos. ¿Qué tal si pudieras crear un sistema para predecir estos valores y aumentar la velocidad con la que ofreces programas de marketing personalizados a los clientes?

Por suerte, el aprendizaje automático y Vertex AI están bien preparados para resolver estos problemas.

En esta guía, se explica cómo funciona Vertex AI para los modelos y los conjuntos de datos de AutoML, y se ilustran los tipos de problemas que Vertex AI resuelve.

Una aclaración sobre la equidad

Google está comprometido con avanzar en el seguimiento de las prácticas de IA responsables. Para ello, nuestros productos de AA, incluido AutoML, están diseñados en torno a principios básicos como la equidad y el aprendizaje automático centrado en las personas. Si deseas obtener más información sobre las prácticas recomendadas para mitigar el sesgo cuando compilas tu propio sistema de AA, consulta la Guía para el AA inclusivo: AutoML.

¿Por qué Vertex AI es la herramienta adecuada para este problema?

La programación clásica requiere que el programador especifique las instrucciones paso a paso para que una computadora las siga. Hay tanta variación en el color, el ángulo, la resolución y la iluminación que requeriría codificar demasiadas reglas para indicarle a una máquina cómo tomar la decisión correcta. Es difícil imaginar dónde deberías comenzar. O bien, los comentarios de los clientes usan un vocabulario y una estructura amplios y variados, y son demasiado diversos para que los capture un conjunto simple de reglas. Si intentas compilar filtros manuales, notarás con rapidez que no pudiste clasificar la mayoría de los comentarios de tus clientes. Necesitas un sistema capaz de generalizar a una amplia variedad de comentarios. En una situación en la que una secuencia de reglas específicas está destinada a expandirse de manera exponencial, necesitas un sistema que pueda aprender de los ejemplos.

Por suerte, el aprendizaje automático resuelve estos problemas.

¿Cómo funciona Vertex AI?

Vertex AI implica tareas de aprendizaje supervisado para lograr un resultado deseado. Los detalles del algoritmo y los métodos de entrenamiento cambian según el tipo de datos y el caso de uso. Existen muchas subcategorías diferentes de aprendizaje automático; todas ellas resuelven distintos problemas y funcionan con diferentes restricciones.

Imagen

Entrenas, pruebas y validas el modelo de aprendizaje automático con imágenes de ejemplo que se anotan con etiquetas para la clasificación, o que se anotan con etiquetas y cuadros de límite para la detección de objetos. Mediante el aprendizaje supervisado, puedes entrenar un modelo para reconocer en las imágenes los patrones y el contenido que te interesa.

Tabular

Entrenas un modelo de aprendizaje automático con datos de ejemplo. Vertex AI usa datos tabulares (estructurados) para entrenar un modelo de aprendizaje automático y realizar inferencias sobre datos nuevos. Tu modelo aprenderá a predecir una columna de tu conjunto de datos llamada el objetivo. Algunas de las otras columnas de datos son entradas (llamadas atributos) de las que el modelo aprenderá patrones. Puedes usar los mismos atributos de entrada para crear varios tipos de modelos con solo cambiar la columna de destino y las opciones de entrenamiento. A partir del ejemplo del marketing por correo electrónico, esto significa que podrías compilar modelos con los mismos atributos de entrada, pero con diferentes inferencias de destino. Un modelo puede predecir el perfil de un cliente (un objetivo categórico), otro puede predecir su gasto mensual (un objetivo numérico) y otro puede predecir la demanda diaria de tus productos para los próximos tres meses (serie de objetivos numéricos).
cómo funciona la tabla de automl

Flujo de trabajo de Vertex AI

Vertex AI usa un flujo de trabajo de aprendizaje automático estándar:

  1. Reúne tus datos: Determina los datos que necesitas para entrenar y probar tu modelo en función del resultado que quieres lograr.
  2. Prepara tus datos: Asegúrate de que los datos tengan el formato y las etiquetas adecuados.
  3. Entrena: Configura los parámetros y crea tu modelo.
  4. Evalúa: Revisa las métricas del modelo.
  5. Implementa y predice: Haz que tu modelo esté disponible para su uso.

Preparación de datos

Sin embargo, antes de comenzar a recopilar datos, piensa en el problema que estás tratando de resolver. Esto informa tus requisitos de datos.

Evalúa tu caso práctico

Comienza con tu problema: ¿Qué resultado quieres obtener?

Imagen

Para crear el conjunto de datos, comienza siempre con el caso práctico. Puedes empezar con las siguientes preguntas:

  • ¿Cuál es el resultado que buscas?
  • ¿Qué tipos de categorías u objetos necesitarías reconocer para lograr este resultado?
  • ¿Es posible que las personas reconozcan esas categorías? Si bien la Vertex AI puede manejar una mayor cantidad de categorías que las que las personas pueden recordar y asignar a la vez, si una persona no puede reconocer una categoría específica, Vertex AI también tendrá dificultades.
  • ¿Qué tipos de ejemplos reflejarían mejor el tipo y rango de datos que tu sistema verá e intentará clasificar?

Tabular

¿Qué tipo de datos lleva la columna objetivo? ¿A qué cantidad de datos tienes acceso? Según tus respuestas, Vertex AI crea el modelo necesario para resolver tu caso práctico:

  • Los modelos de clasificación binaria predicen un resultado binario (una de dos clases). Úsalos para preguntas de sí o no, por ejemplo, a fin de predecir si un cliente pagaría una suscripción (o no). Si todo lo demás permanece constante, un problema de clasificación binaria requiere menos datos que otros tipos de modelos.
  • Los modelos de clasificación de varias clases predicen una clase de tres o más clases discretas. Úsalos para categorizar. Para el ejemplo de la venta minorista, deberías crear un modelo de clasificación de clases múltiples con el fin de segmentar a los clientes en diferentes perfiles.
  • Un modelo de previsión predice una secuencia de valores. Por ejemplo, como minorista, te recomendamos prever la demanda diaria de tus productos durante los próximos 3 meses para que puedas almacenar los inventarios de productos de forma adecuada con anticipación.
  • Un modelo de regresión predice un valor continuo. Para el ejemplo de venta minorista, deberías crear un modelo de regresión a fin de predecir cuánto invertirá un cliente el mes siguiente.

Recopila los datos.

Después de establecer tu caso de uso, recopila los datos que te permitirán crear el modelo que deseas.

Imagen

recopila suficientes datos Luego de establecer los datos que necesitas, debes encontrar una manera de obtenerlos. Para comenzar, puedes considerar todos los datos que recopila tu organización. Es posible que notes que ya recopilas los datos relevantes que necesitas para entrenar un modelo. En caso de que no tengas esos datos, puedes obtenerlos de forma manual o subcontratar a un proveedor externo.

Incluye suficientes ejemplos etiquetados en cada categoría

incluye suficientes datos El mínimo requerido por Vertex AI Training es de 100 ejemplos de imágenes por categoría o etiqueta para la clasificación. La probabilidad de reconocer con éxito una etiqueta aumenta con la cantidad de ejemplos de alta calidad para cada una. En general, cuantos más datos etiquetados puedas aportar al proceso de entrenamiento, mejor será tu modelo. Selecciona al menos 1,000 ejemplos por etiqueta.

Distribuye ejemplos por igual en todas las categorías

Es importante recopilar cantidades similares de ejemplos de entrenamiento para cada categoría. Incluso si tienes una gran cantidad de datos que corresponden a una etiqueta, es mejor tener una distribución equitativa para cada una. Para entender por qué, imagina que el 80% de las imágenes que usas cuando compilas tu modelo son imágenes de casas unifamiliares de estilo moderno. Con una distribución de etiquetas tan desequilibrada, es muy probable que tu modelo suponga que es seguro indicar siempre que una foto es de una casa unifamiliar moderna, en lugar de arriesgarse a intentar predecir una etiqueta mucho menos común. Es como escribir una prueba de opción múltiple en la que casi todas las respuestas correctas son “C”. Pronto, una persona inteligente sabrá que puede responder “C” siempre, sin siquiera mirar la pregunta.
distribuye de forma uniforme

Entendemos que no siempre es posible obtener una cantidad parecida de ejemplos para cada etiqueta. Los ejemplos imparciales y de alta calidad para algunas categorías pueden ser más difíciles de obtener. En esas circunstancias, puedes seguir esta regla general: la etiqueta con el número más bajo de ejemplos debe tener al menos el 10% de los que tiene la etiqueta con el número más alto. Entonces, si la etiqueta más grande tiene 10,000 ejemplos, la etiqueta más pequeña debe tener al menos 1,000 ejemplos.

Captura la variación en tu espacio problemático

Por razones similares, intenta asegurarte de que tus datos capturen la variedad y diversidad del espacio del problema. Cuanto más amplia sea la selección para el proceso de entrenamiento del modelo, más fácil será establecer generalizaciones que contemplen ejemplos nuevos. Por ejemplo, si intentas clasificar fotos de artículos electrónicos de consumo en categorías, cuanto más amplia sea la variedad de artículos a la que se expone el modelo en el entrenamiento, más probable será que pueda distinguir entre un modelo nuevo de tablet, teléfono o laptop, incluso si nunca antes vio ese modelo específico.
abarca la variedad

Haz coincidir los datos con el resultado previsto para tu modelo

haz coincidir los datos con el resultado previsto
Encuentra imágenes que sean visualmente similares a lo que planeas usar para hacer inferencias. Si intentas clasificar fotos de casas tomadas en un clima nevado de invierno, es probable que no obtengas un buen rendimiento de un modelo entrenado solo con fotos tomadas en un clima soleado, incluso si las etiquetaste de forma correcta, ya que la iluminación y el paisaje pueden ser bastante diferentes y afectar el rendimiento. Lo ideal es que tus ejemplos de entrenamiento sean datos del mundo real extraídos del mismo conjunto de datos que deseas clasificar mediante el modelo.

Tabular

conjunto de prueba Después de establecer tu caso de uso, deberás recopilar datos para entrenar el modelo. La obtención y la preparación de datos son pasos fundamentales para crear un modelo de aprendizaje automático. Los datos que tengas disponibles dictaminarán el tipo de problemas que puedes resolver. ¿Cuántos datos tienes disponibles? ¿Tus datos son relevantes para las preguntas que intentas responder? Mientras recopilas tus datos, ten en cuenta las consideraciones claves que se mencionan a continuación.

Selecciona las características relevantes

Una característica es un atributo de entrada que se usa para el entrenamiento del modelo. Las características son la forma en que tu modelo identifica patrones para hacer inferencias, por lo que deben ser relevantes para tu problema. Por ejemplo, para crear un modelo que prediga si la transacción de una tarjeta de crédito es fraudulenta o no, deberás compilar un conjunto de datos que contenga detalles de la transacción, como el comprador, el vendedor, el importe, la fecha, la hora y los artículos comprados. Otros atributos útiles pueden ser la información histórica sobre el comprador, el vendedor y la frecuencia con la que el artículo en cuestión ha sido objeto de fraude. ¿Qué otras características podrían ser relevantes?

Considera el caso de uso de la introducción sobre el marketing por correo electrónico para la venta minorista. Estas son algunas columnas de atributos que podrías necesitar:

  • Lista de artículos comprados (que incluye marcas, categorías, precios, descuentos)
  • Cantidad de artículos comprados (último día, semana, mes, año)
  • Importe de dinero gastado (último día, semana, mes, año)
  • Para cada artículo, la cantidad total que se vende por día
  • Para cada artículo, la cantidad total en stock cada día
  • Si está ejecutando una promoción de un día específico
  • Perfil demográfico conocido del comprador

Incluye suficientes datos

incluye suficientes datos En general, mientras más ejemplos de entrenamiento tengas, mejor será el resultado. La cantidad de datos de ejemplo necesarios también se ajusta a la complejidad del problema que intentas resolver. En comparación con un modelo de varias clases, para obtener un modelo de clasificación binaria preciso, no necesitarás tantos datos, porque es menos complicado predecir una clase entre dos que entre muchas.

No existe la fórmula perfecta, pero sí se recomiendan cantidades mínimas de datos de ejemplo:

  • Problema de clasificación: 50 filas x la cantidad de atributos
  • Problema de previsión:
    • 5,000 filas x la cantidad de atributos
    • 10 valores únicos en la columna del identificador de la serie temporal x la cantidad de atributos
  • Problema de regresión: 200 veces la cantidad de atributos

Abarca la variedad

Tu conjunto de datos debería abarcar la diversidad de la dimensión del problema. Cuanto más diversos sean los ejemplos que ve un modelo durante el entrenamiento, con mayor facilidad podrá generalizar ejemplos nuevos o no tan comunes. Imagina si tu modelo de venta minorista se entrenara solo con datos de compras durante el invierno. ¿Podría predecir con éxito las preferencias sobre vestimenta o comportamientos de compra durante el verano?


Prepara los datos

Imagen

recopila suficientes datos Después de decidir cuál es la opción adecuada para ti (una división manual o predeterminada), puedes agregar datos en Vertex AI con uno de los siguientes métodos:

  • Puedes importar datos desde tu computadora o desde Cloud Storage en un formato disponible (CSV o JSON Lines) que tenga las etiquetas intercaladas (y los cuadros de límite, si es necesario). Para obtener más información sobre el formato del archivo de importación, consulta Prepara tus datos de entrenamiento. Si deseas dividir tu conjunto de datos de forma manual, puedes especificar las divisiones en tu archivo de importación de líneas CSV o JSONL.
  • Si no se anotaron tus datos, puedes subir imágenes sin etiquetar y usar la Google Cloud consola para aplicar anotaciones. Puedes administrar estas anotaciones en varios conjuntos de anotaciones para el mismo conjunto de imágenes. Por ejemplo, para un conjunto único de imágenes, puedes tener un conjunto de anotaciones con información de cuadros de límite y etiquetas a fin de realizar la detección de objetos, y también puedes tener otro conjunto de anotaciones con solo anotaciones de etiquetas para la clasificación.

Tabular

prepara los datos Una vez que hayas identificado los datos disponibles, debes asegurarte de que estén listos para el entrenamiento. Si tus datos tienen sesgos o valores erróneos o faltantes, esto afecta la calidad del modelo. Antes de comenzar a entrenar tu modelo, ten en cuenta lo siguiente. Obtén más información.

Evita la filtración de datos y desviaciones entre el entrenamiento y la entrega

La filtración de datos ocurre cuando usas atributos de entrada durante el entrenamiento que “filtran” información acerca del objetivo que intentas predecir y que no está disponible cuando el modelo se entrega. Esto se puede detectar cuando un atributo que tiene una alta correlación con la columna objetivo se incluye como uno de los atributos de entrada. Por ejemplo, si estás creando un modelo con el fin de predecir si un cliente se registrará para obtener una suscripción el próximo mes, y uno de los atributos de entrada es un pago por una futura suscripción de ese cliente. Esto puede generar un gran rendimiento del modelo durante la prueba, pero no cuando se implementa en producción, ya que la información de pago de la futura suscripción no estará disponible al momento de la entrega.

Las desviaciones entre el entrenamiento y la entrega ocurren cuando los atributos de entrada usados durante el entrenamiento son diferentes de los que se proporcionan al modelo al momento de la entrega, lo que reduce la calidad de modelo en la producción. Por ejemplo, si creas un modelo para predecir las temperaturas por hora, pero entrenas con datos que solo contienen temperaturas semanales. Otro ejemplo: supongamos que quieres predecir la deserción escolar y siempre proporcionas las calificaciones de un alumno en los datos de entrenamiento, pero no lo haces al momento de la entrega.

Es importante que comprendas los datos de entrenamiento para evitar la filtración de datos y desviaciones entre el entrenamiento y la entrega:

  • Antes de usar cualquier tipo de dato, asegúrate de saber qué significa y si debes usarlo como un atributo.
  • Verifica la correlación en la pestaña de entrenamiento. Las altas correlaciones se deben marcar para revisarlas luego.
  • Desviaciones entre el entrenamiento y la entrega: Asegúrate de proporcionar al modelo solo los atributos de entrada que, al momento de la entrega, no hayan cambiado de ninguna forma.

Borra los datos incompletos, incoherentes y faltantes

Es común que tengas valores faltantes o imprecisos en los datos de ejemplo. Tómate el tiempo para revisar y, cuando sea posible, mejorar la calidad de los datos antes de usarlos en el entrenamiento. Cuantos más valores faltantes haya, menos útil serán tus datos a la hora de entrenar un modelo de aprendizaje automático.

  • Busca valores faltantes entre tus datos. Corrígelos cuando sea posible o deja el valor en blanco si la columna es anulable. Vertex AI puede trabajar con valores faltantes, pero es más probable que obtengas resultados óptimos si todos los valores están disponibles.
  • Para la previsión, verifica que el intervalo entre filas de entrenamiento sea coherente. Vertex AI puede trabajar con valores faltantes, pero es más probable que obtengas resultados óptimos si todas las filas están disponibles.
  • Realiza una limpieza de tus datos: corrige o borra los errores de datos o información irrelevante. Haz que tus datos sean coherentes: revisa la ortografía, las abreviaturas y el formato.

Analiza tus datos después de importarlos

Vertex AI proporciona una descripción general de tu conjunto de datos después de que se importa. Revisa el conjunto de datos importado para asegurarte de que cada columna tenga el tipo de variable correcto. Vertex AI detectará automáticamente el tipo de variable según los valores de las columnas, pero es mejor revisar cada una. También debes revisar la nulabilidad de cada columna, que determina si una columna puede contener valores faltantes o NULL.

Entrenar modelo

Imagen

Considera cómo Vertex AI usa tu conjunto de datos para crear un modelo personalizado

Tu conjunto de datos contiene conjuntos de entrenamiento, validación y prueba. Si no especificas las divisiones (consulta Prepara tus datos), Vertex AI usa de forma automática el 80% de tus imágenes para entrenamiento, el 10% para validación y el 10% para pruebas.
entrena conjuntos de pruebas de validación

Conjunto de entrenamiento

conjunto de entrenamiento La gran mayoría de tus datos deben estar en el conjunto de entrenamiento. Estos son los datos que tu modelo “ve” durante el entrenamiento; se usan para aprender los parámetros del modelo, es decir, el peso de las conexiones entre los nodos de la red neuronal.

Conjunto de validación

conjunto de validación El conjunto de validación, a veces llamado conjunto “dev”, también se usa durante el proceso de entrenamiento. Después de que el marco de trabajo del modelo de aprendizaje incorpora datos de entrenamiento durante cada iteración del proceso de entrenamiento, usa el rendimiento del modelo en el conjunto de validación para ajustar sus hiperparámetros, que son variables que especifican la estructura del modelo. Si intentaste usar el conjunto de entrenamiento para ajustar los hiperparámetros, es muy probable que el modelo se centre demasiado en tus datos de entrenamiento y le cueste generalizar ejemplos que no coincidan con exactitud. Si usas un conjunto de datos un tanto nuevo para configurar la estructura del modelo, este realizará mejores generalizaciones.

Conjunto de prueba

conjunto de prueba El conjunto de prueba no interviene para nada en el proceso de entrenamiento. Una vez que el modelo completa todo su entrenamiento, usamos el conjunto de prueba como un desafío nuevo para tu modelo. El rendimiento de tu modelo en el conjunto de prueba sirve para darte una idea bastante clara de cómo será su rendimiento en datos del mundo real.

División manual

división manual También puedes dividir tu conjunto de datos. La división manual de datos es una buena opción cuando deseas ejercer más control sobre el proceso o si hay ejemplos específicos que deseas incluir en una parte determinada del ciclo de vida del entrenamiento del modelo.

 

 

Tabular

Después de importar tu conjunto de datos, el siguiente paso es entrenar un modelo. Vertex AI generará un modelo de aprendizaje automático confiable con los valores predeterminados de entrenamiento, pero te recomendamos cambiar algunos de los parámetros según tu caso de uso.

Para el entrenamiento, intenta seleccionar tantas columnas de atributos como sea posible, pero revisa cada una con el fin de asegurarte de que sean adecuadas para el entrenamiento. Ten en cuenta las siguientes consideraciones para la selección de atributos:

  • No selecciones columnas de atributos que generen información irrelevante, como columnas de identificadores asignados de forma aleatoria con un valor único para cada fila.
  • Asegúrate de comprender cada columna de atributos y sus valores.
  • Si creas varios modelos a partir de un conjunto de datos, quita las columnas objetivo que no formen parte del problema de inferencia actual.
  • Recuerda los principios de equidad: ¿Entrenaste tu modelo con un atributo que podría llevar a una toma de decisiones sesgada o injusta hacia los grupos marginados?

Cómo Vertex AI usa tu conjunto de datos

Tu conjunto de datos se dividirá en grupos de entrenamiento, validación y prueba. La división predeterminada que Vertex AI aplica depende del tipo de modelo que entrenes. También puedes especificar las divisiones (divisiones manuales) si es necesario. Para obtener más información, consulta Acerca de las divisiones de datos para los modelos de AutoML. entrena conjuntos de pruebas de validación

Conjunto de entrenamiento

conjunto de entrenamiento La gran mayoría de tus datos deben estar en el conjunto de entrenamiento. Estos son los datos que tu modelo “ve” durante el entrenamiento; se usan para aprender los parámetros del modelo, es decir, el peso de las conexiones entre los nodos de la red neuronal.

Conjunto de validación

conjunto de validación El conjunto de validación, a veces llamado conjunto “dev”, también se usa durante el proceso de entrenamiento. Después de que el marco de trabajo del modelo de aprendizaje incorpora datos de entrenamiento durante cada iteración del proceso de entrenamiento, usa el rendimiento del modelo en el conjunto de validación para ajustar sus hiperparámetros, que son variables que especifican la estructura del modelo. Si intentaste usar el conjunto de entrenamiento para ajustar los hiperparámetros, es muy probable que el modelo se centre demasiado en tus datos de entrenamiento y le cueste generalizar ejemplos que no coincidan con exactitud. Si usas un conjunto de datos un tanto nuevo para configurar la estructura del modelo, este realizará mejores generalizaciones.

Conjunto de prueba

conjunto de prueba El conjunto de prueba no interviene para nada en el proceso de entrenamiento. Luego de que el modelo completó su entrenamiento por completo, Vertex AI usa el conjunto de prueba como un nuevo desafío para tu modelo. El rendimiento de tu modelo en el conjunto de prueba sirve para darte una idea bastante clara de cómo será su rendimiento en datos del mundo real.

 


Evalúa, implementa y prueba tu modelo

Evaluar el modelo

Imagen

Luego de que tu modelo esté entrenado, recibirás un resumen de su rendimiento. Haz clic en evaluar o ver evaluación completa a fin de ver un análisis detallado.

recopila suficientes datos La depuración de un modelo es más bien una depuración de los datos que del modelo en sí. Si en algún momento tu modelo comienza a actuar de manera inesperada mientras evalúas su rendimiento antes y después de pasar a producción, debes regresar y verificar los datos para ver dónde podrían realizarse mejoras.

¿Qué tipos de análisis puedo realizar en Vertex AI?

En la sección de evaluación de Vertex Ai, puedes evaluar el rendimiento de tu modelo personalizado con el resultado del modelo en los ejemplos de prueba y las métricas comunes del aprendizaje automático. En esta sección, abordaremos el significado de cada uno de estos conceptos.

  • La salida del modelo
  • El límite de puntuación
  • Positivos verdaderos, negativos verdaderos, falsos positivos y falsos negativos
  • Precisión y recuperación
  • Curvas de precisión y recuperación
  • Precisión promedio

¿Cómo interpreto el resultado del modelo?

Vertex AI extrae ejemplos de tus datos de prueba a fin de presentar desafíos completamente nuevos para tu modelo. Para cada ejemplo, el modelo genera una serie de números que reflejan el grado de confianza con el que asocia cada etiqueta con ese ejemplo. Si el número es alto, el modelo tiene una confianza alta en que la etiqueta se debe aplicar a ese documento.
resultado del modelo

¿Cuál es el umbral de puntuación?

Podemos convertir estas probabilidades en valores binarios de “encendido” y “apagado” si establecemos un umbral de puntuación. El umbral de puntuación se refiere al nivel de confianza que debe tener el modelo para asignar una categoría a un elemento de prueba. El control deslizante del umbral de puntuación en la consola de Google Cloud es una herramienta visual que prueba el efecto de diferentes umbrales para todas las categorías y categorías individuales en el conjunto de datos. Si el umbral de puntuación es bajo, tu modelo clasificará más imágenes, pero corres el riesgo de clasificar de forma errónea algunas imágenes en el proceso. Si tu límite de puntuación es alto, tu modelo clasifica menos imágenes, pero tiene un riesgo menor de clasificar de manera incorrecta las imágenes. Puedes modificar los umbrales por categoría en la Google Cloud consola para experimentar. Sin embargo, cuando uses tu modelo en producción, debes aplicar los umbrales que consideras óptimos.

puntuación del umbral

¿Qué son los verdaderos positivos, los verdaderos negativos, los falsos positivos y los falsos negativos?

Después de aplicar el umbral de puntuación, las inferencias que haga tu modelo entrarán en una de las cuatro categorías siguientes:
Los umbrales que consideraste óptimos de tu lado.

negativos verdaderos positivos

Podemos usar estas categorías para calcular la precisión y la recuperación, métricas que nos ayudan a medir la eficacia de nuestro modelo.

¿Qué son la precisión y la recuperación?

La precisión y la recuperación nos ayudan a comprender qué tan bien nuestro modelo captura información y cuánta omite. La precisión nos dice cuántos de todos los ejemplos de prueba a los que se asignó una etiqueta se categorizaron de forma correcta. La recuperación nos dice cuántos de todos los ejemplos de prueba a los que debía asignarse una etiqueta determinada se etiquetaron de forma correcta.

recuperación y precisión

¿Debo optimizar la precisión o la recuperación?

Según tu caso de uso, puedes optimizar la precisión o la recuperación. Considera los siguientes dos casos de uso cuando decidas qué enfoque funciona mejor.

Caso práctico: privacidad en las imágenes

Supongamos que deseas crear un sistema que detecte de forma automática la información sensible y la difumine.

falso positivo inofensivo
Los falsos positivos en este caso serían objetos que se difuminan por error, lo que puede ser molesto, pero no perjudicial.

falso negativo perjudicial

Los falsos negativos en este caso serían objetos que se dejaron sin difuminar por error, como una tarjeta de crédito, lo que puede llevar a un robo de identidad.

En este caso, debes optimizar la recuperación. Esta métrica determina cuánto se omite en todas las inferencias realizadas. Es probable que un modelo de recuperación alta etiquete ejemplos apenas relevantes. Esto es útil para los casos en los que tu categoría tiene pocos datos de entrenamiento.

Supongamos que deseas crear un sistema que encuentre la mejor fotografía de archivo para una palabra clave determinada.

falso positivo

Un falso positivo en este caso mostraría una imagen irrelevante. Como se supone que tu producto muestra solo las imágenes que mejor coinciden, el resultado obtenido sería un gran fracaso.

falso negativo

Un falso negativo en este caso sería no mostrar una imagen relevante en una búsqueda por palabra clave. Ya que muchos términos de búsqueda tienen miles de fotos con una sólida coincidencia posible, esto no es un problema.

En este caso, debes optimizar la precisión. Esta métrica determina qué tan correctas son todas las inferencias realizadas. Es probable que un modelo de alta precisión etiquete solo los ejemplos más relevantes, lo cual es útil para los casos en los que tu clase es común en los datos de entrenamiento.

¿Cómo uso la matriz de confusión?

matriz de confusión

¿Cómo interpreto las curvas de precisión-recuperación?

curvas de precisión y recuperación
La herramienta de umbral de puntuación te permite explorar cómo el umbral de puntuación elegido afecta la precisión y la recuperación. A medida que arrastras el control deslizante en la barra del umbral de puntuación, puedes ver dónde te sitúa ese umbral en la curva de balance de precisión-recuperación y cómo afecta a tu precisión y recuperación individualmente (para modelos multiclase, la única etiqueta que se usa en estos grafos a fin de calcular las métricas de precisión y recuperación es la que tiene la puntuación más alta en el conjunto que mostramos). Esto puede ayudarte a encontrar un buen balance entre falsos positivos y falsos negativos.

Una vez que eliges un umbral aceptable para tu modelo en general, puedes hacer clic en etiquetas individuales y ver dónde se ubica ese umbral en la curva de precisión-recuperación correspondiente. En algunos casos, del resultado podría inferirse que obtienes muchas inferencias incorrectas para pocas etiquetas, lo que tal vez te ayude a elegir un umbral por clase personalizado para esas etiquetas. Por ejemplo, supongamos que revisas tu conjunto de datos de casas y observas que un umbral de 0.5 tiene una precisión y recuperación razonables para todos los tipos de imagen, excepto “Tudor”, tal vez porque es una categoría muy general. En esa categoría, encuentras muchos falsos positivos. En ese caso, puedes decidir usar un umbral de 0.8 solo para "Tudor" cuando llames al clasificador para hacer inferencias.

¿Qué es la precisión promedio?

Una métrica útil para la exactitud del modelo es el área bajo la curva de precisión-recuperación. Mide el rendimiento de tu modelo en todos los umbrales de puntuación. En Vertex AI, esta métrica se conoce como Precisión promedio. Cuanto más cerca de 1.0 esté esta puntuación, mejor será el rendimiento de tu modelo en el conjunto de prueba; un modelo que adivine al azar para cada etiqueta obtendría una precisión promedio de alrededor de 0.5.

Tabular

Evalúa el modeloDespués del entrenamiento del modelo, recibirás un resumen sobre el rendimiento. Las métricas de evaluación del modelo se basan en cómo se desempeñó ante una porción de tu conjunto de datos (el conjunto de datos de prueba). Hay algunas métricas y conceptos clave que debes tener en cuenta a fin de determinar si tu modelo está listo para usarse con datos reales.

Métricas de clasificación

Umbral de puntuación

Considera un modelo de aprendizaje automático que prediga si el próximo año un cliente comprará una chaqueta o no. ¿Qué tan seguro debe estar el modelo antes de predecir que un cliente determinado comprará una chaqueta? En los modelos de clasificación, a cada inferencia se le asigna una puntuación de confianza, una evaluación numérica acerca de la certeza del modelo de que la clase predicha sea correcta. El umbral de puntuación es el número que determina cuándo una puntuación determinada se convierte en una decisión de sí o no; es decir, el valor en el que el modelo dice “sí, esta puntuación de confianza es lo suficientemente alta como para concluir que este cliente comprará un abrigo el próximo año.
evalúa umbrales

Si tu umbral de puntuación es bajo, tu modelo correrá el riesgo de realizar una clasificación errónea. Por ese motivo, el umbral de puntuación debe basarse en un caso práctico determinado.

Resultados de la inferencia

Después de aplicar el umbral de puntuación, las inferencias que realice tu modelo se clasificarán en una de cuatro categorías. Para comprender estas categorías, imagina otra vez un modelo de clasificación binaria de chaquetas. En este ejemplo, la clase positiva (lo que el modelo intenta predecir) es si cliente sí comprará una chaqueta el próximo año.

  • Verdadero positivo: El modelo predice la clase positiva de forma correcta. El modelo predijo de forma correcta que un cliente compraría una chaqueta.
  • Falso positivo: El modelo predice la clase positiva de forma incorrecta. El modelo predijo que un cliente compró una chaqueta, pero este no lo hizo.
  • Verdadero negativo: El modelo predice la clase negativa de forma correcta. El modelo predijo de forma correcta que un cliente no compraría una chaqueta.
  • Falso negativo: El modelo predice una clase negativa de forma incorrecta. El modelo predijo que un cliente no compraría una chaqueta, pero sí lo hizo.

resultados de la predicción

Precisión y recuperación

Las métricas de precisión y recuperación te ayudan a comprender qué tan bien tu modelo capta información y qué omite. Obtén más información sobre precisión y recuperación.

  • La precisión es la fracción de las inferencias positivas que fueron correctas. De todas las inferencias de compra de un cliente, ¿qué fracción fueron compras reales?
  • La recuperación es la fracción de filas con esta etiqueta que el modelo predijo de forma correcta. De todas las compras de los consumidores que se pudieron haber identificado, ¿qué fracción efectivamente se identificó?

Según el caso práctico, es posible que debas optimizar la precisión o la recuperación.

Otras métricas de clasificación
  • AUC PR: El área bajo la curva de precisión y recuperación (PR). Esta medida puede variar de cero a uno, y cuanto más alto sea su valor, mejor será la calidad del modelo.
  • AUC ROC: El área bajo la curva de característica operativa del receptor (ROC). Esta puede variar de cero a uno y cuanto más alto sea su valor, mejor será la calidad del modelo.
  • Precisión: Es la fracción de inferencias de clasificación correctas que produjo el modelo.
  • Pérdida logística: Es la entropía cruzada entre las inferencias del modelo y los valores objetivo. Esta medida puede variar de cero a infinito y, cuanto más bajo sea su valor, mejor será la calidad del 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.

Métricas de regresión y previsión

Una vez que se compila el modelo, Vertex AI proporciona una variedad de métricas estándar para que revises. No hay una respuesta perfecta sobre cómo evaluar tu modelo. Considera las métricas de evaluación en el contexto del tipo de problema y lo que quieras lograr con el modelo. En la siguiente lista, se muestra una descripción general de algunas métricas que puede proporcionar Vertex AI.

Error absoluto medio (MAE)

MAE es la diferencia absoluta promedio entre los valores objetivo y valores predichos. Determina la magnitud promedio de los errores (la diferencia entre un valor objetivo y uno predicho) en un conjunto de inferencias. Además, como usa valores absolutos, MAE no tiene en cuenta la dirección de la relación, ni tampoco indica cuándo el rendimiento está por debajo o por encima del esperado. Cuando se evalúa MAE, cuanto más bajo el valor, mayor será la calidad del modelo (0 representa un predictor perfecto).

Raíz cuadrada del error cuadrático medio (RMSE)

RMSE es la raíz cuadrada de la diferencia cuadrática promedio entre los valores objetivo y valores predichos. La RMSE es más sensible a los valores atípicos que MAE, por lo que, si te preocupan los grandes errores, RMSE puede ser una métrica más útil para evaluar. Al igual que MAE, cuanto más bajo el valor, mayor será la calidad del modelo (0 representa un predictor perfecto).

Raíz cuadrada del error logarítmico cuadrático medio (RMSLE)

RMSLE es RMSE en escala logarítmica. RMSLE es más sensible a los errores relativos que a los absolutos y tiene más en cuenta a los rendimientos por debajo que por encima de lo esperado.

Cuantil observado (solo previsión)

Para un cuantil objetivo determinado, el cuantil observado muestra la fracción real de valores observados por debajo de los valores de inferencia del cuantil especificado. El cuantil observado indica cuán cerca el modelo se aproxima al cuantil objetivo. Una diferencia menor entre ambos valores indica un modelo de mayor calidad.

Pérdida escalada de bola de pinball (solo previsión)

Mide la calidad de un modelo en un cuantil objetivo determinado. Un número más bajo indica un modelo de mayor calidad. Puedes comparar la métrica de pérdida escalada de bola de pinball en diferentes cuantiles para determinar la exactitud relativa de tu modelo entre esos diferentes cuantiles.


Prueba tu modelo

Imagen

Vertex AI usa el 10% de tus datos de manera automática (o el porcentaje que hayas usado si optaste por la división manual) para probar el modelo, y la página "Evaluación” te informa cómo le fue al modelo con esos datos de prueba. Sin embargo, en caso de que quieras verificar la confianza de tu modelo, hay varias formas de hacerlo. La más sencilla es subir algunas imágenes en la página "Implementación y prueba" y ver las etiquetas que el modelo elige para tus ejemplos. Con suerte, el resultado coincidirá con lo esperado. Prueba varios ejemplos de cada tipo de imagen que esperas recibir.

Si deseas usar tu modelo en tus propias pruebas automatizadas, la página “Implementación y prueba” también te indica cómo realizar llamadas al modelo de manera programática.

Tabular

La evaluación de las métricas de tu modelo es, en esencia, la forma de determinar si el modelo está listo para implementarse, pero también puedes probarlo con datos nuevos. Sube datos nuevos para ver si las inferencias del modelo coinciden con tus expectativas. Según las métricas de evaluación o las pruebas con datos nuevos, es posible que debas seguir mejorando el rendimiento de tu modelo.

Implementa tu modelo

Imagen

Cuando estés satisfecho con el rendimiento de tu modelo, será momento de usarlo. Quizás eso signifique usarlo en escala de producción o tal vez sea una solicitud de inferencia de un solo uso. Según el caso de uso, puedes usar tu modelo de diferentes maneras.

Inferencia por lotes

La inferencia por lotes es útil para realizar muchas solicitudes de inferencia a la vez. La inferencia por lotes es asíncrona, lo que significa que el modelo esperará hasta procesar todas las solicitudes de inferencia antes de mostrar un archivo de líneas JSON con valores de inferencia.

Inferencia en línea

Implementa tu modelo para que esté disponible para las solicitudes de inferencia a través de una API de REST. La inferencia en línea es síncrona (en tiempo real), lo que significa que mostrará un resultado de inferencia con rapidez, pero solo acepta una solicitud de inferencia por cada llamada a la API. La inferencia en línea es útil si tu modelo es parte de una aplicación y si algunas partes de tu sistema dependen de una rápida respuesta de inferencia.

Tabular

Cuando estés satisfecho con el rendimiento de tu modelo, será momento de usarlo. Quizás eso signifique usarlo en escala de producción o tal vez sea una solicitud de inferencia de un solo uso. Según tu caso práctico, puedes usar tu modelo de diferentes maneras.

Inferencia por lotes

La inferencia por lotes es útil para realizar muchas solicitudes de inferencia a la vez. La inferencia por lotes es asíncrona, lo que significa que el modelo esperará hasta procesar todas las solicitudes de inferencia antes de mostrar un archivo CSV o una tabla de BigQuery con valores de inferencia.

Inferencia en línea

Implementa tu modelo para que esté disponible para las solicitudes de inferencia a través de una API de REST. La inferencia en línea es síncrona (en tiempo real), lo que significa que mostrará una inferencia con rapidez, pero solo acepta una solicitud de inferencia por cada llamada a la API. La inferencia en línea es útil si tu modelo es parte de una aplicación y si algunas partes de tu sistema dependen de una rápida respuesta de inferencia.

Limpia

Para evitar cargos no deseados, anula la implementación de tu modelo cuando no esté en uso.

Cuando termines de usar tu modelo, borra los recursos que creaste para evitar que se generen cargos no deseados en tu cuenta.