Techniques LoRA et QLoRA
L'adaptation par modèle auxiliaire (Low-Rank Adaptation, LoRA) et l'adaptation par modèle auxiliaire quantifiée (Quantized Low-Rank Adaptation, QLoRA) sont toutes deux des techniques d'entraînement de modèles d'intelligence artificielle (IA). Plus précisément, elles désignent des formes de réglage fin efficace des paramètres (PEFT), une technique de réglage fin couramment utilisée en raison de son utilisation efficace des ressources par rapport à d'autres méthodes d'entraînement de grands modèles de langage (LLM).
Si les deux techniques aident au réglage fin efficace des LLM, elles présentent des différences en matière de manipulation du modèle et d'utilisation du stockage pour atteindre les résultats escomptés.
Différences entre les techniques LoRA et QLoRA, et le réglage fin classique
Les LLM sont des modèles complexes constitués de nombreux paramètres (parfois des milliards) qui permettent leur entraînement à partir d'un certain volume de données. Une quantité plus importante de paramètres implique un plus grand stockage de données et, globalement, des capacités renforcées.
La méthode de réglage fin traditionnelle implique de réadapter (via une mise à jour ou un réajustement) chacun des paramètres afin de mettre à jour le LLM. Parfois, le modèle peut être constitué de milliards de paramètres, ce qui représente un temps de calcul et un coût considérables.
La mise à jour de chaque paramètre peut conduire au « surajustement », qui a lieu lorsque le modèle d'IA apprend du bruit ou des données inutiles en plus des données d'entraînement générales.
Prenons l'exemple d'un professeur et ses élèves. La classe a appris les mathématiques durant toute l'année. Juste avant l'examen, le professeur souligne l'importance de la division longue. Pendant l'examen, plusieurs élèves se concentrent tellement sur la division longue qu'ils ont oublié comment résoudre des équations essentielles de parties tout aussi importantes. Cet exemple illustre les effets du surajustement sur le LLM lors d'un réglage fin classique.
En plus des problèmes de surajustement, la méthode de réglage fin traditionnelle peut engendrer une forte utilisation des ressources, et donc un coût important.
Les techniques de réglage fin QLoRA et LoRA offrent des raccourcis qui renforcent l'efficacité du réglage fin dans son ensemble. Plutôt que d'entraîner tous les paramètres, elles divisent le modèle en matrices pour n'entraîner que les paramètres nécessaires à l'apprentissage de nouvelles informations.
Pour poursuivre avec notre exemple, ces techniques de réglage fin sont capables d'introduire efficacement de nouveaux sujets, sans écarter le modèle des autres sujets de l'examen.
Red Hat AI
Fonctionnement de la technique LoRA
La technique LoRA utilise de nouveaux paramètres pour entraîner le modèle d'IA à partir de nouvelles données.
Plutôt que d'entraîner tout le modèle et ses pondérations préentraînées, elles sont mises de côté (ou figées) afin de n'entraîner qu'une petite partie de ces paramètres. Ces échantillons sont désignés « matrices d'adaptation à faible rang », d'où le terme anglais « LoRA ».
On les appelle ainsi en raison du faible nombre de paramètres et de pondérations qu'ils contiennent. Une fois entraînés, ils sont associés aux paramètres d'origine pour fonctionner en tant que matrice unique. Cette technique permet d'effectuer le réglage fin bien plus efficacement.
Pour mieux comprendre, imaginons que la matrice LoRA est une ligne ou une colonne ajoutée à la matrice.
L'illustration suivante correspond à tous les paramètres qui feront l'objet de l'entraînement :

L'entraînement de toutes les pondérations des paramètres prend du temps et de la mémoire, et s'avère coûteux. Une fois terminé, un entraînement plus poussé peut être nécessaire, sans compter la quantité de ressources utilisées.
La colonne suivante représente une pondération à faible rang :

Lorsque les nouveaux paramètres à faible rang ont été entraînés, la ligne ou la colonne est ajoutée à la matrice d'origine. Le nouvel entraînement peut ainsi être ajouté aux paramètres.

