Qué es el preentrenamiento
Un modelo de lenguaje grande comienza como miles de millones de números —sus pesos o parámetros— establecidos al azar. El preentrenamiento ajusta esos números mostrando al modelo enormes cantidades de texto (páginas web, libros, código, obras de referencia) y haciéndole, una y otra vez, una pregunta: dado el texto hasta ahora, ¿qué viene a continuación? Cada suposición incorrecta modifica ligeramente los pesos. Después de billones de suposiciones, el modelo ha absorbido gramática, datos, estilos, patrones de razonamiento y una gran cantidad de conocimiento del mundo, porque todo ello ayuda a predecir la siguiente palabra.
Este objetivo se denomina predicción del siguiente token o modelado de lenguaje causal. Nadie tiene que etiquetar los datos: el texto es su propia clave de respuestas, razón por la cual el preentrenamiento puede utilizar tanta cantidad del mismo.
La escala implicada
El preentrenamiento es, con diferencia, la etapa más cara en la vida de un modelo. GPT-3, descrito en 2020, tenía 175.000 millones de parámetros y se entrenó con unos 300.000 millones de tokens. El estudio Chinchilla de DeepMind (2022) demostró entonces que, para un presupuesto de computación fijo, los modelos deberían ver mucho más texto por parámetro: su modelo Chinchilla de 70.000 millones de parámetros, entrenado con 1,4 billones de tokens, superó a modelos considerablemente más grandes. Los modelos abiertos actuales se entrenan con muchos billones de tokens, en miles de GPU, durante semanas.
Por eso, nadie que realice un ajuste fino de un modelo para su propio uso repite esta etapa. También es la razón por la que el modelo de partida importa tanto: su conocimiento, sus idiomas y su capacidad de razonamiento establecen el límite de lo que puede lograr cualquier entrenamiento posterior.
Del modelo en bruto al modelo del que parte
Un modelo recién salido del preentrenamiento es bueno para continuar texto, pero no para seguir instrucciones. Si le hace una pregunta, puede que responda con tres preguntas más, porque así es gran parte del texto en la web. Por lo tanto, los creadores de modelos lo entrenan más a fondo —ajuste de instrucciones (ajuste fino supervisado en conversaciones de ejemplo), generalmente seguido de un ajuste de preferencias basado en comentarios humanos o de IA— para convertirlo en un asistente. El trabajo InstructGPT de OpenAI demostró la importancia de esto: las personas prefirieron las respuestas de un modelo con ajuste de instrucciones de 1.300 millones de parámetros a las del GPT-3 de 175.000 millones de parámetros, a pesar de tener más de 100 veces menos parámetros.
Las familias de modelos abiertos suelen publicarse en ambas formas: un checkpoint «base» en bruto y una versión «instruct» o «chat». En Scalata, y en esta guía, modelo base significa simplemente el modelo del que parte una ejecución de entrenamiento. En la práctica, casi siempre se trata de un modelo con ajuste de instrucciones, por lo que sus ejemplos solo necesitan enseñar lo que es específico para usted.
Lo que el ajuste fino puede y no puede cambiar
El ajuste fino utiliza la misma maquinaria que el preentrenamiento —predecir el siguiente token, medir el error, ajustar los pesos— pero en cientos o miles de sus ejemplos en lugar de billones de tokens. A esa escala, es muy eficaz para remodelar el comportamiento, y mucho menos eficaz para añadir conocimiento. Las investigaciones sugieren que los modelos aprenden datos genuinamente nuevos a partir del ajuste fino de forma lenta, y que forzarlos a hacerlo puede hacerlos más propensos a inventar respuestas.
- Cambia bien: el tono y el estilo, el formato de salida, la longitud, la fraseología del dominio, el manejo coherente de solicitudes recurrentes y conseguir que un modelo pequeño haga un trabajo como uno más grande.
- Cambia mal: grandes conjuntos de nuevos datos, información que cambia a menudo y capacidades de las que el modelo base carece fundamentalmente — un modelo pequeño no aprenderá razonamiento avanzado a partir de unos cientos de chats.
- No cambia: la arquitectura del modelo, su tokenizador y su ventana de contexto.
- Desea un asistente que responda a las preguntas sobre su producto de facturación con el tono de su equipo de soporte.
- El modelo base ya sabe inglés, cómo funcionan las facturas en general, cómo ser educado y cómo escribir pasos numerados — gracias al preentrenamiento y al ajuste de instrucciones.
- No conoce los nombres de sus menús, sus políticas ni la costumbre de su equipo de terminar con un enlace al centro de ayuda.
- Unos cientos de buenos chats de soporte pueden enseñarle el tono y el formato. Es mejor proporcionar los nombres de los menús y las políticas en el momento de la solicitud, mediante recuperación o a través del prompt del sistema, para que sigan siendo correctos cuando cambien.
Elección de un modelo base
Todo lo que usted entrena se asienta sobre el modelo base, así que elíjalo deliberadamente:
- Capacidad en su tarea. Pruebe primero el modelo base con preguntas reales. El ajuste fino perfecciona lo que ya existe; rara vez crea habilidades de la nada.
- Tamaño frente a coste. Los modelos más grandes saben más, pero su entrenamiento y ejecución resultan más caros. Un objetivo habitual es encontrar el modelo más pequeño que realice bien el trabajo una vez ajustado.
- Idiomas. Si sus usuarios escriben en alemán o japonés, compruebe que el modelo maneje bien esos idiomas; los datos de preentrenamiento suelen estar dominados por el inglés.
- Límites. La ventana de contexto y el límite de entrenamiento por ejemplo vienen con el modelo y no cambian con el entrenamiento.
Errores comunes
- Esperar que el ajuste fino enseñe un conjunto grande y cambiante de datos, como un catálogo completo de productos o una lista de precios.
- Partir de un modelo que no puede realizar la tarea en absoluto y esperar que unos cientos de ejemplos lo solucionen.
- Elegir un checkpoint preentrenado en bruto cuando se pretendía utilizar una versión con ajuste de instrucciones del mismo modelo abierto.
- No probar primero el modelo base, de modo que no hay una línea base con la que comparar el modelo entrenado.
Referencias y lecturas adicionales
Las fuentes externas se abren en una pestaña nueva.
- 01Language Models are Few-Shot LearnersBrown et al., 2020 · arXiv · arxiv.orgEl artículo sobre GPT-3: lo que puede hacer por sí solo el preentrenamiento a escala.
- 02Training Compute-Optimal Large Language ModelsHoffmann et al., 2022 · arXiv · arxiv.orgEl estudio Chinchilla sobre la cantidad de texto con la que debe entrenarse un modelo de un tamaño determinado.
- 03Training language models to follow instructions with human feedbackOuyang et al., 2022 · arXiv · arxiv.orgInstructGPT: cómo un modelo preentrenado se convierte en un asistente que sigue instrucciones.
- 04How do Transformers work?Hugging Face LLM Course · huggingface.coUna introducción sencilla al preentrenamiento, el aprendizaje por transferencia y el ajuste fino.
- 05Does Fine-Tuning LLMs on New Knowledge Encourage Hallucinations?Gekhman et al., 2024 · arXiv · arxiv.orgEvidencia de que los nuevos datos se aprenden lentamente en el ajuste fino y pueden aumentar las alucinaciones.