Feinabstimmung von Sprachmodellen nur mit Vorwärtspass
Fine-Tuning Language Models with Just Forward Passes
May 27, 2023
Autoren: Sadhika Malladi, Tianyu Gao, Eshaan Nichani, Alex Damian, Jason D. Lee, Danqi Chen, Sanjeev Arora
cs.AI
Zusammenfassung
Das Feinabstimmen von Sprachmodellen (Language Models, LMs) hat bei verschiedenen nachgelagerten Aufgaben Erfolge erzielt, aber mit zunehmender Größe der LMs erfordert die Backpropagation einen unverhältnismäßig hohen Speicherbedarf. Methoden nullter Ordnung (Zeroth-Order, ZO) können im Prinzip Gradienten mit nur zwei Vorwärtsdurchläufen schätzen, werden jedoch theoretisch als katastrophal langsam für die Optimierung großer Modelle angesehen. In dieser Arbeit schlagen wir einen speichereffizienten Optimierer nullter Ordnung (MeZO) vor, der die klassische ZO-SGD-Methode anpasst, um direkt im Speicher zu arbeiten und somit LMs mit dem gleichen Speicherbedarf wie bei der Inferenz feinabzustimmen. Beispielsweise kann MeZO mit einer einzigen A100 80GB GPU ein Modell mit 30 Milliarden Parametern trainieren, während die Feinabstimmung mit Backpropagation mit demselben Budget nur ein 2,7-Milliarden-Parameter-LM trainieren kann. Wir führen umfassende Experimente über verschiedene Modelltypen (maskierte und autoregressive LMs), Modellgrößen (bis zu 66 Milliarden) und nachgelagerte Aufgaben (Klassifikation, Multiple-Choice und Generierung) durch. Unsere Ergebnisse zeigen, dass (1) MeZO das In-Context-Lernen und lineare Sondieren deutlich übertrifft; (2) MeZO eine vergleichbare Leistung wie die Feinabstimmung mit Backpropagation über mehrere Aufgaben hinweg erreicht, bei einer Speicherreduzierung von bis zu 12x; (3) MeZO sowohl mit vollständigen Parametern als auch mit parameter-effizienten Feinabstimmungstechniken wie LoRA und Prefix-Tuning kompatibel ist; (4) MeZO nicht differenzierbare Ziele (z.B. Maximierung von Genauigkeit oder F1) effektiv optimieren kann. Wir untermauern unsere empirischen Erkenntnisse mit theoretischen Einblicken, die zeigen, wie angemessenes Vorabtraining und Aufgabenprompts es MeZO ermöglichen, riesige Modelle feinabzustimmen, obwohl klassische ZO-Analysen anderes vermuten lassen.
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.