ENTRENAMIENTO DE MODELOS DE LENGUAJE

Cómo aprende un LLM. Del corpus al modelo preentrenado.

Antes de generar texto o adaptar un modelo con LoRA, alguien tiene que aprender sus pesos. En esta guía puedes entrenar una red pequeña y observar cómo las predicciones cambian con cada recorrido por el corpus.

Probar el entrenamiento Ir a la guía

LABORATORIO INTERACTIVO

Entrena un modelo desde cero

Selecciona un contexto y observa la predicción inicial. Entrena una época para ver un primer cambio o deja el entrenamiento en marcha. Las curvas se calculan con el modelo que acaba de completar cada época.

Épocas
0 / 60
Pasos del optimizador
0
Pérdida de entrenamiento
2,96
Pérdida de validación
2,96
Pérdida media por época · La época 0 corresponde al modelo recién inicializado.
Curvas de pérdida de entrenamiento y validaciónÉpoca 0. Pérdida de entrenamiento 2,96. Pérdida de validación 2,96.00,751,52,2530510Época

Antes de entrenar

la luna ilumina cruza lago el cruza el el el

Época 0

la luna ilumina cruza lago el cruza el el el

Ambas continuaciones usan el mismo inicio y eligen el token más probable en cada paso. Para el contexto la luna, el token de referencia ilumina pasa de 6 % a 6 %.

Predicción del siguiente token · Mejores candidatos y token de referencia
TokenProbabilidad en la época 0
ilumina · referencia6 %
⟨fin⟩6 %
.5,9 %
el5,9 %

La red tiene 474 parámetros y consulta los dos últimos tokens. Cada época recorre 126 ejemplos en 8 lotes. Los gradientes se calculan en este navegador.

Ver el corpus y la separación de datos

Entrenamiento · 18 frases

  • la luna ilumina el valle.
  • la luna ilumina el lago.
  • la luna ilumina el bosque.
  • la luna ilumina la costa.
  • la luna cruza el cielo.
  • la luna cruza la noche.
  • el sol calienta la costa.
  • el sol calienta la tierra.
  • el sol calienta el valle.
  • el sol ilumina el cielo.
  • el sol ilumina el bosque.
  • el sol ilumina el lago.
  • el río atraviesa el valle.
  • el río atraviesa el bosque.
  • el río atraviesa la costa.
  • el río cruza el bosque.
  • el río cruza la tierra.
  • el río alimenta el lago.

Validación · 6 frases

  • la luna ilumina el cielo.
  • la luna cruza el valle.
  • el sol calienta el bosque.
  • el sol ilumina la costa.
  • el río atraviesa la tierra.
  • el río cruza el valle.
A Neural Probabilistic Language Model · Bengio et al.
DE LOS EJEMPLOS A LOS PESOS

El aprendizaje paso a paso

01 / Del texto a los ejemplos

El propio texto proporciona las respuestas

Supongamos que en el corpus aparece la luna ilumina el valle. Podemos detener la lectura en la luna y usar ilumina como respuesta esperada. Si avanzamos un token, obtenemos otro ejercicio con una respuesta distinta. Así se construyen ejemplos supervisados a partir del texto, sin etiquetar a mano qué debería venir después de cada fragmento. A este enfoque se le llama aprendizaje autosupervisado.

Tres ejercicios extraídos de una sola frase
Contexto de entradaToken objetivo
la · lunailumina
luna · iluminael
ilumina · elvalle
En el laboratorio la ventana tiene dos tokens. El objetivo se desplaza una posición cada vez. También se crean ejemplos al comienzo y al final de la frase con símbolos especiales de inicio y fin.

El corpus es una colección de frases breves construidas para este ejercicio. Los ejemplos de entrenamiento permiten ajustar la red. Las frases de validación se reservan completas antes de construir sus ventanas. Hay palabras y patrones compartidos entre ambos grupos. Esa coincidencia es deliberada y permite estudiar qué ocurre al recombinar partes familiares en frases que se dejaron fuera.

Un Transformer causal puede usar un prefijo más largo y calcular muchas predicciones en paralelo con una máscara. El objetivo en cada posición sigue siendo el token siguiente. La guía del Transformer explica cómo se alinea esa predicción con el texto de referencia.

02 / De la predicción a la pérdida

Cuánta probabilidad recibe el token que ocurrió

El modelo recibe los dos tokens de contexto y asigna probabilidades al vocabulario de salida. En el ejemplo anterior, la pérdida toma la probabilidad de ilumina, el token que realmente sigue a la luna en esa frase. Dos modelos podrían acertar al elegir el candidato más probable y, aun así, recibir pérdidas diferentes si uno asigna a la respuesta más probabilidad que el otro.

Pérdida del ejemplo = −ln(probabilidad del token objetivo)

Esta es la entropía cruzada para un ejemplo con un único token objetivo. Si la respuesta recibe un 50 % de probabilidad, la pérdida es aproximadamente 0,69. Si recibe un 1 %, sube a 4,61. El logaritmo hace que las predicciones que casi descartan el token correcto pesen más al promediar los ejemplos.

¿Cuánto cuesta asignar poca probabilidad al token correcto?

Pérdida del ejemplo · 1,39

