AI Engineering - Capítulos 1 y 2 - Resumen de Conceptos Clave
A continuación, se presenta un resumen detallado de los puntos principales del texto, respetando estrictamente la cronología y las secciones originales de la autora:
Prefacio
El libro ofrece un marco práctico para adaptar modelos fundacionales (LLMs y LMMs) a aplicaciones específicas para resolver problemas del mundo real. No es un tutorial de herramientas efímeras, sino una guía enfocada en los fundamentos perdurables de la ingeniería de Inteligencia Artificial (IA). Se diferencia de la ingeniería de Machine Learning (ML) tradicional porque se enfoca menos en el desarrollo de modelos desde cero y más en la ingeniería de prompts, construcción de contexto, finetuning eficiente y la evaluación de salidas abiertas.
Capítulo 1: Introducción a la construcción de aplicaciones de IA con modelos fundacionales
El auge de la ingeniería de IA
- De modelos de lenguaje a grandes modelos de lenguaje (LLMs): Los modelos procesan texto utilizando tokens (caracteres, palabras o fragmentos) para mantener vocabularios eficientes. Destacan los modelos autorregresivos, entrenados para predecir el siguiente token de forma abierta y generativa, superando en popularidad a los modelos enmascarados (como BERT) que solo rellenan huecos. El salto a LLMs se logró gracias al aprendizaje autosupervisado, donde el modelo infiere sus propias etiquetas a partir de secuencias de texto de internet, eliminando el cuello de botella de la costosa anotación humana y permitiendo escalar masivamente los parámetros.
- De LLMs a Modelos Fundacionales: La inclusión de múltiples modalidades (imágenes, video, audio) ha convertido a los LLMs en grandes modelos multimodales (LMMs) o modelos fundacionales. Estos son modelos de propósito general que, sin entrenamiento adicional, pueden realizar múltiples tareas (traducción, análisis de sentimientos, etc.) y pueden adaptarse mediante técnicas como prompt engineering, RAG (Generación Aumentada por Recuperación) y finetuning.
- De Modelos Fundacionales a Ingeniería de IA: La disciplina ha crecido rápidamente gracias a tres factores: 1) Capacidades generalistas que habilitan nuevos casos de uso, 2) Inversiones masivas corporativas, y 3) Una barrera de entrada muy baja mediante modelos como servicio (APIs) que permiten construir aplicaciones sin conocimiento previo en ML.
Casos de uso de modelos fundacionales
La IA expone y automatiza tareas en diversas categorías:
- Programación: Generación de código, traducción entre lenguajes y refactorización.
- Producción de imágenes y video: Tareas creativas, edición fotográfica y generación de anuncios de marketing.
- Escritura: Corrección, redacción de correos, blogs y optimización SEO.
- Educación: Personalización de planes de estudio y tutorías interactivas.
- Bots conversacionales: Soporte al cliente, asistentes de voz y compañeros digitales (NPCs en juegos).
- Agregación de información y organización de datos: Resúmenes de documentos largos y extracción de información estructurada de fuentes no estructuradas (ej. PDFs).
- Automatización de flujos de trabajo: Agentes capaces de planificar tareas y utilizar herramientas externas.
Planificación de aplicaciones de IA
- Evaluación del caso de uso: Se debe justificar si la IA es una respuesta a riesgos existenciales frente a la competencia o una oportunidad de eficiencia. El diseño depende de si la IA será crítica o complementaria, reactiva o proactiva, y de la necesidad de un modelo dinámico o estático, así como el grado de intervención humana (human-in-the-loop).
- Defensibilidad del producto: Dado que la barrera tecnológica es baja, la ventaja competitiva se traslada a la distribución y a los datos exclusivos de los usuarios.
- Expectativas, Hitos y Mantenimiento: Se deben establecer métricas de éxito (latencia, costo, calidad). Se alerta sobre el reto de la última milla: hacer una demo toma un fin de semana, pero un producto listo para producción requiere meses para lidiar con casos extremos y alucinaciones. El mantenimiento exige adaptación rápida debido a los cambios de precios en APIs, depreciaciones de modelos y regulaciones gubernamentales.
El Stack de la Ingeniería de IA
Se divide en tres capas:
- Desarrollo de aplicaciones: Incluye la interfaz de usuario, ingeniería de prompts, recuperación de contexto y evaluaciones exhaustivas.
- Desarrollo de modelos: Formado por la arquitectura del modelo, ingeniería de conjuntos de datos y optimización de inferencia.
- Infraestructura: Gestión de cómputo, serving y monitorización. A diferencia del ML tradicional, la ingeniería de IA se centra más en la adaptación que en la creación de modelos desde cero. Exige manejar infraestructuras computacionales intensivas (como clústeres de GPUs) y lidiar con el complejo desafío de evaluar salidas de texto abiertas en lugar de clasificaciones cerradas.
Capítulo 2: Comprendiendo los Modelos Fundacionales
Datos de Entrenamiento
Un modelo está intrínsecamente limitado por sus datos (típicamente de repositorios como Common Crawl).
- Modelos multilingües: El internet está dominado por el inglés (aprox. 46% de Common Crawl), lo que provoca que los modelos rindan drásticamente peor y cuesten más (por una tokenización ineficiente) en lenguajes subrepresentados.
- Modelos específicos de dominio: Para tareas que no están en internet (ej. secuenciación de ADN, imágenes médicas confidenciales), se requiere crear conjuntos de datos privados y entrenar modelos especializados, como AlphaFold para proteínas.
Modelado
- Arquitectura del modelo: La arquitectura Transformer domina la industria frente a su predecesor (seq2seq RNN) al resolver el cuello de botella del procesamiento secuencial mediante el mecanismo de atención, que permite al modelo procesar tokens en paralelo y pesar la importancia de todos los tokens previos utilizando matrices Query, Key y Value. Existen arquitecturas alternativas prometedoras, como State Space Models (SSMs) (ej. Mamba, Jamba), orientadas a ser más eficientes en secuencias extremadamente largas.
- Tamaño del modelo y leyes de escalado: Se mide a través del número de parámetros, el número de tokens de entrenamiento y los FLOPs (operaciones de punto flotante). Según la ley de escalado de Chinchilla, para un presupuesto de cómputo óptimo, el número de tokens de entrenamiento debe ser aproximadamente 20 veces el número de parámetros del modelo.
- Cuellos de botella del escalado: El escalado continuo se enfrenta a la inminente escasez de datos generados por humanos en internet y a las severas limitaciones de suministro eléctrico global. Además, entrenar modelos futuros con datos previamente generados por IA corre el riesgo de degradar su rendimiento.
Post-Entrenamiento
Corrige los comportamientos rudos e inadecuados de un modelo pre-entrenado únicamente para “autocompletar”. Consta típicamente de dos pasos:
- Finetuning Supervisado (SFT): Clona comportamientos deseados usando datos de demostración de alta calidad creados por humanos para enseñarle al modelo a entablar un diálogo o responder instrucciones adecuadamente.
- Finetuning de Preferencias (ej. RLHF): Alinea el modelo con los valores humanos usando aprendizaje por refuerzo. Primero, se entrena un “modelo de recompensa” comparando diferentes respuestas. Posteriormente, se optimiza el LLM (usando PPO) para generar las salidas que maximicen la puntuación del modelo de recompensa.
Muestreo (Sampling)
El modelo no siempre elige el token más probable de manera predecible; calcula una distribución de probabilidades (logits convertidos con la función softmax) y luego extrae una muestra. Esto le otorga su naturaleza probabilística.
- Estrategias de Muestreo:
- Temperatura: Ajusta la creatividad. Alta temperatura aplana la distribución (favoreciendo opciones menos probables y aumentando la creatividad); temperatura cero hace que el modelo elija estrictamente el logit más alto (determinismo).
- Top-k y Top-p (Núcleo): Reducen el cálculo y aumentan la relevancia acotando las opciones de muestreo a los ‘k’ tokens con mayor puntuación, o aquellos cuya probabilidad acumulada alcanza el valor ‘p’, respectivamente.
- Test Time Compute: Mejora la calidad permitiendo al modelo generar múltiples respuestas ante un mismo prompt y eligiendo la mejor (basado en la probabilidad del logprob o usando un verificador independiente).
- Salidas Estructuradas: Garantizar que la salida del modelo sea analizable por un sistema informático (ej. formato JSON, SQL). Se logra mediante prompts, post-procesamiento simple, muestreo restringido a una gramática específica, o finetuning dedicado.
- Naturaleza probabilística (Inconsistencia y Alucinaciones): El muestreo explica la inconsistencia (dar respuestas distintas al mismo prompt). Las alucinaciones (hechos falsos) ocurren por el “autoengaño”, donde el modelo no distingue entre hechos de la base de datos y texto que él mismo acaba de autogenerar (amplificando errores previos o “snowballing”), o debido a un desajuste entre el conocimiento interno del modelo y el anotador humano que lo entrenó.