Definición de un problema de AA

Después de verificar que tu problema se resuelve mejor con un enfoque de AA predictivo o de IA generativa, estás listo para enmarcar tu problema en términos del AA. Completa las siguientes tareas para plantear un problema en términos de AA:

  • Definir el resultado ideal y el objetivo del modelo
  • Identificar la salida del modelo.
  • Defina las métricas de éxito.

Definir el resultado ideal y el objetivo del modelo

Independientemente del modelo de AA, ¿cuál es el resultado ideal? En otras palabras, ¿cuál es la tarea exacta que deseas que realice tu producto o función? Esta es la misma declaración que definiste antes en la sección Establece el objetivo.

Conecta el objetivo del modelo con el resultado ideal mediante la definición explícita de lo que quieres que haga. En la siguiente tabla, se indican los resultados ideales y el objetivo del modelo para apps hipotéticas:

Aplicaciones Resultado ideal Objetivo del modelo
App de clima Calcular las precipitaciones en incrementos de seis horas para una región geográfica. Predice las cantidades de precipitaciones de seis horas para regiones geográficas específicas.
App de moda Generar una variedad de diseños de camisas. Generar tres variedades de diseño de camisa a partir de un texto y una imagen, donde el texto indique el estilo y el color, y la imagen es el tipo de camisa (camiseta, botones, polo).
App de video Recomienda videos útiles. Predice si un usuario hará clic en un video.
App de correo electrónico Detecta spam. Predice si un correo electrónico es spam o no.
App financiera Resume la información financiera de múltiples fuentes de noticias. Genera resúmenes de 50 palabras de las principales tendencias financieras de los últimos siete días.
App de mapas Calcula la duración del viaje. Predice cuánto tiempo tardarás en viajar entre dos puntos.
App de banca electrónica Identifica transacciones fraudulentas. Predecir si el titular de la tarjeta realizó una transacción
Aplicación de gastronomía Identificar la cocina según el menú de un restaurante Predecir el tipo de restaurante
App de comercio electrónico Generar respuestas de atención al cliente sobre los productos de la empresa Genera respuestas mediante el análisis de opiniones y la base de conocimiento de la organización.

Identifica el resultado que necesitas

La elección del tipo de modelo depende del contexto y las limitaciones específicas de tu problema. El resultado del modelo debe realizar la tarea definida en el resultado ideal. Por lo tanto, la primera pregunta para responder es "¿Qué tipo de resultado necesito para resolver mi problema?"

Si necesitas clasificar algo o hacer una predicción numérica, probablemente usarás AA predictivo. Si necesitas generar contenido nuevo o producir resultados relacionados con la comprensión del lenguaje natural, es probable que uses IA generativa.

En las siguientes tablas, se enumeran los resultados del AA predictivo y la IA generativa:

Tabla 1. AA predictivo
Sistema de AA Resultado de ejemplo
Clasificación Clases binarias Clasificar un correo electrónico como spam o no como spam
Etiqueta única de varias clases Clasificar un animal en una imagen
Multiclase con varias etiquetas Clasificar todos los animales en una imagen
Numéricos Regresión unidimensional Predice la cantidad de vistas que recibirá un video.
Regresión multidimensional Predice la presión arterial, la frecuencia cardíaca y los niveles de colesterol de una persona.
Tabla 2. IA generativa
Tipo de modelo Resultado de ejemplo
Texto
Resume un artículo.

Responder las opiniones de los clientes

Traduce documentos del inglés al mandarín.

Escribe descripciones de productos.

Analizar documentos legales.
Imagen
Produce imágenes de marketing.

Aplica efectos visuales a las fotos.

Generar variaciones del diseño del producto.
Audio
Genera diálogo con un acento específico.

Genera una composición musical breve de un género específico, como jazz.
Video
Genera videos de aspecto realista.

Analizar videos y aplicar efectos visuales
Multimodal Produce varios tipos de resultados, como un video con subtítulos.

Clasificación

Un modelo de clasificación predice a qué categoría pertenecen los datos de entrada, por ejemplo, si una entrada se debe clasificar como A, B o C.

Un modelo de clasificación hace predicciones.

Figura 1: Modelo de clasificación que hace predicciones.

En función de la predicción del modelo, tu app podría tomar una decisión. Por ejemplo, si la predicción es de categoría A, entonces haz X; si la predicción es de categoría B, hazlo, Y; si la predicción es de categoría C, haz Z. En algunos casos, la predicción es el resultado de la app.

El código del producto usa el resultado del modelo para tomar una decisión.

Figura 2: Resultado de un modelo de clasificación que se usa en el código de producto para tomar una decisión.

Regresión

Un modelo de regresión predice un valor numérico.

Un modelo de regresión hace una predicción.

Figura 3: Un modelo de regresión que hace una predicción numérica.