La barra representa −ln(p) en el intervalo del ejercicio. Baja de 25 % a 5 % y observa cuánto aumenta la penalización. Si el modelo asigna toda la probabilidad al token correcto, la pérdida es cero.

Una pérdida baja indica que el modelo asigna, de media, más probabilidad a las continuaciones observadas. En un corpus pueden aparecer varias continuaciones legítimas para el mismo contexto. Por eso el modelo puede aprender una distribución en la que varias respuestas conservan probabilidad.

03 / De la pérdida a los pesos

Qué se ajusta en cada paso del optimizador

Al inicializar la red, los pesos se eligen con una semilla fija. Esto permite volver exactamente al mismo punto y repetir el experimento con otra tasa de aprendizaje. Cada uno de los dos tokens consulta su vector en una tabla de embeddings. La red concatena ambos vectores, los transforma en una capa oculta y calcula un logit por token posible.

  1. PredicciónEl lote pasa por la red con los pesos actuales.
  2. PérdidaSe compara la distribución con cada token objetivo.
  3. GradientesLa retropropagación calcula cómo cambia la pérdida al variar cada parámetro.
  4. ActualizaciónEl optimizador mueve los pesos en dirección contraria al gradiente medio.
El proceso se repite con otro lote. En esta red se actualizan los embeddings y los pesos y sesgos de las dos capas lineales.
peso nuevo = peso anterior − tasa de aprendizaje × gradiente

La tasa de aprendizaje multiplica el paso de cada actualización. Con un valor pequeño, el ajuste puede avanzar despacio. Con uno grande, el modelo puede sobrepasar zonas de menor pérdida. El efecto se aprecia al reiniciar y comparar dos ejecuciones a la misma época. La pérdida evaluada sobre todo el conjunto puede subir en alguna época, aunque el gradiente se haya calculado correctamente para cada lote.

Una época recorre los ejemplos disponibles para entrenar. En el laboratorio, 126 ejemplos repartidos en lotes de hasta 16 producen ocho pasos del optimizador. Después se evalúa el modelo resultante sobre ambos conjuntos con los pesos fijos. Esto permite comparar los dos valores de la gráfica en las mismas condiciones.

04 / Aprender o memorizar

Qué se puede concluir de las dos curvas

Al comenzar, la red distribuye la probabilidad con poca información sobre el corpus. Después de varias épocas suele asignar más probabilidad a los patrones frecuentes. En el contexto la luna, por ejemplo, ilumina aparece más veces que cruza. La predicción que se muestra en el laboratorio permite seguir ese caso concreto, mientras la pérdida resume el conjunto.

Una mejora en validación indica que los cambios también ayudan en las frases reservadas. Si la pérdida de entrenamiento continúa bajando y la de validación empieza a subir de forma sostenida, hay indicios de sobreajuste. No todas las ejecuciones tienen que mostrarlo. En este corpus, la validación conserva los mismos tipos de frases y comparte parte de sus contextos con el entrenamiento. La gráfica permite observar ese reparto particular.

  1. Compara con el punto de partida. Mantén la tasa en 0,25 y deja correr unas veinte épocas. Observa la probabilidad de ilumina y las dos continuaciones del mismo inicio.
  2. Aísla la tasa de aprendizaje. Reinicia y usa 0,05. Compara a la misma época con el resultado anterior. El corpus, la semilla y la regla de generación son los mismos.
  3. Distingue un caso del conjunto. Sin volver a entrenar, selecciona el sol o el río. Cambian las probabilidades y la continuación de ese contexto. Las curvas se conservan porque resumen los mismos conjuntos.

Las continuaciones se obtienen con greedy y el mismo inicio para que el contraste dependa de los pesos aprendidos. Una frase legible es una comprobación cualitativa. Para estimar el rendimiento de un modelo con el que se han tomado decisiones usando validación, hace falta un conjunto de prueba independiente.

05 / Del preentrenamiento a LoRA

Cómo se pasa de un modelo inicial a uno especializado

El laboratorio empieza con parámetros recién inicializados. Esta es la parte del proceso que queremos aislar al hablar de preentrenamiento. En un modelo de lenguaje de gran escala, el mismo objetivo causal puede aplicarse a un corpus mucho más amplio y a una arquitectura con mayor capacidad. La red de este ejemplo solo ve dos tokens de contexto. Su tamaño permite seguir los cálculos en el navegador.

Una vez que existe un modelo base, se puede ajustar para una tarea concreta. Con LoRA se conservan sus pesos y se entrenan matrices adicionales en capas seleccionadas. Siguen haciendo falta datos, una pérdida y un optimizador. Lo que cambia es el punto de partida y qué parámetros pueden recibir actualizaciones.

  1. InicializaciónSe fijan los valores de partida.
  2. PreentrenamientoEl corpus general ajusta los pesos del modelo base.
  3. Adaptación con LoRALos ejemplos de una tarea ajustan los factores añadidos.
  4. InferenciaLos pesos aprendidos se usan para producir logits y elegir tokens.
En el recorrido ilustrado, la base se aprende primero y se reutiliza durante la adaptación. El laboratorio de este artículo reproduce el primer aprendizaje de los pesos a escala reducida.