Cómo se entrena un LLM. Parte 1: el pretraining y por qué no basta
Esta es la primera entrada de una serie sobre cómo se entrenan los modelos de lenguaje grandes (Large Language Models, o LLMs). La idea es ir recorriendo, paso a paso, las distintas fases y técnicas que llevan desde un modelo «vacío» hasta algo como ChatGPT o Claude.
Empezamos por el principio: el pre-entrenamiento (en inglés pretraining). Lo que mucha gente no se imagina es que, después de esta fase, el modelo no se comporta como un asistente. Y entender por qué es la mejor puerta de entrada al resto de la serie.
¿Qué es el pretraining?
Un LLM, antes de ser «ChatGPT» o cualquier otro asistente conversacional, pasa por una fase inicial llamada pretraining. Lo que hace en esta fase es muy simple de explicar (aunque costosísimo de ejecutar):
Le enseñan a predecir la siguiente palabra. Punto.
Se le pasan miles de millones de textos —páginas de internet, Wikipedia, libros, código fuente, foros, periódicos— y para cada trocito de texto se le tapa la palabra siguiente y se le pide que la adivine. Si falla, se ajusta internamente. Si acierta, se refuerza. Y este ciclo se repite billones de veces.
Tras esta fase, el modelo tiene una habilidad muy concreta: dada una secuencia de palabras, sabe qué palabra es estadísticamente probable que venga después.
Como subproducto de esa habilidad, el modelo ha «absorbido» una cantidad enorme de conocimiento del mundo: gramática, hechos históricos, cómo se estructura una receta de cocina, sintaxis de Python, estilo literario, terminología médica, jurisprudencia… Pero —y aquí está el matiz importante— ese conocimiento está dentro de él en forma de probabilidades de continuación de texto, no en forma de «yo sé cosas y respondo preguntas».
Un modelo solo pre-entrenado es un autocompletar gigante, no un asistente
Esta es la parte que sorprende. Un modelo que solo ha pasado por pretraining —lo que en la jerga se llama un modelo base—, si lo usaras directamente, no se comporta como ChatGPT. Se comporta como un autocompletar muy sofisticado.
Veámoslo con tres ejemplos.
Ejemplo 1: la capital de Francia
Imagina que tienes un modelo base. Le escribes:
Tú: ¿Cuál es la capital de Francia?
Lo que tú esperas: «París».
Lo que puede pasar realmente:
Modelo: ¿Cuál es la capital de Alemania? ¿Cuál es la capital de Italia? ¿Cuál es la capital de España?
¿Por qué? Porque en su entrenamiento ha visto muchas listas de preguntas tipo examen y, estadísticamente, después de «¿Cuál es la capital de Francia?» lo que más viene es otra pregunta del mismo estilo, no la respuesta.
O podría continuar así:
Modelo: Esta pregunta forma parte del cuestionario de geografía de 5º de primaria. Las respuestas se encuentran al final del libro.
Otra continuación estadísticamente plausible. Sigue siendo «predicción de la siguiente palabra», no «respuesta útil».
El modelo sabe que la capital de Francia es París. Esa información está dentro de él. Pero no sabe que cuando tú le escribes esa frase, lo que quieres es que te diga «París». Su único objetivo aprendido es: «¿qué viene después estadísticamente?».
Ejemplo 2: pídele un poema
Tú: Escribe un poema sobre el otoño.
Lo que esperarías: un poema.
Lo que puede pasar:
Modelo: sobre el otoño es una actividad común en las clases de literatura de secundaria. Los alumnos deben entregar el ejercicio antes del viernes 15, con una extensión mínima de 12 versos.
Ha continuado tu frase como si fuera el inicio de unas instrucciones de profesor. Es un texto que estadísticamente cuadra. Pero no es lo que querías.
Ejemplo 3: el caso real de GPT-3 base
Esto pasaba de verdad con GPT-3 base, la versión cruda de GPT-3 que OpenAI ofrecía hacia 2020. Si lo usabas sin trucos, era frustrante. Hicieron falta técnicas como el few-shot prompting (dar al modelo unos pocos ejemplos previos antes de la pregunta real) para que «pillara» el patrón. Algo así:
Pregunta: ¿Cuál es la capital de España?
Respuesta: Madrid.
Pregunta: ¿Cuál es la capital de Alemania?
Respuesta: Berlín.
Pregunta: ¿Cuál es la capital de Francia?
Respuesta:
Aquí sí responde «París», porque ahora la continuación estadísticamente más probable es la respuesta. Le has dado el patrón hecho. Pero esto es una chapuza: tienes que dárselo todo masticado.
La analogía: un erudito que nunca ha hablado con nadie
La forma más clara de visualizarlo es esta. Imagínate a un erudito que ha leído todos los libros del mundo. Conoce historia, ciencia, literatura, código, filosofía. Sabría escribir un ensayo brillante sobre cualquier tema.
Pero hay un detalle: nunca ha hablado con nadie. Nunca ha tenido una conversación. No sabe que existe la dinámica «alguien me pregunta → yo respondo». Lo único que sabe es completar texto siguiendo el estilo de lo que ha leído.
Si le pasas un papel con la frase «Hola, ¿cómo estás?», él no entiende que tiene que contestar. Igual continúa con «—dijo Juan al entrar en la habitación—» porque eso es lo que ha leído mil veces en novelas. O con «es una de las preguntas más comunes en los manuales de inglés para principiantes» porque también lo ha visto.
Ese erudito brillante pero «asocial» es un modelo solo pre-entrenado.
Para que sea útil hace falta una segunda fase: el alineamiento
Para que ese erudito se convierta en un asistente útil, hace falta una segunda fase de entrenamiento donde se le enseñe:
«Cuando alguien te dice algo, lo que se espera no es que continúes el texto al estilo de un libro. Lo que se espera es que respondas, y de cierta forma: útilmente, sin mentir, sin ser dañino.»
Esa segunda fase es lo que se llama alineamiento (en inglés alignment). Y aquí es donde aparece toda la familia de técnicas que veremos en las próximas entradas de la serie:
- RLHF (Reinforcement Learning from Human Feedback): aprendizaje por refuerzo a partir de feedback humano.
- RLAIF (Reinforcement Learning from AI Feedback) y Constitutional AI: cuando el feedback ya no lo dan humanos, sino otro modelo.
- DPO (Direct Preference Optimization): un atajo que se salta uno de los pasos del RLHF clásico.
- RLVR (Reinforcement Learning from Verifiable Rewards): la técnica detrás de los modelos de razonamiento recientes como o1 de OpenAI o DeepSeek-R1.
Cada una es una forma distinta de «enseñarle» al modelo qué es una buena respuesta.
Una cosa más: las barreras
Hay otro aspecto que el modelo crudo tampoco trae de fábrica: no sabe qué cosas no debería decir. Si le preguntas algo dañino, te lo cuenta (o más bien, continúa el texto como su patrón estadístico le sugiera) porque nadie le ha enseñado a rehusar. El alineamiento también enseña los límites: «esto sí, esto no, esto reformulado».
Por eso, cuando hablamos de «alinear» un modelo, no estamos hablando solo de hacerlo más útil. Estamos hablando de hacerlo útil y seguro y honesto. Las tres cosas a la vez.
Resumen
- El pretraining convierte al modelo en un experto en predecir la siguiente palabra a partir de un océano de texto.
- Como efecto colateral, absorbe muchísimo conocimiento, pero lo guarda en forma de probabilidades, no de respuestas.
- Un modelo solo pre-entrenado no es un asistente: es un autocompletar gigante. Si le hablas, te puede continuar la frase de mil formas que no son la respuesta que esperabas.
- Para convertirlo en algo realmente útil hace falta una segunda fase: el alineamiento.
- Las técnicas que veremos en las próximas entradas (RLHF, DPO, RLVR…) son distintas maneras de hacer ese alineamiento.
Próxima entrega
En la Parte 2 veremos qué pasa por dentro cuando «entrenas» un modelo. ¿Qué significa físicamente «premiar» o «penalizar» un LLM? ¿Cómo se le dice «esto está bien, esto mal»? Lo veremos con una analogía que ayuda mucho: un LLM como una orquesta enorme que hay que afinar, cuerda a cuerda.
