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.