Viabilidad

Durante la fase de ideación y planificación, investigas los elementos de una solución de AA. Durante la tarea de enmarcado del problema, se plantea un problema en términos de una solución de AA. El curso Introducción al enmarcado de problemas del aprendizaje automático abarca esos pasos en detalle. Durante la tarea de planificación, estimas la viabilidad de una solución, planificas los enfoques y estableces métricas de éxito.

Si bien el AA puede ser una solución teóricamente buena, aún debes estimar su viabilidad en el mundo real. Por ejemplo, una solución puede funcionar técnicamente, pero no ser práctica o imposible de implementar. Los siguientes factores influyen en la viabilidad de un proyecto:

  • Disponibilidad de los datos
  • Dificultad del problema
  • Calidad de las predicciones
  • Requisitos técnicos
  • Costo

Disponibilidad de los datos

La calidad de los modelos del AA depende de los datos con los que se entrenan. Necesitan muchos datos de alta calidad para hacer predicciones de alta calidad. Abordar las siguientes preguntas puede ayudarte a juzgar si tienes los datos necesarios para entrenar un modelo:

  • Cantidad. ¿Puedes obtener suficientes datos de alta calidad para entrenar un modelo? ¿Los ejemplos etiquetados son escasos, difíciles de obtener o demasiado costosos? Por ejemplo, obtener imágenes médicas etiquetadas o traducciones de idiomas poco frecuentes es notablemente difícil. Para realizar buenas predicciones, los modelos de clasificación requieren numerosos ejemplos para cada etiqueta. Si el conjunto de datos de entrenamiento contiene ejemplos limitados para algunas etiquetas, el modelo no puede realizar buenas predicciones.

  • Disponibilidad de funciones al momento de la publicación. ¿Todas las funciones que se usan en el entrenamiento estarán disponibles en el momento de la entrega? Los equipos dedicaron una cantidad considerable de tiempo al entrenamiento de modelos y solo se dieron cuenta de que algunos atributos no estuvieron disponibles hasta días después de que el modelo los requiriera.

    Por ejemplo, supongamos que un modelo predice si un cliente hará clic en una URL y uno de los atributos usados en el entrenamiento incluye user_age. Sin embargo, cuando el modelo entrega una predicción, user_age no está disponible, quizás porque el usuario aún no creó una cuenta.

  • Reglamentaciones. ¿Cuáles son las regulaciones y los requisitos legales para adquirir y usar los datos? Por ejemplo, algunos requisitos establecen límites para almacenar y usar ciertos tipos de datos.

IA generativa

Los modelos de IA generativa previamente entrenados suelen requerir conjuntos de datos seleccionados para destacarse en tareas específicas del dominio. Es posible que necesites conjuntos de datos para los siguientes casos prácticos:

  • Ingeniería de instrucciones, ajuste eficiente de parámetros y ajuste. Según el caso de uso, es posible que necesites entre 10 y 10,000 ejemplos de alta calidad para definir mejor la salida de un modelo. Por ejemplo, si es necesario ajustar un modelo para destacarse en una tarea en particular, como responder preguntas médicas, necesitarás un conjunto de datos de alta calidad que represente los tipos de preguntas y las respuestas a las que se le harán.

    En la siguiente tabla, se proporcionan estimaciones de la cantidad de ejemplos necesarios para definir mejor el resultado de un modelo de IA generativa para una técnica determinada:

  • Técnica Cantidad de ejemplos obligatorios
    Instrucciones sin ejemplo 0
    Instrucciones con ejemplos limitados Entre 10 s y 100 s
    Ajuste eficiente de parámetros1 Entre 100 y 10,000 s
    Ajuste Entre 1,000 y 10,000 s (o más)
    1 Adaptación de bajo rango (LoRA) y ajuste de instrucciones.
  • Información actualizada. Una vez entrenados previamente, los modelos de IA generativa tienen una base de conocimiento fija. Si el contenido del dominio del modelo cambia con frecuencia, necesitarás una estrategia para mantener el modelo actualizado, por ejemplo:

Dificultad del problema