Le modèle d'IA peut désormais fonctionner avec les pondérations qui viennent d'être soumises au réglage fin.
L'entraînement de la pondération à faible rang est plus rapide, économique et utilise moins de mémoire. Une fois l'échantillon entraîné, il peut appliquer ce qu'il a appris dans la matrice globale sans utiliser de mémoire supplémentaire.
Avantages de la technique LoRA
La technique LoRA permet d'accélérer, de simplifier et d'optimiser le réglage fin du modèle. Ses avantages incluent :
- Diminution des paramètres à entraîner
- Réduction du risque de surajustement
- Accélération du délai d'entraînement
- Réduction des besoins en mémoire
- Augmentation de la flexibilité d'ajustement (l'entraînement peut se concentrer sur une partie du modèle)
Fonctionnement de la technique QLoRA
La technique QLoRA est similaire à la technique LoRA dont elle est issue, mais elle présente un atout supplémentaire : elle utilise moins de mémoire.
Dans « QLoRA », la lettre « Q » signifie « quantifiée ». Dans ce contexte, la quantification du modèle désigne la compression de paramètres très complexes et précis (présentant beaucoup de nombres décimaux et une forte demande en mémoire) afin de les réduire et les rendre plus concis.
L'objectif est de soumettre une partie du modèle au réglage fin à l'aide des ressources de stockage et la mémoire d'un seul processeur graphique (GPU). Pour ce faire, la technique utilise le nouveau type de données NF4 NormalFloat (4 bits), qui est capable de quantifier les matrices en utilisant moins de ressources de mémoire que la technique LoRA. En comprimant les paramètres en données plus petites et faciles à gérer, la technique permet de réduire l'empreinte mémoire nécessaire jusqu'à quatre fois sa taille d'origine.
Une fois le modèle quantifié, l'utilisateur peut plus facilement effectuer son réglage fin en raison de sa petite taille.
Imaginons que la ligne suivante correspond aux paramètres d'origine du modèle :

Parmi ces 12 paramètres, 3 sont verts, 6 sont bleus, 2 sont jaunes et 1 est rose. Lorsque le modèle est quantifié, il est comprimé en une représentation du modèle précédent.

Après cette étape, il ne nous reste qu'un échantillon contenant 1 paramètre vert, 2 paramètres bleus et 1 paramètre jaune.
Lors de la quantification, nous risquons de perdre des données pendant la compression en raison de leur petite taille. Par exemple, le paramètre rose est manquant, car il ne constituait qu'une petite fraction du paramètre et ne représentait pas assez de données pour être reporté dans la version comprimée.
Si, dans cet exemple, le nombre de paramètres passe de 12 à 4, dans la réalité, des milliards de paramètres sont comprimés pour former un nombre fini pouvant être plus facilement réglé à l'aide d'un seul GPU.
Dans l'idéal, les données perdues peuvent être récupérées à partir des paramètres d'origine lorsque la matrice venant d'être entraînée est rajoutée à la matrice d'origine, sans pour autant perdre en précision ou en exactitude, mais ce n'est toutefois pas garanti.
Cette technique associe calcul haute performance et stockage de la mémoire à faible maintenance, ce qui permet de garantir l'extrême précision du modèle à l'aide de ressources limitées.
Avantages de la technique QLoRA
QLoRA est une technique qui met l'accent sur de faibles besoins en mémoire. À l'instar de la technique LoRA, elle privilégie l'efficacité afin d'accélérer et de faciliter le processus de réglage fin. Ses avantages incluent :
- Diminution des besoins en mémoire par rapport à la technique LoRA
- Diminution des risques de surajustement des données
- Maintien d'un niveau élevé de précision
- Rapidité et facilité du réglage des modèles
Quel niveau de précision perd-on lors de la quantification des LLM ? Découvrez ce qui se passe lors de l'évaluation d'un demi-million de LLM quantifiés.
LoRA et QLoRA : quelles différences ?
La technique LoRA peut être utilisée seule pour effectuer un réglage fin efficace des modèles. La technique QLoRA s'utilise quant à elle pour compléter la technique LoRA avec des processus qui renforcent son efficacité. De plus, elle nécessite nettement moins d'espace de stockage.
Pour déterminer la technique la plus adaptée à leurs besoins, les entreprises doivent réfléchir aux capacités de stockage et aux ressources dont elles disposent. En cas d'espace de stockage limité, la technique QLoRA sera plus facile à exécuter.
Nos solutions
Red Hat® AI est une gamme de produits et services qui permettent aux entreprises d'avancer dans le déploiement de l'IA, qu'elles soient au tout début du processus ou déjà prêtes à évoluer dans le cloud hybride.
Elles bénéficient de modèles spécifiques, de techniques de personnalisation efficaces ainsi que de la flexibilité nécessaire pour développer et déployer des applications dans tous types d'environnements.