Ultralytics YOLO27 : Rejoins la liste d'attente.
Licence YOLO
Retour au glossaire Ultralytics

LoRA (Low-Rank Adaptation)

LoRA affine les grands modèles en gelant leurs poids et en entraînant de petites matrices de mise à jour de faible rang, ce qui réduit le nombre de paramètres entraînables, la mémoire et l’espace de stockage.

LoRA, abréviation de Low-Rank Adaptation, est une méthode d’ajustement fin efficace en paramètres (PEFT) qui adapte un grand modèle préentraîné à une nouvelle tâche en gelant ses poids d’origine et en entraînant une petite paire de matrices dans certaines couches. Leur produit constitue une mise à jour de faible rang ajoutée aux poids gelés ; seule une infime fraction des paramètres reçoit donc des gradients. Présentée par Hu et ses collègues chez Microsoft en 2021, LoRA a réduit de 10 000 fois le nombre de paramètres entraînables de GPT-3 175B et de 3 fois sa mémoire GPU d’entraînement, par rapport à l’ajustement fin complet avec Adam, tout en égalant ou en dépassant la qualité de l’ajustement fin complet sur RoBERTa, DeBERTa, GPT-2 et GPT-3. Aujourd’hui, LoRA sert largement à personnaliser les grands modèles de langage (LLM), les modèles de diffusion et les transformeurs de vision sur du matériel modeste. LoRa, protocole radio longue portée pour les appareils IoT, est un terme sans rapport.

Fonctionnement de LoRA#

L’ajustement fin modifie une matrice de poids préentraînée W de taille d × k par une mise à jour ΔW. LoRA suppose que cette mise à jour a un rang intrinsèque faible ; elle peut donc s’écrire comme le produit de deux matrices minces : ΔW = B × A, où A est de taille r × k, B de taille d × r et le rang r est bien inférieur à d ou k. La sortie de la couche devient h = Wx + (α / r) × BAx, où α est une constante d’échelle fixe. A est initialisée avec de petites valeurs aléatoires et B avec des zéros, de sorte que l’entraînement démarre exactement à partir du modèle préentraîné. Seules A et B sont mises à jour pendant la rétropropagation, ce qui supprime également l’état de l’optimiseur associé à tous les poids gelés.

Pour une projection de 4096 × 4096, l’ajustement fin complet entraîne environ 16,8 millions de poids, tandis qu’un adaptateur de rang 8 en entraîne 8 × (4096 + 4096) = 65 536. Le script PyTorch ci-dessous construit un tel adaptateur et le fusionne dans la couche gelée :

import torch
from torch import nn

# A frozen pretrained 4096 x 4096 projection, like one in a transformer attention block
base = nn.Linear(4096, 4096).requires_grad_(False)

# LoRA's trainable rank-8 update: B @ A, scaled by alpha / r
# B starts at zero, so the adapted layer initially matches the pretrained one
r, alpha = 8, 16
A = nn.Parameter(torch.randn(r, 4096) * 0.01)
B = nn.Parameter(torch.zeros(4096, r))
trainable = A.numel() + B.numel()
total = trainable + sum(p.numel() for p in base.parameters())
print(f"Trainable: {trainable:,} of {total:,} parameters ({trainable / total:.2%})")

# After training, merge the update into the base weight so inference costs nothing extra
nn.init.normal_(B, std=0.01)  # stand-in for trained values
x = torch.randn(2, 4096)
adapted = base(x) + (alpha / r) * (x @ A.T @ B.T)
merged = nn.functional.linear(x, base.weight + (alpha / r) * B @ A, base.bias)
print(f"Merged layer matches adapter output: {torch.allclose(adapted, merged, atol=1e-5)}")

L’adaptateur entraîne 65 536 des 16 846 848 paramètres de la couche, soit 0,39 %, et l’incorporation de B × A dans W produit les mêmes sorties que l’exécution séparée de l’adaptateur. Les modèles LoRA fusionnés s’exécutent donc exactement aussi rapidement que le modèle d’origine, un avantage par rapport aux premières couches d’adaptateur qui ajoutaient du calcul à chaque passe avant.

Utiliser LoRA en pratique#

L’article original n’adaptait que les projections de requête et de valeur de l’attention du transformeur, mais de nombreuses recettes ciblent désormais toutes les couches linéaires. Le rang et α sont les principaux hyperparamètres : la bibliothèque Hugging Face PEFT utilise par défaut r = 8 et α = 8. Comme le modèle de base reste intact, un déploiement peut en conserver une seule copie et permuter de petits adaptateurs propres aux tâches. Avec un rang de 4 sur les projections de requête et de valeur de GPT-3 175B, chaque point de contrôle adapté est passé de 350 Go à environ 35 Mo, soit une taille environ 10 000 fois inférieure.

  • Modèles de langage : Les équipes adaptent des LLM ouverts à un domaine, à un style ou à un format d’instruction avec un seul GPU, souvent en combinant LoRA avec des données d’ajustement sur instructions.
  • Génération d’images : Les fichiers LoRA apprennent à Stable Diffusion et à des modèles similaires un personnage, un produit ou un style artistique ; ils sont partagés et empilés séparément du point de contrôle de base.
  • Modèles de vision et multimodaux : Les adaptateurs spécialisent les transformeurs de vision et les modèles vision-langage (VLM) pour les images médicales, industrielles ou documentaires sans réentraîner le modèle de base.