La dificultad de un problema puede ser difícil de estimar. Lo que en un principio parece ser un enfoque creíble podría resultar en realidad una pregunta de investigación abierta; lo que parece práctico y factible puede resultar poco realista o inviable. Responder las siguientes preguntas puede ayudarte a medir la dificultad de un problema:

  • ¿Ya se resolvió un problema similar? Por ejemplo, ¿los equipos de tu organización usaron datos similares (o idénticos) para compilar modelos? ¿Personas o equipos ajenos a tu organización resolvieron problemas similares, por ejemplo, en Kaggle o TensorFlow Hub? Si es así, es probable que puedas usar partes de su modelo para crear el tuyo.

  • ¿Es difícil la naturaleza del problema? Conocer los puntos de referencia humanos para la tarea puede informar el nivel de dificultad del problema. Por ejemplo:

    • Los seres humanos pueden clasificar el tipo de animal en una imagen con una exactitud de alrededor del 95%.
    • Los seres humanos pueden clasificar los dígitos escritos a mano con una exactitud de alrededor del 99%.

    Los datos anteriores sugieren que crear un modelo para clasificar animales es más difícil que crear uno que clasifique dígitos escritos a mano.

  • ¿Existen posibles personas o entidades que actúan de mala fe? ¿Las personas intentarán explotar tu modelo de forma activa? Si es así, estarás en una carrera constante por actualizar el modelo antes de que se pueda usar de forma inadecuada. Por ejemplo, los filtros de spam no pueden detectar nuevos tipos de spam cuando alguien explota el modelo para crear correos electrónicos que parecen legítimos.

IA generativa

Los modelos de IA generativa tienen vulnerabilidades potenciales que pueden aumentar la dificultad de un problema:

  • Fuente de entrada. ¿De dónde provendrá la entrada? ¿Las instrucciones adversarias pueden filtrar datos de entrenamiento, material del preámbulo, contenido de la base de datos o información de la herramienta?
  • Uso de salida. ¿Cómo se usarán los resultados? ¿El modelo generará contenido sin procesar o habrá pasos intermedios para probar y verificar que es apropiado? Por ejemplo, proporcionar resultados sin procesar a los complementos puede causar varios problemas de seguridad.
  • Ajuste: El ajuste con un conjunto de datos dañado puede afectar de forma negativa los pesos del modelo. Este daño haría que el modelo generara contenido incorrecto, tóxico o sesgado. Como se mencionó antes, el ajuste requiere un conjunto de datos verificado para contener ejemplos de alta calidad.

Calidad de las predicciones

Deberás considerar con cuidado el impacto que las predicciones de un modelo tendrán en tus usuarios y determinar la calidad de predicción necesaria para el modelo.

La calidad de predicción requerida depende del tipo de predicción. Por ejemplo, la calidad de predicción requerida para un sistema de recomendación no será la misma en un modelo que marca incumplimientos de política. Recomendar el video incorrecto puede crear una mala experiencia del usuario. Sin embargo, marcar por error un video por incumplimiento de las políticas de una plataforma podría generar costos de asistencia o, lo que es peor, tarifas legales.

¿Tu modelo deberá tener una calidad de predicción muy alta porque las predicciones incorrectas son extremadamente costosas? En general, cuanto mejor sea la calidad de predicción requerida, más difícil es el problema. Lamentablemente, los proyectos suelen obtener retornos decrecientes a medida que intentas mejorar la calidad. Por ejemplo, aumentar la precisión de un modelo del 99.9% al 99.99% podría implicar un aumento de 10 veces en el costo del proyecto (si no más).

A medida que aumenta la calidad de la predicción, también lo hacen los costos del proyecto.

Figura 2. Por lo general, un proyecto de AA requiere más y más recursos a medida que aumenta la calidad de predicción requerida.

IA generativa

Cuando analices los resultados de la IA generativa, ten en cuenta lo siguiente:

  • Precisión fáctica. Aunque los modelos de IA generativa pueden producir contenido fluido y coherente, no se garantiza que el contenido sea fáctico. Las declaraciones falsas de los modelos de IA generativa se denominan confabulaciones. Por ejemplo, los modelos de IA generativa pueden confundir y producir resúmenes incorrectos de textos, respuestas incorrectas a preguntas matemáticas o afirmaciones falsas sobre el mundo. Muchos casos de uso aún requieren la verificación humana de los resultados de la IA generativa antes de usarse en un entorno de producción, como el código generado con un LLM.

    Al igual que con el AA tradicional, cuanto mayor sea el requisito de exactitud fáctica, mayor será el costo de desarrollo y mantenimiento.

  • Calidad de los resultados. ¿Cuáles son las consecuencias legales y financieras (o las implicaciones éticas) de los resultados incorrectos, como el contenido sesgado, plagiado o tóxico?

Requisitos técnicos