En función de la predicción del modelo, tu app podría tomar una decisión. Por ejemplo, si la predicción se encuentra dentro del rango A, haz X; si está dentro del rango B, haz Y; si está dentro del rango C, haz Z. En algunos casos, la predicción es el resultado de la app.

El código del producto usa el resultado del modelo para tomar una decisión.

Figura 4: Resultado de un modelo de regresión que se usa en el código de producto para tomar una decisión.

Considera la siguiente situación:

Deseas almacenar en caché videos según su popularidad prevista. En otras palabras, si tu modelo predice que un video será popular, querrás publicarlo con rapidez para los usuarios. Para hacerlo, usarás la caché más eficaz y costosa. Para otros videos, usarás una caché diferente. Los criterios de almacenamiento en caché son los siguientes:

  • Si se predice que un video obtendrá 50 vistas o más, usarás la caché costosa.
  • Si se predice que un video obtendrá entre 30 y 50 vistas, usarás la caché económica.
  • Si se predice que el video tendrá menos de 30 vistas, no lo almacenarás en caché.

Crees que un modelo de regresión es el enfoque correcto porque predecirás un valor numérico: la cantidad de vistas. Sin embargo, cuando entrenas el modelo de regresión, te das cuenta de que produce la misma pérdida para una predicción de 28 y 32 en el caso de los videos que tienen 30 vistas. En otras palabras, aunque tu app tendrá un comportamiento muy diferente si la predicción es 28 en comparación con la 32, el modelo considera ambas predicciones igual de buenas.

Un modelo que se está entrenando y se evalúa su pérdida.

Figura 5: Entrenar un modelo de regresión

Los modelos de regresión no tienen conocimiento de los umbrales definidos por el producto. Por lo tanto, si el comportamiento de tu app cambia de manera significativa debido a pequeñas diferencias en las predicciones de un modelo de regresión, deberías considerar implementar un modelo de clasificación en su lugar.

En esta situación, un modelo de clasificación produciría el comportamiento correcto porque un modelo de clasificación produciría una pérdida mayor para una predicción de 28 que 32. En cierto sentido, los modelos de clasificación producen umbrales de forma predeterminada.

En este escenario, se destacan dos puntos importantes:

  • Predecir la decisión. Cuando sea posible, predice la decisión que tomará tu app. En el ejemplo de video, un modelo de clasificación predeciría la decisión si las categorías en las que clasificó los videos eran “sin caché”, “caché económica” y “caché costosa”. Ocultar el comportamiento de tu app del modelo puede provocar que esta produzca un comportamiento incorrecto.

  • Comprende las limitaciones del problema. Si tu app realiza diferentes acciones según diferentes umbrales, determina si esos límites son fijos o dinámicos.

    • Umbrales dinámicos: Si los umbrales son dinámicos, usa un modelo de regresión y establece los límites de los umbrales en el código de la app. Esto te permite actualizar con facilidad los umbrales mientras el modelo realiza predicciones razonables.
    • Umbrales fijos: Si los umbrales son fijos, usa un modelo de clasificación y etiqueta tus conjuntos de datos según los límites de los umbrales.

    En general, la mayor parte del aprovisionamiento de caché es dinámico y los umbrales cambian con el tiempo. Por lo tanto, debido a que este es un problema específico de almacenamiento en caché, un modelo de regresión es la mejor opción. Sin embargo, para muchos problemas, los umbrales se corregirán, lo que hace que un modelo de clasificación sea la mejor solución.

Veamos otro ejemplo. Si estás compilando una app meteorológica cuyo resultado ideal es decirles a los usuarios cuánto lloverá en las próximas seis horas, podrías usar un modelo de regresión que prediga la etiqueta precipitation_amount..

Resultado ideal Etiqueta ideal
Diles a los usuarios cuánto lloverá en su área en las próximas seis horas. precipitation_amount

En el ejemplo de la app de clima, la etiqueta aborda directamente el resultado ideal. Sin embargo, en algunos casos, no es evidente una relación uno a uno entre el resultado ideal y la etiqueta. Por ejemplo, en la app de video, el resultado ideal es recomendar videos útiles. Sin embargo, no hay una etiqueta en el conjunto de datos llamada useful_to_user..

Resultado ideal Etiqueta ideal
Recomienda videos útiles. ?

Por lo tanto, debes encontrar una etiqueta de proxy.

Etiquetas de proxy

Las etiquetas de proxy sustituyen a las etiquetas que no están en el conjunto de datos. Las etiquetas de proxy son necesarias cuando no puedes medir directamente lo que deseas predecir. En la app de video, no podemos medir directamente si un usuario encontrará un video útil o no. Sería muy bueno que el conjunto de datos tuviera un atributo useful y los usuarios marquen todos los videos que les parecieron útiles. Sin embargo, como el conjunto de datos no lo tiene, necesitaremos una etiqueta de proxy que sustituya por utilidad.

