Preentrenamiento de grandes modelos de lenguaje
El preentrenamiento de los grandes modelos de lenguaje (LLM) es una etapa fundamental en la creación de los grandes modelos de lenguaje modernos, que consiste en su entrenamiento en enormes y diversos conjuntos de texto no etiquetado. Este proceso permite a los modelos asimilar patrones lingüísticos generales, conocimiento sobre el mundo y relaciones semánticas, formando así el llamado modelo fundacional (foundation model), que luego puede ser adaptado para resolver tareas específicas.
¿Qué es el preentrenamiento?
El preentrenamiento (pre-training) es la fase inicial de entrenamiento en la que un LLM se entrena en conjuntos de datos de texto a gran escala utilizando métodos de aprendizaje autosupervisado (self-supervised learning). Esto significa que las señales de entrenamiento (etiquetas) se generan a partir de los propios datos, sin necesidad de etiquetado manual por parte de humanos.
El objetivo principal de esta etapa es predecir partes ocultas o futuras del texto. Dependiendo de la arquitectura, se utilizan dos tareas principales:
- Modelado de lenguaje causal (Causal Language Modeling, CLM): El modelo aprende a predecir la siguiente palabra (token) en una secuencia basándose en todas las anteriores. Este enfoque es la base de los modelos generativos como GPT.
- Modelado de lenguaje enmascarado (Masked Language Modeling, MLM): El modelo aprende a reconstruir palabras "enmascaradas" (ocultas) aleatoriamente en el texto, utilizando para ello el contexto bidireccional que las rodea (palabras a la izquierda y a la derecha). Este método se utiliza en modelos como BERT.
Gracias a estas tareas, el modelo se ve obligado a aprender sintaxis, semántica y conocimientos fácticos sobre el mundo para poder realizar predicciones exitosas.
Datos para el preentrenamiento
La eficacia del preentrenamiento depende en gran medida de la calidad y diversidad de los datos de entrenamiento. Se utilizan las siguientes fuentes principales:
- Páginas web: Conjuntos de datos como Common Crawl y C4 proporcionan una amplia gama de temas, estilos e idiomas, representando una "instantánea" de internet.
- Libros: Corpus como BookCorpus y The Pile ofrecen texto estructurado y coherente, útil para comprender dependencias a largo plazo y narrativas.
- Datos conversacionales: Datos de foros (por ejemplo, Reddit) y redes sociales, que ayudan a los modelos a aprender el lenguaje informal y los patrones de diálogo.
- Datos especializados: Artículos científicos (de arXiv), código de programación (de GitHub y The Stack) o textos multilingües para mejorar las capacidades específicas del modelo.
Ejemplos de distribución de datos
Diferentes modelos utilizan diferentes proporciones de fuentes, lo que influye en sus capacidades finales:
- GPT-3 (175 mil millones de parámetros):** 16% libros, 84% páginas web.
- PaLM (540 mil millones de parámetros):** 5% libros, 14% páginas web, 50% datos conversacionales, 31% otros.
- LLaMA (65 mil millones de parámetros):** 5% libros, 2% páginas web, 87% datos conversacionales.
Estas distribuciones demuestran que la selección de datos es una decisión estratégica que varía según los objetivos del modelo.
Corpus de uso frecuente
| Corpus | Tamaño | Fuente | Última actualización |
|---|---|---|---|
| BookCorpus | 5GB | Libros | Dic-2015 |
| Gutenberg | - | Libros | Dic-2021 |
| C4 | 800GB | Common Crawl | Abr-2019 |
| CC-Stories-R | 31GB | Common Crawl | Sep-2019 |
| CC-NEWS | 78GB | Common Crawl | Feb-2019 |
| REALNEWS | 120GB | Common Crawl | Abr-2019 |
| OpenWebText | 38GB | Enlaces de Reddit | Mar-2023 |
| Pushshift.io | 2TB | Enlaces de Reddit | Mar-2023 |
| Wikipedia | 21GB | Wikipedia | Mar-2023 |
| The Pile | 800GB | Otros | Dic-2020 |
| ROOTS | 1.6TB | Otros | Jun-2022 |
Técnicas de entrenamiento
El preentrenamiento de LLM requiere recursos computacionales significativos. Para gestionar este proceso, se aplican las siguientes técnicas:
- Entrenamiento distribuido: Uso de múltiples GPU o TPU para el procesamiento en paralelo.
- Precisión mixta (Mixed Precision): Uso de formatos numéricos con menor precisión (por ejemplo, de 16 bits en lugar de 32 bits) para acelerar los cálculos y reducir el uso de memoria.
- Puntos de control de gradiente (Gradient Checkpointing): Técnica para ahorrar memoria recalculando en lugar de almacenar algunas activaciones intermedias.
- Paralelismo de modelo (Model Parallelism): Distribución del propio modelo entre varios dispositivos.
El entrenamiento de un modelo como GPT-3 puede llevar varios meses en miles de GPU.
Leyes de escalado
Investigaciones, como el trabajo de OpenAI (Kaplan et al., 2020), han demostrado que el rendimiento de los modelos de lenguaje mejora de manera predecible con el aumento de tres factores:
- El tamaño del modelo (número de parámetros).
- El volumen de datos.
- Los recursos computacionales.
Estas dependencias empíricas, conocidas como las leyes de escalado, sirven como guía para los desarrolladores al diseñar y entrenar modelos más grandes y potentes, permitiendo una asignación óptima del presupuesto computacional.
Desafíos y logros
- Escalado: El principal logro del preentrenamiento es la capacidad de equilibrar el tamaño del modelo, los datos y la computación para alcanzar un rendimiento óptimo.
- Calidad de los datos: Asegurar la limpieza, diversidad y ausencia de sesgos en los datos de entrenamiento es un desafío clave.
- Eficiencia: El desarrollo de métodos para reducir los costos computacionales, como el preentrenamiento continuo o arquitecturas más eficientes.
- Multilingüismo: La creación de modelos capaces de procesar eficazmente múltiples idiomas requiere una selección y un equilibrio cuidadosos de los datos.
Véase también
- Grandes modelos de lenguaje
- BERT
- GPT