Los modelos tienen una serie de requisitos técnicos que afectan su viabilidad. Estos son los requisitos técnicos principales que deberás abordar para determinar la viabilidad de tu proyecto:

  • Latencia. ¿Cuáles son los requisitos de latencia? ¿Qué tan rápido se deben entregar las predicciones?
  • Consultas por segundo (QPS). ¿Cuáles son los requisitos de QPS?
  • Uso de RAM. ¿Cuáles son los requisitos de RAM para el entrenamiento y la entrega?
  • Plataforma. ¿Dónde se ejecutará el modelo: en línea (consultas enviadas al servidor RPC), WebML (dentro de un navegador web), ODML (en un teléfono o tablet) o sin conexión (predicciones guardadas en una tabla)?
  • Interpretabilidad. ¿Las predicciones deberán ser interpretables? Por ejemplo, ¿tu producto deberá responder preguntas como “¿Por qué un fragmento específico de contenido se marcó como spam?” o “¿Por qué un video infringió la política de la plataforma?”.

  • Frecuencia del reentrenamiento. Cuando los datos subyacentes de tu modelo cambian con rapidez, puede ser necesario realizar un reentrenamiento frecuente o continuo. Sin embargo, un reentrenamiento frecuente puede generar costos significativos que pueden superar los beneficios de actualizar las predicciones del modelo.

En la mayoría de los casos, es probable que debas sacrificar la calidad del modelo para cumplir con sus especificaciones técnicas. En esos casos, deberás determinar si aún puedes producir un modelo que sea lo suficientemente bueno como para pasar a producción.

IA generativa

Ten en cuenta los siguientes requisitos técnicos cuando trabajes con IA generativa:

  • Plataforma. Muchos modelos previamente entrenados vienen en una variedad de tamaños, lo que les permite trabajar en una variedad de plataformas con diferentes recursos de procesamiento. Por ejemplo, los modelos previamente entrenados pueden variar desde el escalamiento del centro de datos hasta la adaptación de un teléfono. Deberás considerar la latencia, la privacidad y las restricciones de calidad de tu producto o servicio cuando elijas un tamaño de modelo. A menudo, estas restricciones pueden entrar en conflicto. Por ejemplo, las restricciones de privacidad pueden requerir que las inferencias se ejecuten en el dispositivo de un usuario. Sin embargo, la calidad del resultado puede ser deficiente porque el dispositivo carece de los recursos de procesamiento para producir buenos resultados.
  • Latencia. El tamaño de entrada y salida del modelo afecta la latencia. En particular, el tamaño de la salida afecta la latencia más que el tamaño de la entrada. Si bien los modelos pueden paralelizar sus entradas, solo pueden generar salidas de forma secuencial. En otras palabras, la latencia puede ser la misma para transferir una entrada de 500 o 10 palabras, mientras que generar un resumen de 500 palabras lleva mucho más tiempo que generar un resumen de 10 palabras.
  • Uso de las herramientas y la API. ¿El modelo deberá usar herramientas y APIs, como buscar en Internet, usar una calculadora o acceder a un cliente de correo electrónico para completar una tarea? Por lo general, cuantas más herramientas se necesiten para completar una tarea, más probabilidades habrá de propagar errores y aumentar las vulnerabilidades del modelo.

Costo

¿Valerá la pena una implementación de AA sus costos? La mayoría de los proyectos de AA no se aprobarán si la solución de AA es más costosa de implementar y mantener que el dinero que genera (o ahorra). Los proyectos de AA incurren en costos humanos y de máquinas.

  • Costos humanos. ¿Cuántas personas necesitarán para que el proyecto pase de la prueba de concepto a la producción? Por lo general, los gastos aumentan a medida que los proyectos de AA evolucionan. Por ejemplo, los proyectos de AA requieren más personas a fin de implementar y mantener un sistema listo para la producción que crear un prototipo. Intenta estimar la cantidad y los tipos de funciones que necesitará el proyecto en cada fase.

  • Costos de las máquinas. Para entrenar, implementar y mantener modelos, se requiere mucha memoria y procesamiento. Por ejemplo, es posible que necesites una cuota de TPU para entrenar modelos y entregar predicciones, además de la infraestructura necesaria para tu canalización de datos. Es posible que debas pagar para etiquetar los datos o pagar tarifas de licencia de datos. Antes de entrenar un modelo, considera calcular los costos de la máquina para compilar y mantener los atributos de AA a largo plazo.

  • Costo de inferencia. ¿El modelo deberá hacer cientos o miles de inferencias que cuestan más que los ingresos generados?

Recuerda

El encuentro con problemas relacionados con cualquiera de los temas anteriores puede hacer que la implementación de una solución de AA sea un desafío, pero los plazos ajustados pueden amplificar los desafíos. Intenta planificar y presupuestar un tiempo suficiente en función de la dificultad percibida del problema y, luego, intenta reservar aún más tiempo de sobrecarga que el que tendrías en un proyecto que no sea de AA.