Feinabstimmung quantisierter neuronaler Netze mit Optimierung nullter Ordnung
Fine-tuning Quantized Neural Networks with Zeroth-order Optimization
May 19, 2025
Autoren: Sifeng Shang, Jiayi Zhou, Chenyu Lin, Minxian Li, Kaiyang Zhou
cs.AI
Zusammenfassung
Da die Größe großer Sprachmodelle exponentiell wächst, ist der GPU-Speicher zu einem Engpass bei der Anpassung dieser Modelle an nachgelagerte Aufgaben geworden. In diesem Artikel streben wir an, die Grenzen des speichereffizienten Trainings zu erweitern, indem wir den Speicherverbrauch für Modellgewichte, Gradienten und Optimiererzustände innerhalb eines einheitlichen Frameworks minimieren. Unsere Idee besteht darin, sowohl Gradienten als auch Optimiererzustände durch die Verwendung von Optimierung nullter Ordnung zu eliminieren, die Gradienten durch die Störung von Gewichten während der Vorwärtspassage approximiert, um Gradientenrichtungen zu identifizieren. Um den Speicherverbrauch für Gewichte zu minimieren, setzen wir Modellquantisierung ein, z. B. die Umwandlung von bfloat16 in int4. Die direkte Anwendung von Optimierung nullter Ordnung auf quantisierte Gewichte ist jedoch aufgrund der Präzisionslücke zwischen diskreten Gewichten und kontinuierlichen Gradienten nicht praktikabel, was sonst eine Dequantisierung und Requantisierung erfordern würde. Um diese Herausforderung zu bewältigen, schlagen wir Quantized Zeroth-order Optimization (QZO) vor, einen neuartigen Ansatz, der die kontinuierliche Quantisierungsskala zur Gradientenschätzung stört und eine Methode zur Begrenzung der Richtungsableitung verwendet, um das Training zu stabilisieren. QZO steht orthogonal zu sowohl skalarbasierten als auch codebuchbasierten Post-Training-Quantisierungsmethoden. Im Vergleich zur Feinabstimmung aller Parameter in bfloat16 kann QZO die gesamten Speicherkosten für 4-Bit-LLMs um mehr als das 18-fache reduzieren und ermöglicht die Feinabstimmung von Llama-2-13B und Stable Diffusion 3.5 Large innerhalb einer einzelnen 24GB-GPU.
English
As the size of large language models grows exponentially, GPU memory has
become a bottleneck for adapting these models to downstream tasks. In this
paper, we aim to push the limits of memory-efficient training by minimizing
memory usage on model weights, gradients, and optimizer states, within a
unified framework. Our idea is to eliminate both gradients and optimizer states
using zeroth-order optimization, which approximates gradients by perturbing
weights during forward passes to identify gradient directions. To minimize
memory usage on weights, we employ model quantization, e.g., converting from
bfloat16 to int4. However, directly applying zeroth-order optimization to
quantized weights is infeasible due to the precision gap between discrete
weights and continuous gradients, which would otherwise require de-quantization
and re-quantization. To overcome this challenge, we propose Quantized
Zeroth-order Optimization (QZO), a novel approach that perturbs the continuous
quantization scale for gradient estimation and uses a directional derivative
clipping method to stabilize training. QZO is orthogonal to both scalar-based
and codebook-based post-training quantization methods. Compared to
full-parameter fine-tuning in bfloat16, QZO can reduce the total memory cost by
more than 18times for 4-bit LLMs, and enables fine-tuning Llama-2-13B and
Stable Diffusion 3.5 Large within a single 24GB GPU.Summary
AI-Generated Summary