QLoRA: Ottimizzazione Efficiente di Modelli Linguistici Quantizzati
QLoRA: Efficient Finetuning of Quantized LLMs
May 23, 2023
Autori: Tim Dettmers, Artidoro Pagnoni, Ari Holtzman, Luke Zettlemoyer
cs.AI
Abstract
Presentiamo QLoRA, un approccio efficiente per il fine-tuning che riduce l'uso della memoria al punto da consentire il fine-tuning di un modello con 65 miliardi di parametri su una singola GPU da 48 GB, preservando al contempo le prestazioni complete del fine-tuning a 16 bit. QLoRA propaga i gradienti attraverso un modello linguistico preaddestrato quantizzato a 4 bit e congelato, verso Adattatori a Basso Rango (LoRA). La nostra migliore famiglia di modelli, che abbiamo chiamato Guanaco, supera tutti i modelli rilasciati pubblicamente in precedenza sul benchmark Vicuna, raggiungendo il 99,3% delle prestazioni di ChatGPT con solo 24 ore di fine-tuning su una singola GPU. QLoRA introduce diverse innovazioni per risparmiare memoria senza sacrificare le prestazioni: (a) NormalFloat a 4 bit (NF4), un nuovo tipo di dati teoricamente ottimale per pesi distribuiti normalmente, (b) doppia quantizzazione per ridurre l'impronta media della memoria quantizzando le costanti di quantizzazione, e (c) ottimizzatori paginati per gestire picchi di memoria. Utilizziamo QLoRA per eseguire il fine-tuning di oltre 1.000 modelli, fornendo un'analisi dettagliata del rispetto delle istruzioni e delle prestazioni dei chatbot su 8 dataset di istruzioni, diversi tipi di modelli (LLaMA, T5) e scale di modelli che sarebbero impossibili da eseguire con il fine-tuning tradizionale (ad esempio, modelli con 33B e 65B di parametri). I nostri risultati dimostrano che il fine-tuning con QLoRA su un piccolo dataset di alta qualità porta a risultati all'avanguardia, anche utilizzando modelli più piccoli rispetto ai precedenti state-of-the-art. Forniamo un'analisi dettagliata delle prestazioni dei chatbot basata sia su valutazioni umane che su GPT-4, dimostrando che le valutazioni di GPT-4 sono un'alternativa economica e ragionevole alle valutazioni umane. Inoltre, scopriamo che gli attuali benchmark per chatbot non sono affidabili per valutare accuratamente i livelli di prestazione dei chatbot. Un'analisi selettiva evidenzia dove Guanaco fallisce rispetto a ChatGPT. Rilasciamo tutti i nostri modelli e il codice, inclusi i kernel CUDA per l'addestramento a 4 bit.
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.