Qu’est-ce que LoRA, et pourquoi l’utiliser ?

Questions d’entrevue LLM et IA générative

Intermédiaireaffinageloraefficacite

LoRA — adaptation de rang faible — permet d’affiner un modèle en n’entraînant qu’une fraction minuscule de ses paramètres, sans presque rien perdre par rapport à un affinage complet.

Le mécanisme

Pour une matrice de poids W du modèle, un affinage classique apprend une mise à jour ΔW de la même taille. L’hypothèse de LoRA est que cette mise à jour est de rang faible : elle peut s’écrire comme le produit de deux matrices très fines, A et B, avec un rang r de l’ordre de 8 à 64.

On gèle W, on entraîne seulement A et B, et à l’inférence la sortie est celle de W plus celle de B fois A, mise à l’échelle par un facteur alpha divisé par r.

L’ordre de grandeur : sur une matrice de 4096 par 4096, soit 16 millions de paramètres, un rang 16 en demande 131 000. Environ 0,8 %.

Ce que cela change concrètement

  • La mémoire d’entraînement s’effondre. Ce n’est pas tant les poids que les états de l’optimiseur qui coûtent : Adam garde deux moments par paramètre entraîné. En n’entraînant que 1 % des paramètres, on divise cette charge par cent. C’est ce qui rend possible l’affinage d’un modèle de plusieurs milliards de paramètres sur un seul GPU.
  • Les adaptateurs pèsent quelques dizaines de mégaoctets au lieu de plusieurs dizaines de gigaoctets. On les versionne, on les partage, on les échange.
  • Un modèle de base, plusieurs adaptateurs. On peut servir un seul modèle en mémoire et commuter l’adaptateur par requête selon le client ou la tâche. C’est l’argument décisif en production multi-tenant, et celui qu’on attend d’un candidat expérimenté.
  • Le catastrophique oubli est atténué, puisque les poids d’origine sont intacts. On peut toujours revenir au modèle nu en retirant l’adaptateur.

QLoRA, la variante à connaître

Même principe, mais le modèle gelé est chargé quantifié en 4 bits tandis que les adaptateurs restent en précision plus élevée. La mémoire nécessaire baisse encore d’un facteur trois à quatre, au prix d’un entraînement plus lent. C’est ce qui a mis l’affinage de gros modèles à portée d’une machine unique.

Les réglages qui comptent

  • Le rang r : 8 à 16 pour un changement de style ou de format, 32 à 64 pour une tâche plus éloignée du pré-entraînement. Monter r au-delà donne rarement quelque chose.
  • Alpha : le facteur d’échelle. La convention courante est alpha égal à r, ou au double.
  • Où les placer : historiquement sur les projections de requête et de valeur de l’attention. La pratique actuelle est de les mettre sur toutes les matrices linéaires, y compris celles du réseau feed-forward, ce qui donne de meilleurs résultats pour un surcoût faible.

Les limites, à mentionner pour ne pas paraître vendeur

LoRA n’ajoute pas de connaissance factuelle — c’est une limite de l’affinage en général, pas de LoRA. Sur un changement de domaine très profond, un affinage complet garde un léger avantage. Et l’adaptateur ajoute une latence à l’inférence s’il n’est pas fusionné dans les poids ; on peut le fusionner, mais on perd alors la commutation dynamique. Ce dernier arbitrage est celui qu’on tranche selon qu’on sert une tâche ou plusieurs.

Toutes les questions LLM et IA générative