- Es un resumen para lectores que quieren seguir rápidamente el video de 3 horas y 31 minutos de Andrej Karpathy sobre LLM en profundidad y entender de una vez cómo funcionan, la terminología de fine-tuning, los prompts, las alucinaciones y DeepSeek-R1
- Los LLM se entrenan tomando grandes volúmenes de texto web depurado y tokenizado, para predecir el siguiente token dentro de una ventana de contexto; los contextos largos reflejan más información, pero aumentan el costo computacional
- Un base model preentrenado se parece más a un autocompletador probabilístico que continúa texto con estilo de internet; para convertirse en un asistente conversacional necesita post-entrenamiento como SFT y alineación
- Para reducir alucinaciones, el modelo debe rechazar preguntas que no sabe responder o consultar información reciente mediante uso de herramientas o RAG; en problemas de matemáticas y lógica, la generación paso a paso y las herramientas externas encajan mejor
- El aprendizaje por refuerzo permite que el modelo pruebe varias respuestas y aprenda de las soluciones exitosas, pero en RLHF el modelo de recompensa es una aproximación de las preferencias humanas, por lo que persisten riesgos de sobreoptimización y explotación del modelo de recompensa
A quién va dirigido este resumen
- "Deep dive into LLMs like ChatGPT", de Andrej Karpathy, es un video de 3 horas y 31 minutos; este es un TL;DR para lectores que quieren obtener lo esencial sin invertir tanto tiempo viéndolo
- Está pensado especialmente para quienes:
- quieren saber cómo funciona realmente un LLM, no solo de manera superficial
- quieren entender términos de fine-tuning como
chat_template y ChatML
- quieren mejorar su prompt engineering entendiendo por qué los prompts funcionan bien o fallan
- quieren reducir las alucinaciones de los LLM
- quieren entender por qué DeepSeek-R1 está llamando la atención
- Los diagramas de Excalidraw usados en el video pueden descargarse desde este enlace de descarga, alojado por separado en un CDN
Datos de preentrenamiento y tokenización
- Los LLM crean datasets de texto a gran escala rastreando internet, pero los datos originales contienen mucho contenido duplicado, texto de baja calidad e información irrelevante, por lo que requieren un filtrado intenso antes del entrenamiento
- Si se crea un modelo solo para inglés, se necesitan heurísticas que conserven únicamente textos con alta probabilidad de estar en inglés
- FineWeb, un dataset de ejemplo, contiene más de 1,200 millones de páginas web
- El texto depurado no entra al modelo tal como está, sino que se convierte en tokens, IDs que representan patrones repetidos
- Una técnica representativa es Byte Pair Encoding (BPE)
- GPT-4 usa 100,277 tokens, y la cantidad de tokens depende de la decisión de quienes crean el modelo
- El proceso de tokenización puede visualizarse con Tiktokenizer
Entradas, salidas y funcionamiento interno de una red neuronal
- Los datos tokenizados se ingresan en una red neuronal, y el modelo predice el siguiente token dentro de una ventana de contexto definida
- Algunos modelos usan 8,000 tokens; GPT-4 usa hasta 128k de contexto
- El modelo predice el siguiente token con base en patrones aprendidos y ajusta sus pesos mediante backpropagation para reducir errores
- Una ventana de contexto más larga permite reflejar más contenido de la entrada, pero aumenta el costo computacional
- Dentro del modelo, miles de millones de parámetros interactúan con los tokens de entrada para generar una distribución de probabilidad del siguiente token
- Este proceso se define mediante ecuaciones matemáticas complejas optimizadas para eficiencia
- La arquitectura está diseñada para equilibrar velocidad, precisión y paralelización
- Un ejemplo de arquitectura LLM de nivel producción puede verse en bbycroft.net/llm
- Los resultados de inferencia de un LLM no son deterministas, sino probabilísticos
- Aunque se ejecute el mismo modelo, la salida varía ligeramente
- En la mayoría de los casos genera texto nuevo siguiendo patrones similares a los datos de entrenamiento, pero a veces puede coincidir exactamente con partes de esos datos
- Esta aleatoriedad es una fuente de resultados creativos, pero también puede llevar a alucinaciones, es decir, información falsa inventada
GPT-2 y la evolución del costo de entrenamiento
- GPT-2, publicado por OpenAI en 2019, es un ejemplo temprano de LLM basado en Transformer
-
1,600 millones de parámetros
-
Longitud de contexto de 1024 tokens
- Entrenado con unos 100,000 millones de tokens
- El costo original de entrenamiento fue de 40,000 dólares
- Desde entonces, la eficiencia mejoró mucho
- Andrej Karpathy reprodujo GPT-2 por 672 dólares usando llm.c
- Con pipelines optimizados, el costo de entrenamiento puede bajar aún más, hasta alrededor de 100 dólares
- La reducción de costos proviene de datos más limpios y mejores entornos de ejecución
- Gracias a mejores técnicas de extracción de datos de preentrenamiento, los datasets se depuran y el modelo aprende más rápido
- Hardware más potente y software optimizado reducen el cómputo necesario para obtener el mismo resultado
Open base model y limitaciones de los base models
- Aquí, open base model no significa un modelo que siga estrictamente la definición de IA open source de la OSI, sino un modelo cuyos pesos son públicos, aunque los datos de entrenamiento y la reproducibilidad completa pueden no estar disponibles
- GPT-2, de OpenAI, es un modelo open-weight y source-available, pero no es completamente open source según la definición de la OSI porque sus datos de entrenamiento no son públicos
- Llama 3.1 405B, de Meta, es un modelo open-weight, pero no open source
- Un base model es un modelo de lenguaje bruto preentrenado y, para ser útil en la práctica, necesita fine-tuning o alineación
- Está entrenado con datos no filtrados a escala de internet y genera continuaciones de texto en bruto
- Carece de suficiente alineación con la intención humana
- Para publicar un base model normalmente se necesitan dos cosas
- Las características de comportamiento de un base model son las siguientes
- Genera texto con estilo de internet a nivel de tokens
- Su salida cambia ligeramente en cada ejecución
- Puede reproducir literalmente partes de los datos de entrenamiento
- Sus parámetros pueden verse como un archivo zip con compresión con pérdida del conocimiento de internet
- Puede usarse para traducción con ejemplos in-context o como asistente básico basado en prompts estructurados
- Se puede experimentar directamente con el base model Llama 3 405B; en esencia, un base model se parece a un autocompletador caro
Del preentrenamiento al post-entrenamiento
- Un base model no es más que un generador de texto preentrenado; para crear un asistente real hace falta post-entrenamiento
- Puede generar texto, pero no siempre produce respuestas útiles y también tiene muchas alucinaciones
- El post-entrenamiento es el proceso de aplicar fine-tuning para que el modelo responda mejor
- El preentrenamiento puede tardar meses, pero el post-entrenamiento es mucho más barato y puede completarse en cuestión de horas
Fine-tuning supervisado y datos conversacionales
- Después del preentrenamiento, en lugar de datasets de internet, el modelo se post-entrena con datos de conversaciones humano/asistente para hacerlo más conversacional y útil
- El algoritmo del modelo se mantiene igual y se hace fine-tuning de los parámetros existentes
- Los primeros datasets de post-entrenamiento eran seleccionados manualmente por personas, pero modelos como UltraChat pueden generar conversaciones sintéticas
- Para enseñar la estructura de una conversación se usa un chat template
- Un template de ejemplo es el siguiente
<|im_start|>system<|im_sep|>You are a helpful assistant<|im_end|>
<|im_start|>user<|im_sep|>What is 4 + 4?<|im_end|>
<|im_start|>assistant<|im_sep|>4 + 4 = 8<|im_end|>
<|im_start|> y <|im_end|> son tokens especiales que ayudan a estructurar la conversación
- El modelo no vio estos tokens nuevos durante el preentrenamiento; se introducen en el post-entrenamiento
- El paper de InstructGPT, de OpenAI, trata sobre el fine-tuning de LLM conversacionales
- Como ejemplo de dataset de post-entrenamiento está OASST1, y los datasets sintéticos pueden visualizarse en Nomic Atlas
Alucinaciones, uso de herramientas y memoria
- Uno de los principales problemas de los LLM son las alucinaciones, en las que generan información incorrecta o inventada con confianza
- Durante el post-entrenamiento, el modelo puede aprender que siempre debe responder
- Aunque la pregunta no tenga sentido, intenta generar una respuesta en vez de decir “no sé”
- El paper de Llama 3, de Meta, usa el siguiente procedimiento para mejorar la factualidad
- Extraer una parte de los datos de entrenamiento
- Hacer que Llama 3 genere preguntas factuales sobre esos datos
- Hacer que Llama 3 genere respuestas
- Calificar las respuestas comparándolas con los datos originales
- Si se equivoca, entrenar al modelo para reconocer la respuesta incorrecta y rechazarla
- Una forma de reducir alucinaciones es entrenar al modelo para que use herramientas cuando no sabe la respuesta
<|im_start|>user<|im_sep|>Who is Orson Kovacs?<|im_end|>
<|im_start|>assistant<|im_sep|><SEARCH_START>Who is Orson Kovacs?<SEARCH_END><|im_end|>
[...search results...]
<|im_start|>assistant<|im_sep|>Orson Kovacs is ....<|im_end|>
- Mediante entrenamiento repetido, el modelo aprende a buscar en vez de inventar lo que no sabe
- Los parámetros del modelo almacenan una memoria difusa, como recordar vagamente algo de hace un mes, mientras que los tokens de contexto funcionan como una memoria de trabajo con información actualizada
- RAG funciona bien porque, cuando el modelo tiene acceso directo a documentos relevantes, necesita adivinar menos
Autoconciencia del modelo y tokens de razonamiento
- Si a un base model no ajustado se le pregunta “quién eres”, es probable que alucine
- Aunque no sea un modelo creado por OpenAI, puede responder que fue creado por OpenAI porque en los datos de internet los modelos de IA y OpenAI aparecen muy asociados
- Hay dos formas de corregir esto
- Sin entrenamiento separado, un LLM vuelve a respuestas genéricas de IA sin conocimiento real sobre sí mismo
- Los LLM no razonan como las personas, sino que generan tokens secuencialmente, por lo que necesitan una generación estructurada para pensar bien
- Si saltan directamente a la respuesta, puede parecerse más a una conjetura
- Si desarrollan la solución paso a paso, puede ser más confiable
- Como el número de capas del modelo es finito, la salida de un token no puede procesarse infinitamente; dividir el problema en pasos pequeños aumenta la probabilidad de llegar a la respuesta correcta
- En tareas de matemáticas y lógica, es mejor hacer que use herramientas externas en vez de depender solo del razonamiento del propio modelo
Aprendizaje por refuerzo y DeepSeek
- Aunque un modelo preentrenado tenga conocimiento, todavía no sabe cómo usarlo de manera efectiva
- El fine-tuning supervisado le enseña a imitar respuestas humanas
- El aprendizaje por refuerzo hace que encuentre mejores soluciones mediante ensayo y error
- Un ejemplo del procedimiento de aprendizaje por refuerzo es el siguiente
- Generar 15 soluciones para el mismo problema
- Si solo 4 son correctas, elegir las mejores soluciones correctas y breves
- Entrenar con las soluciones elegidas y repetir este proceso muchas veces
- En este proceso no participa directamente ningún humano; el modelo genera muchas soluciones para el mismo problema y aprende seleccionando las que llegan a la respuesta correcta
- El preentrenamiento y el post-entrenamiento están bien definidos, pero el proceso de aprendizaje por refuerzo todavía está en investigación activa
- Empresas como OpenAI también investigan mucho, pero hay partes que no son públicas
- El paper de DeepSeek trata públicamente sobre RL y FT para LLM, y explica cómo extraer capacidades de razonamiento
- En el ejemplo del paper de DeepSeek, con el tiempo el modelo usa más tokens para mejorar su razonamiento
- El llamado momento “aha” es algo difícil de enseñar explícitamente solo con entrenamiento sobre un dataset; es de la clase de cosas que el modelo debe descubrir por sí mismo mediante aprendizaje por refuerzo
- La ventaja es que el razonamiento mejora; la desventaja es que consume más tokens
AlphaGo y el potencial del aprendizaje por refuerzo
- En la investigación sobre el dominio del Go, el aprendizaje por refuerzo no se limita a hacer que el modelo imite a humanos, sino que le permite encontrar estrategias propias por ensayo y error
- La Move 37 de AlphaGo se presenta como una jugada que no estaba en los datos de entrenamiento, sino como una estrategia que el modelo creó para ganar
- Los investigadores estimaron que la probabilidad de que esa jugada viniera de un humano era de 1 en 10,000
- El aprendizaje por refuerzo todavía tiene muchas áreas sin explorar, y la investigación continúa
- Si un LLM determina que es la mejor forma de expresar pensamientos e ideas, también podría crear su propio lenguaje
Ámbitos no verificables y RLHF
- En ámbitos verificables, es fácil excluir a los humanos del proceso de aprendizaje por refuerzo, y el LLM puede funcionar como juez de su propio desempeño
- En ámbitos no verificables, como escribir chistes o resumir, hay que incluir a humanos en el loop
- Con un prompt como
Write a joke about pelicans, es difícil evaluar automáticamente la calidad del chiste
- Un LLM puede generar chistes, pero es difícil evaluar su calidad a gran escala
- Como también es difícil involucrar humanos a gran escala, se necesita el enfoque tratado en el paper de RLHF
- RLHF entrena un modelo de recompensa separado y lo usa para evaluar la calidad de respuestas a gran escala
- Los humanos califican el ranking de respuestas
- Con esas evaluaciones, el modelo de recompensa se entrena hasta el nivel deseado
- Luego el modelo de recompensa evalúa a gran escala la calidad de las respuestas del LLM
Ventajas y límites de RLHF
- Las ventajas de RLHF son las siguientes
- Hace posible el aprendizaje por refuerzo incluso en ámbitos no verificables, como escribir chistes o resumir
- A menudo mejora el modelo al reducir alucinaciones y hacer las respuestas más humanas
- Aprovecha la brecha discriminador-generador, donde para las personas es más fácil evaluar una respuesta que generarla
- Ejemplo: es más fácil elegir “cuál de estos 5 poemas es el mejor” que “escribe un poema”
- Los límites de RLHF también son claros
- El modelo de recompensa no es un humano real, sino una simulación de las preferencias humanas
- El aprendizaje por refuerzo puede crear ejemplos adversarios que explotan debilidades del modelo de recompensa
- Por ejemplo, después de 1,000 actualizaciones, “el mejor chiste sobre pelícanos” podría terminar siendo un resultado sin sentido como
the the the the the the the the
- Este problema se conoce como Adversarial Machine Learning
- Como hay infinitas formas de explotar un sistema, filtrar malas respuestas no es algo simple
- Para evitar la sobreoptimización y la degradación del desempeño, el entrenamiento del modelo de recompensa se limita a alrededor de unos cientos de iteraciones
Hacia dónde van los LLM
- En el futuro, los LLM podrían expandirse en varias direcciones
- Capacidades multimodales: entender y generar no solo texto, sino también imágenes, audio y video
- Modelos basados en agentes: ir más allá de una sola tarea hacia memoria a largo plazo, razonamiento y corrección de errores
- IA cotidiana e invisible: integrarse de forma natural en los flujos de trabajo
- IA que usa computadoras: no solo generar texto, sino interactuar con software y realizar acciones
- Aprendizaje en tiempo de prueba: adaptarse en tiempo real para aumentar la precisión al instante
Dónde seguir y experimentar con LLM
- Recursos para seguir la evolución de los LLM
- LM Arena: benchmarking de nuevos modelos de lenguaje
- AI News: newsletter sobre investigación en IA
- X (Twitter): muchos investigadores comparten actualizaciones allí
- Lugares donde se pueden probar distintos LLM
- Proprietary Models: OpenAI GPT-4, Google Gemini, Anthropic Claude, etc.
- Open-Weight Models: DeepSeek, Meta Llama, etc., disponibles en Together.ai
- Ejecución local: usar Ollama o LM Studio
- Base Models: se pueden explorar en Hyperbolic
Aún no hay comentarios.