Un programa de calentamiento es una técnica de programación de la tasa de aprendizaje utilizada en el aprendizaje profundo para aumentar gradualmente la tasa de aprendizaje desde un valor inicial pequeño hasta un valor objetivo durante un número limitado de pasos de entrenamiento. Se aplica al comienzo del entrenamiento del modelo, antes de la fase principal de disminución del programa general de tasa de aprendizaje. El propósito principal del calentamiento es estabilizar el proceso de optimización durante las primeras épocas, cuando los parámetros del modelo están lejos de ser óptimos y los gradientes pueden ser grandes o ruidosos. Al comenzar con una tasa de aprendizaje baja, la fase de calentamiento evita actualizaciones grandes de parámetros que podrían desestabilizar el entrenamiento o causar que la pérdida diverja, y permite que el modelo se mueva hacia una región del panorama de pérdida donde los pasos más grandes sean seguros. Los programas de calentamiento son particularmente importantes para entrenar modelos de lenguaje grandes, transformadores y otras arquitecturas profundas que dependen de la normalización por lotes, la normalización de capas u optimizadores adaptativos como Adam.
La fase de calentamiento se combina típicamente con programas de disminución posteriores, como la disminución lineal, la disminución coseno o la disminución exponencial, que reducen la tasa de aprendizaje a un valor cercano a cero durante el resto del entrenamiento. Un programa típico podría incluir un calentamiento lineal durante los primeros cientos o miles de pasos, seguido de una disminución coseno hasta el final del entrenamiento. La elección de la duración del calentamiento y la tasa de aprendizaje máxima depende del tamaño del modelo, el conjunto de datos, el tamaño del lote y el optimizador utilizado, y a menudo se elige empíricamente mediante el ajuste de hiperparámetros. El calentamiento es ahora un componente estándar en los pipelines de entrenamiento de muchos modelos prominentes, incluyendo redes neuronales recurrentes, redes neuronales convolucionales y modelos generativos como los modelos de lenguaje grandes.
Historia y Orígenes
El concepto de calentamiento de la tasa de aprendizaje surgió en el contexto de la investigación en aprendizaje profundo a mediados de la década de 2010. Uno de los primeros usos documentados se atribuye a investigadores de Google (anteriormente conocido como investigación de Google) que entrenaron modelos de clasificación de imágenes e identificaron que comenzar con una tasa de aprendizaje alta podía causar una divergencia severa. En un artículo de 2013 sobre entrenamiento de redes profundas, Bernard Widrow y otros estudiaron tasas de aprendizaje adaptativas, pero el término específico "calentamiento" ganó tracción alrededor de 2018 con la publicación de los trucos de entrenamiento relacionados con Adam en el artículo original de BERT. El artículo de BERT, publicado por Google en 2018, utilizó explícitamente un calentamiento de 10,000 pasos para el preentrenamiento. Esta práctica fue adoptada ampliamente en la comunidad de procesamiento de lenguaje natural.
Los optimizadores adaptativos como Adam y sus variantes, incluyendo SGD con momento, son particularmente propensos a la inestabilidad cuando se aplican tasas de aprendizaje grandes temprano en el entrenamiento. El calentamiento ayuda a mitigar un fenómeno donde los primeros pasos producen gradientes enormes, inflando las estimaciones de la tasa de aprendizaje adaptativa, lo que lleva a una convergencia deficiente. Técnicas como el recorte de gradientes, la normalización por lotes y el recorte de gradientes también abordan inestabilidades similares, pero el calentamiento es a menudo más simple y más general.
Motivación y Teoría
La motivación principal para un programa de calentamiento radica en el equilibrio entre exploración y estabilidad. En la inicialización, los pesos del modelo generalmente se extraen de una distribución aleatoria con media cero, lo que puede producir activaciones y gradientes grandes. Asignar una tasa de aprendizaje grande en este punto puede causar que los pesos salten a una región donde la pérdida es enorme o el modelo solo captura ruido. Una tasa de aprendizaje baja permite que el modelo corrija lentamente los errores iniciales, moviéndose gradualmente hacia regiones más estables.
Además, los optimizadores adaptativos como Adam mantienen estimaciones de segundo momento de los gradientes agregados. Si ocurre un pico de gradiente dentro de los primeros pasos, el promedio móvil del optimizador se infla, reduciendo la tasa de aprendizaje efectiva para pasos futuros y ralentizando la convergencia. El calentamiento le da tiempo al optimizador para obtener estadísticas confiables antes de aprender a plena capacidad.
Trabajo reciente ha mostrado una conexión entre el calentamiento y la transición de un comportamiento de cobertura de modos a uno de búsqueda de modos en el aprendizaje bayesiano, pero la explicación más práctica se centra en el ruido del gradiente. Temprano en el entrenamiento, las estimaciones son ruidosas debido a tamaños de muestra efectivos pequeños y salidas de red mal escaladas. Un calentamiento lineal a menudo es suficiente para suavizar el proceso.
Tipos de Programas de Calentamiento
Existen varias implementaciones comunes de calentamiento:
- Calentamiento lineal: La tasa de aprendizaje aumenta linealmente desde casi cero hasta el valor objetivo durante un número específico de pasos (por ejemplo, 3,000 pasos). Se utiliza en el entrenamiento estilo BERT y en muchas implementaciones de transformadores.
- Calentamiento exponencial: La tasa de aprendizaje aumenta exponencialmente desde un valor bajo. Se usa raramente, a menudo se reemplaza por calentamiento lineal o polinomial.
- Calentamiento polinomial: La tasa de aprendizaje escala como un polinomio del índice del paso, a menudo con un grado pequeño como 2 o 3.
- Calentamiento constante: La tasa de aprendizaje se mantiene en un valor bajo durante un período fijo, luego se aumenta hasta el objetivo.
- Política de un ciclo y superconvergencia: A veces utiliza un calentamiento corto combinado con un programa cíclico.
En la práctica, el calentamiento lineal es el más común en bibliotecas de transformadores como los modelos GPT y a menudo se denomina "pasos de calentamiento" en los archivos de configuración. Por ejemplo, una ejecución de entrenamiento típica podría usar el 2% del total de pasos de entrenamiento para calentar desde 0.1 hasta la tasa de aprendizaje máxima.
Calentamiento en Modelos de Lenguaje Grandes
Modelos de lenguaje grandes como GPT-3, Llama 2 y BLOOM utilizan una fase de calentamiento para la estabilidad. Por ejemplo, el artículo de GPT-3 informó el uso de un calentamiento de 250,000 pasos (o aproximadamente el 3% del total de pasos) con una disminución coseno hasta el 10% de la tasa inicial. Otros modelos como LLaMA utilizan un programa coseno con calentamiento de 1,000 pasos. El ajuste fino o el preentrenamiento de tales modelos, que a menudo tienen miles de millones de parámetros, requiere un ajuste cuidadoso de la tasa de aprendizaje y la duración del calentamiento, y esto se documenta típicamente en los artículos de investigación.
En la práctica, el calentamiento contribuye a la estabilidad de los bucles de entrenamiento y reduce la posibilidad de divergencia de la pérdida, lo que puede desperdiciar cómputo guardado. En algunos marcos de entrenamiento, el programa de calentamiento se analiza a partir de una configuración de programación de tasa de aprendizaje que permite valores separados para los pasos de calentamiento, el factor inicial de calentamiento y la disminución.
Calentamiento en Visión por Computador
El calentamiento también se utiliza en tareas de visión por computador. El artículo clásico de ResNet en 2015 utilizó un optimizador con momento y una disminución por pasos, pero trabajos posteriores como ResNet en ImageNet recibieron un calentamiento lineal desde una tasa de aprendizaje inicial de 0.1, a menudo aplicado durante 5 épocas. En el entrenamiento de transformadores de visión, el calentamiento es estándar, con ViT utilizando un calentamiento de 500 pasos (aproximadamente 0.5 épocas) en ImageNet. Artículos que utilizaron normalización por lotes en redes neuronales a veces dependieron del calentamiento para compensar la inestabilidad de las estadísticas de normalización por lotes en los primeros lotes.
Consideraciones Prácticas e Hiperparámetros
La duración del calentamiento es un hiperparámetro, seleccionado según el tamaño del modelo, el total de pasos de entrenamiento, el tamaño del lote y el optimizador. Muchas implementaciones usan por defecto un calentamiento lineal de aproximadamente el 10 al 20% del total de pasos de entrenamiento. Para ejecuciones largas, como entrenar un transformador con miles de millones de tokens, el calentamiento podría ser de miles de pasos. Demasiado largo desperdicia cómputo, y demasiado corto puede llevar a divergencia.
La tasa de aprendizaje objetivo después del calentamiento suele ser la tasa de aprendizaje máxima. Este valor a menudo se elige entre 1e-4 y 1e-3 para transformadores típicos con el optimizador Adam. Algunos artículos utilizan una tasa de aprendizaje máxima encontrada mediante un buscador de tasas de aprendizaje o barridos de hiperparámetros. Otra práctica es mantener la tasa de aprendizaje en un nivel constante después del calentamiento y luego usar una disminución exponencial.
El calentamiento a menudo se combina con programación de la tasa de aprendizaje porque es una modificación del programa de tasa de aprendizaje. Bibliotecas como PyTorch (con su programador de tasa de aprendizaje) y TensorFlow admiten funciones integradas para calentamiento y disminución; el código de muestra se utiliza con frecuencia en los scripts de entrenamiento.
Resultados Empíricos y Estudios
Múltiples estudios de investigación han validado el beneficio del calentamiento. En un estudio de 2017 sobre épocas de entrenamiento más largas, un calentamiento de menos de 100 pasos resultó en una mejora relativa del 5% en la precisión de prueba para la clasificación de imágenes. Para modelos a gran escala, una línea base común para el entrenamiento desde cero de transformadores tipo GPT es un aumento gradual de 1,000 pasos con una proporción de 1/3 de calentamiento variable. Un análisis conocido de preimpresión de terceros sobre 'Grokking' en aprendizaje profundo encontró que el calentamiento es crucial para que la arquitectura evite problemas tempranos de atención.
También existen análisis formales del panorama de pérdida durante el calentamiento, que muestran que la curvatura de la pérdida cambia significativamente y que el calentamiento puede ayudar a evitar regiones de mínimos pronunciados. Algunos lo ven como un mecanismo para equilibrar el peso en la cuenca de atracción.
Alternativas y Técnicas Relacionadas
El calentamiento no es el único método para estabilizar el entrenamiento temprano. Los enfoques alternativos incluyen tasas de aprendizaje objetivo más lentas desde el principio, el uso de programas de tasa de aprendizaje como disminución por pasos o cantidades basadas en el uso, o el uso de técnicas de reinicio cálido como disminución coseno con reinicios (que en sí misma incluye una forma de calentamiento). El recorte de gradientes (recorte de gradientes) se utiliza a menudo junto con el calentamiento para mitigar picos. También para optimizadores, el optimizador Adam con betas establecidas en 0.9 y 0.999 puede requerir ajustes durante el calentamiento. Algún trabajo sobre optimizadores sin programa (por ejemplo, el artículo de 2024 de Defazio y Mishchenko) introdujo un método sin programa y sin calentamiento, pero esto sigue siendo menos común.
Direcciones Futuras e Investigación
La investigación de 2023-2025 exploró múltiples fases de calentamiento o calentamiento adaptativo basado en estadísticas de gradiente, pero la práctica estándar sigue siendo el calentamiento lineal. En los recientes esfuerzos de escalado de transformadores, hay un interés persistente en la duración del calentamiento como hiperparámetro en el entrenamiento basado en la nube. Un artículo de 2024 del grupo de investigación de OpenAI afirmó que el calentamiento como fracción de los pasos ha pasado a través de modelos grandes. También hay optimizadores eficientes en memoria que vinculan el calentamiento al primer momento de Adam, pero ninguno lo ha reemplazado.
El calentamiento sigue siendo un componente básico pero crucial que afecta la tasa de convergencia y el rendimiento final en el aprendizaje profundo en dominios como el procesamiento de lenguaje natural, la visión por computador y el aprendizaje por refuerzo. Su implementación simple y su efectividad comprobada aseguran que seguirá siendo estándar en los pipelines de aprendizaje profundo en el futuro previsible.