Ir al contenido

¿Cómo se Entrena una IA?

Proceso de entrenamiento de un modelo de lenguaje ajustando parámetros para predecir el siguiente token sobre grandes cantidades de texto

Un modelo de lenguaje no se programa escribiendo reglas. Se entrena. Nadie le dice qué es un verbo ni cómo se construye una frase. El modelo aprende esas regularidades por su cuenta a partir de enormes cantidades de texto.

Conviene separar dos momentos que suelen confundirse. El entrenamiento es cuando el modelo aprende, ajustando su interior a partir de los datos. La inferencia es cuando el modelo ya entrenado genera texto, el proceso que describen cómo funciona la IA y cómo predice el texto. Esta página trata de lo primero: cómo aprende.

La tarea con la que se entrena un modelo de lenguaje generativo es sorprendentemente simple: predecir el siguiente token. Se le da un fragmento de texto, se le tapa lo que viene después, y se le pide que lo adivine.

El paper Language Models are Few-Shot Learners de Brown et al., que describe GPT-3, define el modelo como autorregresivo: predice cada token a partir de los anteriores, y se preentrena sobre un corpus enorme de texto.

Esto se llama aprendizaje autosupervisado. No hace falta que un humano etiquete nada, porque el texto ya contiene la respuesta correcta: la palabra que de verdad venía a continuación. El modelo predice, compara con la palabra real, y corrige. Repetido billones de veces, ese ejercicio le hace aprender gramática, hechos, estilos y patrones de razonamiento, todo de forma indirecta.

Cuando se dice que un modelo tiene miles de millones de parámetros, esos parámetros son los pesos: los números internos del modelo que se ajustan durante el entrenamiento.

Se pueden imaginar como millones de mandos que regulan cómo fluye la información dentro de la red. Al principio están en posiciones aleatorias, así que el modelo predice mal. Entrenar consiste en girar poco a poco cada mando hasta que el conjunto acierta el siguiente token con la mayor frecuencia posible.

Un modelo “de N parámetros” es, literalmente, un modelo con esa cantidad de esos números ajustables. Más parámetros dan más capacidad para captar patrones, a cambio de más coste para entrenar y para ejecutar.

El mecanismo que ajusta los parámetros se llama descenso de gradiente. Funciona en un bucle:

  1. El modelo predice el siguiente token.
  2. Una función de pérdida mide cuánto se ha equivocado, comparando su predicción con el token real.
  3. Un proceso llamado retropropagación calcula, para cada parámetro, en qué dirección habría que moverlo para reducir ese error.
  4. Cada parámetro se ajusta un poco en esa dirección.

Cada paso mejora la predicción una fracción minúscula. Lo que hace funcionar el método es la escala: el bucle se repite una cantidad inmensa de veces sobre una cantidad inmensa de texto, y esos ajustes minúsculos acumulados acaban produciendo un modelo capaz de escribir con coherencia.

Un modelo solo puede aprender de lo que ha visto. Sus datos de entrenamiento son grandes colecciones de texto: páginas web, libros, artículos, código.

De aquí salen dos consecuencias importantes. La primera es la fecha de corte: el modelo no sabe nada que ocurriera después de recopilarse sus datos, y por eso para hechos recientes se recurre a técnicas como RAG. La segunda es que el modelo hereda lo que hay en esos datos, incluidos los errores y los sesgos. Si un patrón incorrecto aparece con frecuencia en el texto, el modelo lo aprende con la misma naturalidad que uno correcto, lo que contribuye a que invente cosas.

Una de las razones por las que los modelos han crecido tanto es que su rendimiento mejora de forma predecible al aumentar el tamaño. El paper Scaling Laws for Neural Language Models de Kaplan et al. mostró que la pérdida disminuye siguiendo una ley de potencia en función de tres factores: el tamaño del modelo, la cantidad de datos y el cómputo de entrenamiento.

Dicho en simple: dentro de amplios márgenes, modelos más grandes, con más datos y más cómputo, aprenden mejor de manera previsible. Esa previsibilidad es la que justifica invertir en entrenar modelos cada vez mayores.

Un modelo preentrenado sabe predecir texto probable, pero eso no lo convierte todavía en un asistente útil y seguro. Por eso, el entrenamiento completo de un modelo conversacional suele tener tres etapas:

  1. Preentrenamiento: aprende lenguaje y conocimiento general prediciendo el siguiente token sobre un corpus enorme. Es lo que cubre esta página.
  2. Fine-tuning: se ajusta sobre datos más específicos para especializarlo en una tarea, un dominio o un estilo.
  3. RLHF: se alinea con las preferencias humanas para que sea útil, siga instrucciones y rechace peticiones dañinas.
  • El coste alto de un modelo está en el entrenamiento; una vez entrenado, generar texto es mucho más barato que haberlo entrenado.
  • La calidad y los sesgos de los datos ponen un techo a lo que el modelo puede llegar a ser: datos malos, modelo malo.
  • Reentrenar desde cero para incorporar información nueva es carísimo, y por eso se prefieren el fine-tuning o el RAG para actualizar o especializar.

Creer que el modelo “memoriza” o “guarda” los textos con los que se entrenó, como si tuviera una base de datos dentro. No la tiene. Lo único que queda del entrenamiento son los parámetros ajustados, los números que le permiten predecir patrones. El texto original no está almacenado en ninguna parte del modelo.