Viabilidad

Durante la fase de ideación y planificación, investigas los elementos de una solución de AA. Durante la tarea de definición del problema, se plantea un problema en términos de una solución de AA. El curso Introduction to Machine Learning Problem Framing abarca esos pasos en detalle. Durante la tarea de planificación, se estima la viabilidad de una solución, se planifican los enfoques y se establecen las métricas de éxito.

Si bien el AA puede ser una buena solución teórica, aún debes estimar su viabilidad en el mundo real. Por ejemplo, una solución podría funcionar técnicamente, pero ser poco 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 la predicción
  • Requisitos técnicos
  • Costo

Disponibilidad de los datos

Los modelos de AA son tan buenos como los datos con los que se entrenan. Necesitan muchos datos de alta calidad para realizar predicciones de alta calidad. Responder las siguientes preguntas puede ayudarte a determinar 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 comunes es notoriamente difícil. Para hacer buenas predicciones, los modelos de clasificación requieren numerosos ejemplos para cada etiqueta. Si el conjunto de datos de entrenamiento contiene pocos ejemplos para algunas etiquetas, el modelo no podrá realizar predicciones adecuadas.

  • Disponibilidad de la función en el momento de la entrega. ¿Todas las funciones que se usan en el entrenamiento estarán disponibles en el momento de la publicación? Los equipos dedicaron una cantidad considerable de tiempo a entrenar modelos solo para darse cuenta de que algunas funciones no estuvieron disponibles hasta días después de que el modelo las necesitara.

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

  • Reglamentaciones. ¿Cuáles son las reglamentaciones 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 sobresalir en tareas específicas del dominio. Es posible que necesites conjuntos de datos para los siguientes casos de uso:

  • Ingeniería de instrucciones, ajuste eficiente de parámetros y ajuste fino. Según el caso de uso, es posible que necesites entre 10 y 10,000 ejemplos de alta calidad para definir mejor el resultado de un modelo. Por ejemplo, si un modelo necesita un ajuste para sobresalir en una tarea en particular, como responder preguntas médicas, necesitarás un conjunto de datos de alta calidad que sea representativo de los tipos de preguntas que se le harán junto con los tipos de respuestas que debería dar.

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

  • Técnica Cantidad de ejemplos requeridos
    Instrucción sin ejemplos 0
    Instrucción con ejemplos limitados De 10 a 100 s
    Ajuste eficiente de parámetros 1 Cientos a decenas de miles
    Ajuste De 1,000 a 10,000 (o más)
    1 Adaptación de bajo rango (LoRA) y ajuste de instrucciones.
  • Información actualizada. Una vez que se entrenan 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, como las siguientes:

Dificultad del problema

Puede ser difícil estimar la dificultad de un problema. Lo que en un principio parece ser un enfoque plausible podría resultar ser una pregunta de investigación abierta, y lo que parece práctico y factible podría resultar poco realista o inviable. Responder las siguientes preguntas puede ayudarte a evaluar 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? ¿Hay personas o equipos fuera de tu organización que hayan resuelto 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.

  • ¿La naturaleza del problema es difícil? Conocer las comparativas humanas para la tarea puede informar el nivel de dificultad del problema. Por ejemplo:

    • Los humanos pueden clasificar el tipo de animal en una imagen con una precisión de aproximadamente el 95%.
    • Los humanos pueden clasificar dígitos escritos a mano con una precisión de aproximadamente el 99%.

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

  • ¿Hay posibles actores maliciosos? ¿Las personas intentarán activamente aprovecharse de tu modelo? Si es así, estarás en una carrera constante para 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án los datos de entrada? ¿Las instrucciones adversarias pueden filtrar datos de entrenamiento, material de preámbulo, contenido de la base de datos o información de herramientas?
  • Uso de la salida: ¿Cómo se usarán los resultados? ¿El modelo generará contenido sin procesar o habrá pasos intermedios para probar y verificar si es adecuado? 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 negativamente los pesos del modelo. Esta corrupción haría que el modelo generara contenido incorrecto, tóxico o sesgado. Como se mencionó anteriormente, la adaptación requiere un conjunto de datos que se haya verificado para que contenga ejemplos de alta calidad.

Calidad de la predicción

Deberás considerar cuidadosamente el impacto que tendrán las predicciones de un modelo 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 que para un modelo que marque incumplimientos de política. Recomendar el video incorrecto puede generar una mala experiencia del usuario. Sin embargo, marcar erróneamente un video como infractor de las políticas de una plataforma puede generar costos de asistencia o, peor aún, honorarios legales.

¿Tu modelo necesitará tener una calidad de predicción muy alta porque las predicciones incorrectas son extremadamente costosas? En general, cuanto mayor sea la calidad de predicción requerida, más difícil será el problema. Lamentablemente, los proyectos suelen alcanzar rendimientos 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 significar 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 cada vez más recursos a medida que aumenta la calidad de predicción requerida.