Una etiqueta de proxy para la utilidad podría ser si el usuario compartirá o no el video.

Resultado ideal Etiqueta de proxy
Recomienda videos útiles. shared OR liked

Ten cuidado con las etiquetas de proxy, ya que no miden directamente lo que deseas predecir. Por ejemplo, en la siguiente tabla, se describen problemas con posibles etiquetas de proxy para Recomendar videos útiles:

Etiqueta de proxy Problema
Predecir si el usuario hará clic en el botón "Me gusta". La mayoría de los usuarios nunca hacen clic en "me gusta".
Predecir si un video será popular No personalizado. Es posible que a algunos usuarios no les gusten los videos populares.
Predice si el usuario compartirá el video. Algunos usuarios no comparten videos. A veces, las personas comparten videos porque no les gustan.
Predecir si el usuario hará clic en el botón de reproducción Maximiza los ciberanzuelos.
Predecir cuánto tiempo mirarán el video Prioriza los videos largos por sobre los cortos.
Predecir cuántas veces el usuario volverá a mirar el video. Prioriza los videos que se pueden volver a mirar por sobre los géneros que no se pueden volver a mirar.

Ninguna etiqueta de proxy puede ser el sustituto perfecto de tu resultado ideal. Todos tendrán problemas potenciales. Elige la que tenga menos problemas para tu caso de uso.

Comprueba tu comprensión

Una empresa quiere usar el AA en su app de salud y bienestar para ayudar a las personas a sentirse mejor. ¿Crees que necesitarán usar etiquetas de proxy para lograr sus objetivos?
Sí, la empresa deberá encontrar etiquetas de proxy. Categorías como felicidad y bienestar no se pueden medir directamente. En cambio, deben aproximarse en relación con alguna otra función, como las horas que se ejercitaron a la semana, el tiempo dedicado a realizar pasatiempos o con amigos.
No, la empresa no necesitará usar etiquetas de proxy. La felicidad y el bienestar se pueden medir directamente.

Generación

En la mayoría de los casos, no entrenarás tu propio modelo generativo porque para hacerlo se necesitan grandes cantidades de datos de entrenamiento y recursos de procesamiento. En su lugar, personalizarás un modelo generativo previamente entrenado. Para obtener un modelo generativo que produzca el resultado deseado, es posible que debas usar una o más de las siguientes técnicas:

  • Destilación. A fin de crear una versión más pequeña de un modelo más grande, debes generar un conjunto de datos sintéticos etiquetados a partir del modelo más grande que usas para entrenar el modelo más pequeño. Los modelos generativos suelen ser gigantes y consumen recursos sustanciales (como memoria y electricidad). La destilación permite que el modelo más pequeño y que requiera menos recursos se aproxime al rendimiento del modelo más grande.

  • Ajuste o ajuste eficiente de los parámetros Para mejorar el rendimiento de un modelo en una tarea específica, debes entrenarlo aún más con un conjunto de datos que contenga ejemplos del tipo de salida que deseas producir.

  • Ingeniería de indicaciones: Para que el modelo realice una tarea específica o produzca un resultado en un formato específico, indícale la tarea que quieres que realice o explica cómo quieres que se formatea el resultado. En otras palabras, el mensaje puede incluir instrucciones en lenguaje natural sobre cómo realizar la tarea o ejemplos ilustrativos con los resultados deseados.

    Por ejemplo, si deseas resúmenes breves de artículos, puedes ingresar lo siguiente:

    Produce 100-word summaries for each article.
    

    Si quieres que el modelo genere texto para un nivel de lectura específico, puedes ingresar lo siguiente:

    All the output should be at a reading level for a 12-year-old.
    

    Si quieres que el modelo proporcione su resultado en un formato específico, puedes explicar cómo se debe formatear el resultado (por ejemplo, “dar formato a los resultados en una tabla”) o puedes demostrar la tarea dándole ejemplos. Por ejemplo, puedes ingresar lo siguiente:

    Translate words from English to Spanish.
    
    English: Car
    Spanish: Auto
    
    English: Airplane
    Spanish: Avión
    
    English: Home
    Spanish:______
    

La destilación y el ajuste actualizan los parámetros del modelo. La ingeniería de mensajes no actualiza los parámetros del modelo. En cambio, la ingeniería de indicaciones ayuda al modelo a aprender a producir un resultado deseado a partir del contexto de la indicación.

En algunos casos, también necesitarás un conjunto de datos de prueba para evaluar la salida de un modelo generativo frente a valores conocidos, por ejemplo, verificar que los resúmenes del modelo sean similares a los generados por humanos o que los humanos califiquen los resúmenes del modelo como buenos.