Variantes#

  • QLoRA : Gèle le modèle de base en précision NormalFloat 4 bits et entraîne des adaptateurs LoRA par-dessus. Dettmers et ses collègues l’ont utilisé pour ajuster un modèle de 65 milliards de paramètres sur un seul GPU de 48 Go, tout en préservant les performances de l’ajustement fin complet en 16 bits.
  • DoRA : Sépare chaque poids préentraîné en une magnitude et une direction, puis applique LoRA uniquement à la direction, ce qui réduit l’écart de précision avec l’ajustement fin complet au même coût d’inférence.
  • Ajustement fin efficace en paramètres : Terme générique désignant les méthodes qui n’entraînent qu’une petite partie d’un modèle. Le gel de couches en est la forme la plus simple ; Ultralytics YOLO le propose avec l’argument d’entraînement freeze, qui conserve les N premières couches d’un modèle YOLO26 à leurs poids préentraînés pendant l’entraînement des autres couches.
  • Fine-tuning complet : met à jour tous les poids et stocke une copie complète du modèle pour chaque tâche. En programmation et en mathématiques, le fine-tuning complet a nettement surpassé LoRA standard, tandis que LoRA a moins souffert de l’oubli catastrophique des autres compétences du modèle de base.
  • Réglage de prompt : Apprend des plongements de prompts souples ajoutés en préfixe à l’entrée, tandis que tous les poids du modèle restent gelés.
  • Apprentissage par transfert : Principe général qui consiste à réutiliser les connaissances acquises pour une tâche dans une autre. LoRA est une méthode efficace pour le faire.
  • Fusion de modèles : Combine les poids de modèles ajustés séparément ; fusionner plusieurs adaptateurs LoRA dans un même modèle de base en est un cas courant.

Découvre les solutions

La vision par ordinateur dans le sport

La vision par ordinateur dans le sport

Découvre comment Ultralytics YOLO propulse la vision par ordinateur dans le sport grâce au suivi des joueurs et du ballon, aux analyses de performance, aux conseils d’entraînement et à la rééducation des athlètes.
En savoir plus
Vision par ordinateur pour les images aériennes

Vision par ordinateur pour les images aériennes

Transforme les images de drones et les images aériennes en informations exploitables en temps réel pour l’agriculture, l’aquaculture, la conservation et l’analyse géospatiale avec Ultralytics YOLO.
En savoir plus
Vision par ordinateur dans l’aérospatiale

Vision par ordinateur dans l’aérospatiale

Applique la vision par ordinateur dans l’aérospatiale avec Ultralytics YOLO pour l’inspection des aéronefs, la détection des corps étrangers sur les pistes, les opérations au sol des aéroports et la détection des défauts des matériaux composites.
En savoir plus
La vision par ordinateur dans la sécurité

La vision par ordinateur dans la sécurité

Protège chaque site avec les modèles Ultralytics YOLO. L’IA visuelle permet la surveillance des périmètres, la détection des menaces, la reconnaissance des plaques d’immatriculation et la sécurité au travail.
En savoir plus
La vision par ordinateur en robotique

La vision par ordinateur en robotique

Donne plus de capacités à tes machines grâce aux modèles Ultralytics YOLO. Dans la robotique, l’IA visuelle permet la navigation autonome, la perception, le suivi des objets et le contrôle en temps réel.
En savoir plus
La vision par ordinateur dans la logistique

La vision par ordinateur dans la logistique

Optimise la logistique avec les modèles Ultralytics YOLO. La vision par IA permet d’inspecter les colis, de les trier, de suivre les véhicules et de surveiller la sécurité des entrepôts en temps réel.
En savoir plus
La vision par ordinateur dans le commerce de détail

La vision par ordinateur dans le commerce de détail

Réinvente le commerce de détail avec les modèles Ultralytics YOLO. La vision par IA permet de suivre les stocks, de surveiller les rayons, de gérer les files d’attente et de mieux comprendre les clients.
En savoir plus
La vision par ordinateur dans le secteur de la santé

La vision par ordinateur dans le secteur de la santé

Crée des solutions de santé avec les modèles Ultralytics YOLO. La vision par IA dans le secteur de la santé accélère l’imagerie médicale, améliore les diagnostics et facilite la surveillance des patients.
En savoir plus
La vision par ordinateur dans l’industrie manufacturière

La vision par ordinateur dans l’industrie manufacturière

Optimise la fabrication avec les modèles Ultralytics YOLO. La vision par IA améliore le contrôle qualité, la détection des défauts, le respect des règles concernant les EPI et l’automatisation des chaînes de montage.
En savoir plus
La vision par ordinateur dans l’automobile

La vision par ordinateur dans l’automobile

Mets la vision par ordinateur au service de l’automobile avec les modèles Ultralytics YOLO. La vision par IA renforce la sécurité routière, l’aide à la conduite et l’automatisation des véhicules pour des routes plus intelligentes.
En savoir plus
Vision par ordinateur dans l’agriculture

Vision par ordinateur dans l’agriculture

Fais entrer l’IA de vision dans l’agriculture intelligente avec les modèles Ultralytics YOLO. Optimise le suivi des cultures et du bétail ainsi que l’agriculture de précision pour obtenir des rendements plus élevés et plus intelligents.
En savoir plus

Construisons ensemble l’avenir de l’IA !

Commence ton parcours vers l’avenir de l’apprentissage automatique