QLoRA : Ajustement efficace de grands modèles de langage quantifiés
QLoRA: Efficient Finetuning of Quantized LLMs
May 23, 2023
Auteurs: Tim Dettmers, Artidoro Pagnoni, Ari Holtzman, Luke Zettlemoyer
cs.AI
Résumé
Nous présentons QLoRA, une approche efficace de fine-tuning qui réduit suffisamment l'utilisation de la mémoire pour permettre le fine-tuning d'un modèle de 65 milliards de paramètres sur un seul GPU de 48 Go tout en conservant les performances complètes d'une tâche de fine-tuning en 16 bits. QLoRA propage les gradients à travers un modèle de langage pré-entraîné quantifié en 4 bits et gelé, vers des adaptateurs de bas rang (LoRA). Notre meilleure famille de modèles, que nous nommons Guanaco, surpasse tous les modèles précédemment publiés en accès libre sur le benchmark Vicuna, atteignant 99,3 % des performances de ChatGPT tout en ne nécessitant que 24 heures de fine-tuning sur un seul GPU. QLoRA introduit plusieurs innovations pour économiser la mémoire sans sacrifier les performances : (a) le NormalFloat 4 bits (NF4), un nouveau type de données théoriquement optimal pour les poids distribués normalement, (b) la double quantification pour réduire l'empreinte mémoire moyenne en quantifiant les constantes de quantification, et (c) les optimiseurs paginés pour gérer les pics de mémoire. Nous utilisons QLoRA pour fine-tuner plus de 1 000 modèles, fournissant une analyse détaillée du suivi d'instructions et des performances de chatbot sur 8 ensembles de données d'instructions, plusieurs types de modèles (LLaMA, T5), et des échelles de modèles qui seraient impossibles à exécuter avec un fine-tuning classique (par exemple, des modèles de 33B et 65B paramètres). Nos résultats montrent que le fine-tuning QLoRA sur un petit ensemble de données de haute qualité conduit à des résultats de pointe, même en utilisant des modèles plus petits que les précédents SoTA. Nous fournissons une analyse détaillée des performances des chatbots basée à la fois sur des évaluations humaines et GPT-4, montrant que les évaluations GPT-4 sont une alternative économique et raisonnable à l'évaluation humaine. De plus, nous constatons que les benchmarks actuels de chatbots ne sont pas fiables pour évaluer avec précision les niveaux de performance des chatbots. Une analyse ciblée démontre où Guanaco échoue par rapport à ChatGPT. Nous publions tous nos modèles et codes, y compris les noyaux CUDA pour l'entraînement en 4 bits.
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.