LoRA (Low-Rank Adaptation) est une technique efficace utilisée pour adapter de grands modèles d'apprentissage machine (ML) pré-entraînés, tels que ceux utilisés pour le traitement du langage naturel (NLP) ou la vision par ordinateur (CV), à des tâches ou des ensembles de données spécifiques sans réentraîner l'ensemble du modèle. Il réduit considérablement le coût de calcul et les besoins en mémoire associés au réglage fin de modèles massifs, ce qui rend l'IA avancée plus accessible. LoRA s'inscrit dans le cadre des méthodes de paramétrage fin efficace (PEFT), qui se concentrent sur l'adaptation des modèles avec des changements minimaux de leurs paramètres.
Pertinence et avantages
Le principal avantage de la LoRA est son efficacité, qui se traduit par plusieurs avantages clés :
- Coût de calcul réduit : Nécessite beaucoup moins de mémoireGPU et de puissance de calcul par rapport à un réglage fin complet, ce qui permet d'adapter de grands modèles sur du matériel moins puissant.
- Empreinte de stockage plus petite : Puisque les poids du modèle original sont gelés, seuls les petits adaptateurs LoRA doivent être sauvegardés pour chaque tâche spécifique. C'est beaucoup plus efficace que de stocker une copie complète du modèle affiné pour chaque tâche.
- Passage plus rapide d'une tâche à l'autre : le chargement de différents adaptateurs LoRA permet de passer rapidement d'une tâche à l'autre sans avoir à charger de grands modèles entièrement nouveaux.
- Des performances comparables : Malgré l'apprentissage de beaucoup moins de paramètres, LoRA atteint souvent des niveaux de précision similaires à ceux obtenus par un réglage fin complet sur des tâches spécifiques en aval.
- Permettre le déploiement en périphérie : La réduction des besoins en ressources facilite l'adaptation des modèles aux scénarios d'edge computing où la puissance de calcul et la mémoire sont limitées, ce qui permet d'apporter de puissantes capacités d'IA à des appareils comme les smartphones ou les systèmes embarqués(Edge AI expliqué par Intel).
- Démocratisation : Abaisse la barrière à l'entrée pour les chercheurs et les développeurs qui souhaitent personnaliser des modèles de pointe comme GPT-4 ou Ultralytics YOLO d'Ultralytics.
LoRA et concepts connexes
Il est utile de distinguer la LoRA des autres techniques d'adaptation des modèles :
- Mise au point complète : Cette méthode met à jour tous les poids d'un modèle pré-entraîné sur un nouvel ensemble de données. Bien que souvent efficace, elle nécessite des ressources informatiques et un stockage importants pour chaque modèle adapté. LoRA, en revanche, fige les poids d'origine et n'entraîne que les petites matrices d'adaptation injectées. Tu trouveras plus de détails dans notre glossaire sur le réglage fin et dans la présentation du réglage fin deNVIDIA.
- Réglage des invites : Cette technique maintient les poids du modèle complètement gelés et apprend à la place des "invites douces" continues (vecteurs ajoutés à l'intégration des données d'entrée) pour orienter le comportement du modèle pour des tâches spécifiques. Contrairement à LoRA, elle ne modifie pas les poids du modèle mais se concentre uniquement sur l'adaptation de la représentation de l'entrée. En savoir plus sur le réglage des invites et l'ingénierie des invites.
- Autres méthodes PEFT : LoRA n'est qu'une technique parmi d'autres dans le domaine plus large du Parameter-Efficient Fine-Tuning (PEFT). Les autres méthodes comprennent Adapter Tuning (similaire mais avec des structures d'adaptateur légèrement différentes), Prefix Tuning, et IA³, chacune offrant des compromis différents en matière d'efficacité des paramètres et de performance.
En résumé, LoRA offre un moyen puissant et économe en ressources de personnaliser de grands modèles de base pré-entraînés pour un large éventail de tâches spécifiques à la fois en NLP et en vision par ordinateur, ce qui rend l'IA avancée plus pratique et accessible.
Comment fonctionne la LoRA
Le réglage fin traditionnel consiste à mettre à jour tous les paramètres (ou poids du modèle) d'un modèle pré-entraîné à l'aide de nouvelles données. Pour les modèles comportant des milliards de paramètres, comme de nombreux LLM modernes ou de grands modèles de vision, ce processus exige des ressources informatiques considérables, en particulier des processeurs GPU et du temps. LoRA part du principe, étayé par la recherche, que les changements nécessaires à l'adaptation d'un modèle résident souvent dans un espace de moindre dimension, ce qui signifie qu'il n'est pas nécessaire de modifier chaque poids.
Au lieu de modifier tous les poids d'origine, LoRA les fige et injecte des matrices de "faible rang", plus petites et entraînables, dans des couches spécifiques de l'architecture du modèle, souvent dans des blocs Transformer (un composant commun à de nombreux grands modèles, expliqué plus en détail dans l'article L'attention est tout ce dont tu as besoin). Seules ces matrices nouvellement ajoutées (souvent appelées adaptateurs) sont mises à jour au cours du processus de réglage fin. Cela réduit considérablement le nombre de paramètres pouvant être entraînés, souvent par des ordres de grandeur (par exemple, des millions au lieu de milliards), tout en obtenant des performances comparables à celles d'un réglage fin complet dans de nombreux cas. Le document de recherche LoRA original fournit des détails techniques supplémentaires sur la méthodologie et son efficacité. Cette approche rend le processus de réglage fin beaucoup plus rapide et moins gourmand en mémoire.