Ajuste Fino de Modelos de Lenguaje con Solo Pases hacia Adelante
Fine-Tuning Language Models with Just Forward Passes
May 27, 2023
Autores: Sadhika Malladi, Tianyu Gao, Eshaan Nichani, Alex Damian, Jason D. Lee, Danqi Chen, Sanjeev Arora
cs.AI
Resumen
El ajuste fino de modelos de lenguaje (LMs) ha demostrado éxito en diversas tareas posteriores, pero a medida que los LMs aumentan en tamaño, la retropropagación requiere una cantidad prohibitivamente grande de memoria. Los métodos de orden cero (ZO) pueden, en principio, estimar gradientes utilizando solo dos pasadas hacia adelante, pero se teoriza que son catastróficamente lentos para optimizar modelos grandes. En este trabajo, proponemos un optimizador de orden cero eficiente en memoria (MeZO), adaptando el método clásico ZO-SGD para operar in situ, permitiendo así ajustar finamente LMs con la misma huella de memoria que la inferencia. Por ejemplo, con una sola GPU A100 de 80GB, MeZO puede entrenar un modelo de 30 mil millones de parámetros, mientras que el ajuste fino con retropropagación solo puede entrenar un LM de 2.7B con el mismo presupuesto. Realizamos experimentos exhaustivos en diversos tipos de modelos (LMs enmascarados y autoregresivos), escalas de modelos (hasta 66B) y tareas posteriores (clasificación, opción múltiple y generación). Nuestros resultados demuestran que (1) MeZO supera significativamente el aprendizaje en contexto y el sondeo lineal; (2) MeZO logra un rendimiento comparable al ajuste fino con retropropagación en múltiples tareas, con una reducción de memoria de hasta 12x; (3) MeZO es compatible tanto con técnicas de ajuste de parámetros completos como con técnicas de ajuste eficiente de parámetros como LoRA y ajuste de prefijo; (4) MeZO puede optimizar efectivamente objetivos no diferenciables (por ejemplo, maximizar la precisión o F1). Apoyamos nuestros hallazgos empíricos con perspectivas teóricas, destacando cómo un preentrenamiento adecuado y las indicaciones de tareas permiten a MeZO ajustar finamente modelos enormes, a pesar de que los análisis clásicos de ZO sugieran lo contrario.
English
Fine-tuning language models (LMs) has yielded success on diverse downstream
tasks, but as LMs grow in size, backpropagation requires a prohibitively large
amount of memory. Zeroth-order (ZO) methods can in principle estimate gradients
using only two forward passes but are theorized to be catastrophically slow for
optimizing large models. In this work, we propose a memory-efficient
zerothorder optimizer (MeZO), adapting the classical ZO-SGD method to operate
in-place, thereby fine-tuning LMs with the same memory footprint as inference.
For example, with a single A100 80GB GPU, MeZO can train a 30-billion parameter
model, whereas fine-tuning with backpropagation can train only a 2.7B LM with
the same budget. We conduct comprehensive experiments across model types
(masked and autoregressive LMs), model scales (up to 66B), and downstream tasks
(classification, multiple-choice, and generation). Our results demonstrate that
(1) MeZO significantly outperforms in-context learning and linear probing; (2)
MeZO achieves comparable performance to fine-tuning with backpropagation across
multiple tasks, with up to 12x memory reduction; (3) MeZO is compatible with
both full-parameter and parameter-efficient tuning techniques such as LoRA and
prefix tuning; (4) MeZO can effectively optimize non-differentiable objectives
(e.g., maximizing accuracy or F1). We support our empirical findings with
theoretical insights, highlighting how adequate pre-training and task prompts
enable MeZO to fine-tune huge models, despite classical ZO analyses suggesting
otherwise.