Comment un modèle géant apprend votre tâche en n'entraînant presque rien.

SRC·18 Source
Adaptez un modèle géant en entraînant un fragment tenant dans un e-mail.

Adaptez un modèle géant en entraînant un fragment tenant dans un e-mail.

Le réglage fin complet modifie chaque poids d'un modèle qui en compte des milliards — et stocke une copie entière pour chaque nouvelle tâche. Impossible d'en garder une douzaine. LoRA gèle le géant et entraîne à la place un petit module : assez léger pour tenir dans un e-mail, s'échanger et s'empiler. Le même modèle dessous, une compétence neuve, presque rien de stocké.
L'ancienne méthode réentraîne tout — une copie neuve par tâche.

L'ancienne méthode réentraîne tout — une copie neuve par tâche.

WFT=W0+ΔW,ΔWRd×kW_{\text{FT}} = W_0 + \Delta W, \quad \Delta W \in \mathbb{R}^{d \times k}
Pour spécialiser un géant, le réglage fin classique apprend un changement ΔW exactement de la taille des poids d'origine — chacun de ses d×k nombres libre de bouger. Faites-le pour dix tâches et vous stockez dix modèles entiers. Comme réimprimer l'atlas entier pour redessiner une seule rue : le changement est minime, et pourtant vous refaites tout le livre.
Premier geste : ne touchez pas du tout au géant.

Premier geste : ne touchez pas du tout au géant.

h=W0x+ΔWx,W0  frozenh = W_0 x + \Delta W x, \quad W_0 \;\text{frozen}
LoRA laisse les poids pré-entraînés gelés — pas un seul n'apprend. La sortie reste la réponse propre du géant, plus une petite correction séparée que vous entraînez, elle. Comme une feuille d'acétate transparente posée sur un plan : le dessin du dessous ne change jamais ; vous tracez vos retouches sur le calque par-dessus.
Deuxième geste : rendez cette correction simple.

Deuxième geste : rendez cette correction simple.

ΔW=BA,BRd×r, ARr×k,  rmin(d,k)\Delta W = B A, \quad B \in \mathbb{R}^{d \times r},\ A \in \mathbb{R}^{r \times k},\ \ r \ll \min(d,k)
Voici l'astuce : forcez le changement à être de rang faible. Au lieu d'un bloc d×k complet, écrivez ΔW = B·A — deux matrices maigres partageant une taille étroite de largeur r, bien plus petite que chaque côté. Comme une marionnette : quelques fils seulement animent toute la figure déployée. La grande mise à jour n'a vraiment qu'une poignée de tirages indépendants.
Maintenant, comptez ce que vous entraînez vraiment.

Maintenant, comptez ce que vous entraînez vraiment.

r(d+k)    dkr(d+k) \;\ll\; d\,k
Une mise à jour complète, c'est d×k nombres. Deux matrices maigres, ce n'est que r(d+k). Pour une couche large de 12288 avec r = 8, c'est des centaines de fois moins — tout un réglage de modèle réduit à un fragment que l'on stocke à la douzaine. Comme les quelques retouches d'un tailleur : personne ne coud un costume neuf, une poignée de points rend le prêt-à-porter vôtre.
Démarrez sans rien ajouter, puis entrez en douceur.

Démarrez sans rien ajouter, puis entrez en douceur.

h=W0x+αrBAx,B=0,  AN(0,σ2)  (at init)h = W_0 x + \frac{\alpha}{r} B A x, \qquad B = 0,\ \ A \sim \mathcal{N}(0,\sigma^2)\ \ \text{(at init)}
Comment démarrer sans risque ? Mettez B = 0 et remplissez A d'un peu de bruit aléatoire, pour que le module parte d'exactement zéro — au premier pas, vous vous comportez comme le géant intact. Puis l'entraînement fait entrer la correction, doucement mise à l'échelle par α/r. Comme les lumières de scène montant depuis le noir : rien n'est ajouté d'abord, puis la nouvelle scène arrive lentement, jamais d'un coup.
À l'exécution, le module disparaît.

À l'exécution, le module disparaît.

W=W0+αrBAW = W_0 + \frac{\alpha}{r} B A
Une fois entraînées, repliez les deux matrices maigres dans la grande. Le modèle redevient une seule matrice — zéro travail supplémentaire à l'exécution, pas plus lent que l'original. Et comme chaque compétence n'est que son propre petit B·A, un seul géant gelé peut en porter beaucoup. Comme une perceuse avec un plateau d'embouts : on garde le moteur et on clipse une pointe différente pour chaque tâche.
🌱 Si la nouvelle compétence est si petite, qui la connaissait déjà ?

🌱 Si la nouvelle compétence est si petite, qui la connaissait déjà ?

Le changement qui transforme un géant généraliste en votre spécialiste est étonnamment petit — quelques fines bandes de nombres. Reste une question tranquille : avez-vous ajouté la nouvelle compétence, ou le géant la détenait-il déjà, attendant que quelques fils la tirent au grand jour ? Peut-être que le réglage fin n'enseigne pas — il révèle.
touchez →balayez ↑ pour approfondirbalayez ↓ pour quitter