Pourquoi deux fois plus de contexte coûte quatre fois plus.

SRC·14 Source
Deux fois le texte, quatre fois le travail.

Deux fois le texte, quatre fois le travail.

Le don de l'attention, c'est que chaque mot peut peser tous les autres : voilà pourquoi elle lit si bien le contexte. C'est aussi le piège. Donnez-lui deux fois plus et elle ne travaille pas deux fois plus ; elle travaille quatre fois plus. Le regard qui voit tout se paie au carré, et ce prix est le mur invisible derrière chaque « fenêtre de contexte ».
On veut qu'il lise tout. La facture dit non.

On veut qu'il lise tout. La facture dit non.

Le rêve est simple : lui glisser un livre entier, tout un code, et qu'il garde le tout en tête d'un coup. Stocker le texte est facile : il grandit sagement, ligne après ligne. L'ennui, c'est le coût de tout relier, qui s'envole bien plus vite que le texte lui-même. La longueur croît en ligne droite. La facture croît en courbe.
Pourquoi au carré ? Chaque mot pèse tous les autres.

Pourquoi au carré ? Chaque mot pèse tous les autres.

comparisons=n×n=n2\text{comparisons} = n \times n = n^2
L'attention n'est pas un coup d'œil rapide. Pour situer un mot, le modèle le compare à tous les autres, et il le fait pour chaque mot. Avec n mots, cela fait une grille de n sur n : n² petites comparaisons, sans raccourci. Comme l'art du fil tendu : tendez un fil entre chaque paire de clous du pourtour, et les fils s'accumulent comme le carré des clous. Quelques clous de plus, énormément plus de fil.
Deux fois plus long, quatre fois plus cher.

Deux fois plus long, quatre fois plus cher.

cost(2n)cost(n)=(2n)2n2=4\dfrac{\text{cost}(2n)}{\text{cost}(n)} = \dfrac{(2n)^2}{n^2} = 4
Comme le travail dépend de n², un peu plus de texte fait très mal. Deux fois plus de mots, ce n'est pas deux fois plus d'effort : c'est quatre fois. Dix fois plus de mots ? Cent fois l'effort. Comme carreler un sol : doublez la largeur de la pièce et vous n'avez pas doublé les carreaux, vous les avez quadruplés. Le bord croît de deux ; le sol à l'intérieur croît de quatre.
Ce n'est pas que le calcul. C'est la mémoire.

Ce n'est pas que le calcul. C'est la mémoire.

ARn×n    memory=O(n2)A \in \mathbb{R}^{n \times n} \;\Rightarrow\; \text{memory} = O(n^2)
Ces n² scores ne sont pas calculés puis oubliés : il faut tenir toute la grille d'un coup avant qu'elle ne devienne de l'attention. La mémoire enfle donc elle aussi en n², et c'est souvent le premier mur que l'on heurte : pas « trop lent », mais « plus de place ». Comme un réservoir derrière un barrage : plus la rivière que vous retenez est longue, plus l'eau monte, jusqu'à lécher le sommet.
Une seule étape explose. Le reste reste calme.

Une seule étape explose. Le reste reste calme.

O(nd2)the rest+O(n2d)all-pairs,n2dnd2    nd\underbrace{O(n\,d^2)}_{\text{the rest}} + \underbrace{O(n^2 d)}_{\text{all-pairs}}, \qquad n^2 d \gg n\,d^2 \iff n \gg d
Voici le salut, et le piège. L'essentiel du modèle croît doucement : faire passer les mots dans ses couches coûte environ n·d². Seule l'étape tous-contre-tous coûte n²·d. Comme deux plantes grimpantes : elles partent côte à côte, mais l'une double sans cesse sa portée et file devant. Dès que le texte est plus long que le modèle n'est large — dès que n dépasse d —, cette plante, le carré, double tout le reste.
La formule célèbre : lisez son étiquette de prix.

La formule célèbre : lisez son étiquette de prix.

Attention(Q,K,V)=softmax ⁣(QKd)V    O(n2d)\mathrm{Attention}(Q,K,V) = \mathrm{softmax}\!\left(\dfrac{QK^{\top}}{\sqrt{d}}\right)V \;\Rightarrow\; O(n^2 d)
La voici, toute l'attention en une ligne. Ce QKᵀ au cœur, c'est la grille tous-contre-tous ; c'est là que naît le n². La puissance et le prix sont le même fait : un regard qui touche tout doit tout toucher. Comme un lustre : pour éclairer toute la salle d'un coup, chaque cristal doit flamboyer. La splendeur est le coût.
🌱 Toi, tu ne pèses pas chaque mot contre tous. Pourquoi lui ?

🌱 Toi, tu ne pèses pas chaque mot contre tous. Pourquoi lui ?

Quand tu lis cette phrase, tu ne confrontes pas chaque mot à tous les autres : tu t'appuies sur la proximité, sur l'habitude, sur l'idée générale, et tu sautes presque tout sans y penser. Ce mur quadratique est le prix du refus de sauter. La question ouverte est donc toute la frontière : que pourrait un modèle ignorer sans danger et comprendre quand même chaque mot ?
touchez →balayez ↑ pour approfondirbalayez ↓ pour quitter