QLoRA: Effizientes Feinabstimmen quantisierter großer Sprachmodelle
QLoRA: Efficient Finetuning of Quantized LLMs
May 23, 2023
Autoren: Tim Dettmers, Artidoro Pagnoni, Ari Holtzman, Luke Zettlemoyer
cs.AI
Zusammenfassung
Wir stellen QLoRA vor, einen effizienten Feinabstimmungsansatz, der den Speicherverbrauch so weit reduziert, dass ein Modell mit 65 Milliarden Parametern auf einer einzelnen 48GB-GPU feinabgestimmt werden kann, während die volle 16-Bit-Leistung bei der Feinabstimmungsaufgabe erhalten bleibt. QLoRA propagiert Gradienten durch ein eingefrorenes, 4-Bit-quantisiertes vortrainiertes Sprachmodell in Low-Rank-Adapter (LoRA). Unsere beste Modellfamilie, die wir Guanaco nennen, übertrifft alle bisher offen veröffentlichten Modelle im Vicuna-Benchmark und erreicht 99,3 % der Leistung von ChatGPT, während nur 24 Stunden Feinabstimmung auf einer einzelnen GPU benötigt werden. QLoRA führt mehrere Innovationen ein, um Speicher zu sparen, ohne die Leistung zu beeinträchtigen: (a) 4-Bit NormalFloat (NF4), ein neuer Datentyp, der informationstheoretisch optimal für normalverteilte Gewichte ist, (b) doppelte Quantisierung, um den durchschnittlichen Speicherbedarf durch die Quantisierung der Quantisierungskonstanten zu reduzieren, und (c) gepagerte Optimierer, um Speicherspitzen zu verwalten. Wir verwenden QLoRA, um mehr als 1.000 Modelle fein abzustimmen, und bieten eine detaillierte Analyse der Befolgung von Anweisungen und der Chatbot-Leistung über 8 Anweisungsdatensätze, mehrere Modelltypen (LLaMA, T5) und Modellgrößen hinweg, die mit regulärer Feinabstimmung nicht durchführbar wären (z.B. 33B und 65B Parameter-Modelle). Unsere Ergebnisse zeigen, dass die QLoRA-Feinabstimmung auf einem kleinen, hochwertigen Datensatz zu state-of-the-art Ergebnissen führt, selbst wenn kleinere Modelle als der bisherige SoTA verwendet werden. Wir bieten eine detaillierte Analyse der Chatbot-Leistung basierend auf sowohl menschlichen als auch GPT-4-Bewertungen, die zeigen, dass GPT-4-Bewertungen eine kostengünstige und vernünftige Alternative zur menschlichen Bewertung darstellen. Darüber hinaus stellen wir fest, dass aktuelle Chatbot-Benchmarks nicht vertrauenswürdig sind, um die Leistungsniveaus von Chatbots genau zu bewerten. Eine gezielte Analyse zeigt, wo Guanaco im Vergleich zu ChatGPT versagt. Wir veröffentlichen alle unsere Modelle und Code, einschließlich CUDA-Kernels für das 4-Bit-Training.
English
We present QLoRA, an efficient finetuning approach that reduces memory usage
enough to finetune a 65B parameter model on a single 48GB GPU while preserving
full 16-bit finetuning task performance. QLoRA backpropagates gradients through
a frozen, 4-bit quantized pretrained language model into Low Rank
Adapters~(LoRA). Our best model family, which we name Guanaco, outperforms all
previous openly released models on the Vicuna benchmark, reaching 99.3% of the
performance level of ChatGPT while only requiring 24 hours of finetuning on a
single GPU. QLoRA introduces a number of innovations to save memory without
sacrificing performance: (a) 4-bit NormalFloat (NF4), a new data type that is
information theoretically optimal for normally distributed weights (b) double
quantization to reduce the average memory footprint by quantizing the
quantization constants, and (c) paged optimziers to manage memory spikes. We
use QLoRA to finetune more than 1,000 models, providing a detailed analysis of
instruction following and chatbot performance across 8 instruction datasets,
multiple model types (LLaMA, T5), and model scales that would be infeasible to
run with regular finetuning (e.g. 33B and 65B parameter models). Our results
show that QLoRA finetuning on a small high-quality dataset leads to
state-of-the-art results, even when using smaller models than the previous
SoTA. We provide a detailed analysis of chatbot performance based on both human
and GPT-4 evaluations showing that GPT-4 evaluations are a cheap and reasonable
alternative to human evaluation. Furthermore, we find that current chatbot
benchmarks are not trustworthy to accurately evaluate the performance levels of
chatbots. A lemon-picked analysis demonstrates where Guanaco fails compared to
ChatGPT. We release all of our models and code, including CUDA kernels for
4-bit training.