La IA generativa también se puede usar para implementar una solución de AA predictivo, como clasificación o regresión. Por ejemplo, debido a su profundo conocimiento del lenguaje natural, los modelos de lenguaje extenso (LLM) con frecuencia pueden realizar tareas de clasificación de texto mejor que el AA predictivo que se entrena para la tarea específica.

Defina las métricas de éxito

Define las métricas que usarás para determinar si la implementación del AA es exitosa o no. Las métricas de éxito definen lo que te interesa, como la participación o ayudar a los usuarios a realizar una acción adecuada, como mirar videos que les pusieron útiles. Las métricas de éxito difieren de las métricas de evaluación del modelo, como la exactitud, la precisión, la recuperación o el AUC.

Por ejemplo, las métricas de éxito y fracaso de la app meteorológica podrían definirse de la siguiente manera:

Listo Los usuarios abren la función "¿Lloverá?" con un 50% más de frecuencia que antes.
Falla Los usuarios abren la función “¿lloverá?” no más a menudo que antes.

Las métricas de la app de video se podrían definir de la siguiente manera:

Listo En promedio, los usuarios pasan un 20% más de tiempo en el sitio.
Falla En promedio, los usuarios no pasan más tiempo que antes en el sitio.

Recomendamos definir métricas de éxito ambiciosas. Sin embargo, las grandes ambiciones pueden generar brechas entre el éxito y el fracaso. Por ejemplo, que los usuarios pasen, en promedio, un 10% más de tiempo en el sitio que antes no es un éxito ni un fracaso. La brecha no definida no es lo importante.

Lo importante es la capacidad de tu modelo para acercarse (o superar) la definición de éxito. Por ejemplo, cuando analices el rendimiento del modelo, considera la siguiente pregunta: ¿Mejorar el modelo te acercaría más a los criterios de éxito definidos? Por ejemplo, un modelo podría tener excelentes métricas de evaluación, pero no te acercaría a tus criterios de éxito, lo que indica que incluso con un modelo perfecto, no cumplirías con los criterios de éxito que definiste. Por otro lado, un modelo puede tener métricas de evaluación deficientes, pero te acercan a tus criterios de éxito, lo que indica que mejorar el modelo te acercaría al éxito.

Las siguientes son dimensiones que se deben tener en cuenta cuando se determina si vale la pena mejorar el modelo:

  • No es lo suficientemente bueno, pero debes continuar. El modelo no debe usarse en un entorno de producción, pero, con el tiempo, podría mejorarse significativamente.

  • Suficientemente bueno y continuar. El modelo se puede usar en un entorno de producción y se podría mejorar aún más.

  • Suficientemente bueno, pero no se puede mejorar. El modelo está en un entorno de producción, pero es probable que sea lo mejor posible.

  • No es lo suficientemente bueno y nunca lo será. El modelo no debe usarse en un entorno de producción y es probable que ninguna cantidad de entrenamiento lo logre allí.

Cuando decidas mejorar el modelo, vuelve a evaluar si el aumento de los recursos, como el tiempo de ingeniería y los costos de procesamiento, justifica la mejora prevista del modelo.

Después de definir las métricas de éxito y de fracaso, debes determinar con qué frecuencia las medirás. Por ejemplo, puedes medir tus métricas de éxito seis días, seis semanas o seis meses después de implementar el sistema.

Cuando analices las métricas de fallas, intenta determinar por qué falló el sistema. Por ejemplo, el modelo podría predecir en qué videos harán clic los usuarios, pero podría comenzar a recomendar títulos de ciberanzuelos que hagan que la participación de los usuarios disminuya. En el ejemplo de la app del clima, el modelo podría predecir con precisión cuándo lloverá, pero en una región geográfica demasiado grande.

Comprueba tu comprensión

Una empresa de moda quiere vender más ropa. Alguien sugiere usar AA para determinar qué ropa debe fabricar la empresa. Piensa que puede entrenar un modelo para determinar qué tipo de ropa está de moda. Después de entrenar el modelo, quiere aplicarlo a su catálogo para decidir qué ropa hacer.

¿Cómo debería enmarcar su problema en términos de AA?

Resultado ideal: Determina qué productos fabricar.

Objetivo del modelo: Predecir qué artículos de ropa estarán de moda.

Salida del modelo: clasificación binaria, in_fashion, not_in_fashion

Métricas de éxito: Vende el setenta por ciento o más de la ropa que se confeccionó.

Resultado ideal: Determina la cantidad de tela y suministros que quieres pedir.

Objetivo del modelo: Predecir qué cantidad de cada artículo se fabricará.

Salida del modelo: clasificación binaria, make, do_not_make

Métricas de éxito: Vende el setenta por ciento o más de la ropa que se confeccionó.

El resultado ideal no es determinar la cantidad de tela y suministros que se deben pedir. Sirve para determinar si se debe fabricar un artículo. Por lo tanto, el objetivo del modelo aborda el objetivo incorrecto.