QLoRA : Adaptation efficace des LLM quantifiés

Nous présentons QLoRA, une approche d'ajustage fin efficace qui réduit suffisamment la consommation mémoire pour permettre l'ajustage fin d'un modèle de 65 milliards de paramètres sur une seule GPU de 48 Go, tout en préservant les performances complètes en ajustage fin en 16 bits. QLoRA propage les gradients à travers un modèle préentraîné gelé, quantifié à 4 bits, vers des adaptateurs à rang faible (LoRA). Notre meilleure famille de modèles, que nous nommons Guanaco, surpassent tous les modèles précédemment publiés de manière ouverte sur le benchmark Vicuna, atteignant 99,3 % du niveau de performance de ChatGPT, tout en nécessitant uniquement 24 heures d'ajustage fin sur une seule GPU. QLoRA introduit plusieurs innovations visant à réduire la mémoire sans compromettre les performances : (a) le type de données NF4 (NormalFloat à 4 bits), un nouveau format d'information théoriquement optimal pour des poids distribués normalement ; (b) une double quantification, permettant de réduire le pied de mémoire moyen en quantifiant les constantes de quantification ; (c) des optimiseurs paginés, permettant de gérer efficacement les pics de consommation mémoire. Nous avons utilisé QLoRA pour ajuster fin plus de 1 000 modèles, offrant une analyse détaillée de la capacité de suivi d'instructions et des performances de chatbots sur 8 jeux de données d'instructions, plusieurs types de modèles (LLaMA, T5) et plusieurs échelles de modèles, rendues impossibles à exécuter par un ajustage fin classique (par exemple, des modèles de 33 et 65 milliards de paramètres). Nos résultats montrent qu'un ajustage fin QLoRA sur un petit jeu de données de haute qualité permet d'obtenir des performances de pointe, même avec des modèles plus petits que ceux des précédents états de l'art. Nous fournissons une analyse détaillée des performances de chatbots basée à la fois sur des évaluations humaines et sur des évaluations par GPT-4, démontrant que les évaluations par GPT-4 constituent une alternative économique et raisonnable aux évaluations humaines. En outre, nous constatons que les benchmarks actuels de chatbots ne sont pas fiables pour évaluer précisément les performances des chatbots. Une analyse « à la recherche de la cerise » illustre les points faibles de Guanaco par rapport à ChatGPT. Nous mettons à disposition l'ensemble de nos modèles et de notre code, y compris des noyaux CUDA pour l'entraînement à 4 bits.