IA generativa

Cuando analices el resultado de la IA generativa, ten en cuenta lo siguiente:

  • Precisión fáctica: Si bien los modelos de IA generativa pueden producir contenido fluido y coherente, no se garantiza que sea fáctico. Las afirmaciones falsas de los modelos de IA generativa se denominan confabulaciones. Por ejemplo, los modelos de IA generativa pueden confabular y producir resúmenes incorrectos de texto, respuestas erróneas a preguntas de matemáticas o afirmaciones falsas sobre el mundo. Muchos casos de uso aún requieren la verificación humana del resultado de la IA generativa antes de usarse en un entorno de producción, por ejemplo, el código generado por LLM.

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

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

Requisitos técnicos

Los modelos tienen varios requisitos técnicos que afectan su viabilidad. Estos son los principales requisitos técnicos 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 una 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é se marcó un contenido específico como spam?" o "¿Por qué se determinó que un video infringe la política de la plataforma?".

  • Frecuencia de reentrenamiento Cuando los datos subyacentes de tu modelo cambian rápidamente, es posible que sea necesario un reentrenamiento frecuente o continuo. Sin embargo, el reentrenamiento frecuente puede generar costos significativos que pueden superar los beneficios de actualizar las predicciones del modelo.

En la mayoría de los casos, probablemente tendrás que sacrificar la calidad de un modelo para cumplir con sus especificaciones técnicas. En esos casos, deberás determinar si aún puedes producir un modelo lo suficientemente bueno para la 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 funcionar en una variedad de plataformas con diferentes recursos de procesamiento. Por ejemplo, los modelos previamente entrenados pueden variar desde la escala de un centro de datos hasta caber en un teléfono. Deberás tener en cuenta las restricciones de latencia, privacidad y calidad de tu producto o servicio cuando elijas el tamaño del modelo. Estas restricciones suelen 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 podría ser baja porque el dispositivo no tiene los recursos de procesamiento necesarios para producir buenos resultados.
  • Latencia. El tamaño de entrada y salida del modelo afecta la latencia. En particular, el tamaño de salida afecta la latencia más que el tamaño de entrada. Si bien los modelos pueden paralelizar sus entradas, solo pueden generar salidas de forma secuencial. En otras palabras, la latencia podría ser la misma para incorporar una entrada de 500 palabras o de 10 palabras, mientras que generar un resumen de 500 palabras lleva mucho más tiempo que generar un resumen de 10 palabras.
  • Uso de la herramienta 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 posibilidades habrá de propagar errores y aumentar las vulnerabilidades del modelo.

Costo

¿Valdrá la pena el costo de una implementación de AA? 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 generan costos tanto humanos como de máquinas.

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

  • Costos de las máquinas El entrenamiento, la implementación y el mantenimiento de modelos requieren muchos recursos de procesamiento y memoria. Por ejemplo, es posible que necesites una cuota de TPU para entrenar modelos y publicar predicciones, además de la infraestructura necesaria para tu canalización de datos. Es posible que debas pagar para obtener datos etiquetados o pagar tarifas de licencias de datos. Antes de entrenar un modelo, considera estimar los costos de la máquina para crear y mantener las funciones de AA a largo plazo.

  • Costo de inferencia: ¿El modelo deberá realizar cientos o miles de inferencias que cuesten más que los ingresos generados?

Recuerde

Los problemas relacionados con cualquiera de los temas anteriores pueden dificultar la implementación de una solución de AA, pero los plazos ajustados pueden amplificar los desafíos. Intenta planificar y presupuestar suficiente tiempo en función de la dificultad percibida del problema y, luego, intenta reservar incluso más tiempo de lo que podrías hacer para un proyecto que no sea de AA.

Comprueba tu comprensión

Trabajas para una empresa de conservación de la naturaleza y administras el software de identificación de plantas de la empresa. Deseas crear un modelo para clasificar 60 tipos de especies de plantas invasoras y ayudar a los conservacionistas a administrar los hábitats de los animales en peligro de extinción.

Encontraste un código de muestra que resuelve un problema similar de identificación de plantas, y los costos estimados para implementar tu solución están dentro del presupuesto del proyecto. Si bien el conjunto de datos tiene muchos ejemplos de entrenamiento, solo tiene unos pocos para las cinco especies más invasivas. El liderazgo no exige que las predicciones del modelo sean interpretables, y no parece haber consecuencias negativas relacionadas con las predicciones incorrectas. ¿Tu solución de AA es factible?

No.
Correcto. Si bien se cumplen la mayoría de los criterios de factibilidad, probablemente no haya suficientes ejemplos de cada especie para entrenar un modelo lo suficientemente bien como para hacer buenas predicciones.
Sí.
Si bien se cumplen la mayoría de los criterios de factibilidad, no hay suficientes ejemplos de cada especie para entrenar un modelo lo suficientemente bien como para hacer buenas predicciones.