Comment le vecteur final d'un modèle devient un mot — et comment on lit dans ses pensées.

SRC·48 Source
Le dernier geste du modèle est celui qu'on ne regarde jamais.

Le dernier geste du modèle est celui qu'on ne regarde jamais.

Traverse tout un réseau et chaque mot finit comme un seul vecteur — un point unique. Le geste final transforme ce point en un pari assuré sur chaque mot qu'il connaît. On regarde rarement. Mais ce geste se lit non seulement au sommet, mais à chaque étage de la montée — et c'est là que la pensée d'un modèle devient quelque chose qu'on peut vraiment voir.
Un vecteur, déployé en un score pour chaque mot.

Un vecteur, déployé en un score pour chaque mot.

z=WUx,WURV×dzi=wi,x=wixcosθiz = W_U\,x,\quad W_U \in \mathbb{R}^{V\times d}\qquad z_i = \langle w_i,\, x\rangle = \lVert w_i\rVert\,\lVert x\rVert\cos\theta_i
Prends ce vecteur final et multiplie-le par l'unembedding — une grande table avec une ligne par mot. Il en tombe un nombre, un logit, pour chaque mot. Chaque ligne est elle-même une direction dans le même espace : le score d'un mot, c'est à quel point le vecteur pointe vers lui. Comme une boussole dans un cercle de panneaux : le poteau que l'aiguille vise pile l'emporte. Puis softmax, comme toujours, change les scores en probabilités.
Souvent la même table lit les mots à l'entrée et les nomme à la sortie.

Souvent la même table lit les mots à l'entrée et les nomme à la sortie.

WU=Ezi=ei,xW_U = E^{\top}\quad\Rightarrow\quad z_i = \langle e_i,\, x\rangle
D'où vient cette table ? Beaucoup de modèles réutilisent le dictionnaire d'entrée — la matrice même qui a changé chaque mot en vecteur, employée à l'envers pour en noter un. Le logit d'un mot, c'est donc à quel point le vecteur final ressemble à l'embedding de ce mot. Une table, les deux sens. Comme une clé qui ferme et qui ouvre : on fait entrer le sens, on le ressort. (Tous les modèles ne les lient pas — certains en gardent deux.)
Vise ce lecteur sur chaque étage, pas seulement le sommet.

Vise ce lecteur sur chaque étage, pas seulement le sommet.

p()=softmax ⁣(WULN ⁣(x()))p^{(\ell)} = \mathrm{softmax}\!\left(W_U\,\mathrm{LN}\!\left(x^{(\ell)}\right)\right)
Voici l'astuce. Chaque couche écrit dans le même vecteur partagé, dans la même langue — le lecteur conçu pour le sommet marche donc à n'importe quel étage. Applique l'unembedding au vecteur à mi-hauteur et tu obtiens le brouillon de réponse du modèle à cette profondeur. Comme un ascenseur de verre : lis chaque étage à travers la paroi en montant. Ce coup d'œil à chaque couche, c'est le logit lens.
Passe la lentille et la réponse arrive tôt.

Passe la lentille et la réponse arrive tôt.

Regarde les brouillons et une chose frappe : le mot final est souvent arrêté bien avant le sommet. Les étages du milieu s'y fixent ; ceux du haut le rendent surtout plus sûr, pas différent. La pensée s'achève tôt ; le reste, c'est du polissage. Comme une photo instantanée qui se révèle : l'image se lit bien avant d'être tout à fait nette. (C'est le schéma courant, pas une loi — les tokens difficiles luttent jusqu'au bout.)
La lentille triche un peu. Alors on en taille une plus nette.

La lentille triche un peu. Alors on en taille une plus nette.

p()=softmax ⁣(WU(Ax()+b))p^{(\ell)} = \mathrm{softmax}\!\left(W_U\left(A_\ell\,x^{(\ell)} + b_\ell\right)\right)
Un hic : l'astuce suppose que chaque étage parle déjà la langue du sommet. Les premiers étages non, et leurs brouillons peuvent sembler n'avoir aucun sens. Le remède apprend un minuscule traducteur par étage — une petite rotation-et-décalage qui réécrit chaque vecteur dans la langue finale avant de le lire. Comme les mauvaises lunettes, puis la bonne correction : la même page, soudain nette. C'est le tuned lens.
La dernière étape n'est pas une note en bas de page. C'est une fenêtre.

La dernière étape n'est pas une note en bas de page. C'est une fenêtre.

=min{:maxipi()τ}\ell^{*} = \min\left\{\ell : \max_i\, p^{(\ell)}_i \ge \tau\right\}
Ainsi la projection de sortie est plus que de la tuyauterie. Tourne-la vers l'intérieur et l'état caché d'un modèle devient lisible : on voit un fait remonter, un choix se durcir, un faux pas surgir. Tu peux même descendre plus tôt — dès qu'un étage est assez sûr, arrête de monter. Comme un bateau à fond de verre : lis les profondeurs sans plonger. La carte de sortie était une fenêtre depuis le début.
Il connaissait le mot depuis plusieurs étages. Alors, et après ?

Il connaissait le mot depuis plusieurs étages. Alors, et après ?

Si la réponse est déjà lisible à mi-hauteur, à quoi servent les étages du haut ? Peut-être qu'ils ne cherchent pas le mot — peut-être qu'ils soupèsent ceux qu'il ne dira pas, nuancent, vérifient, se ravisent. Un esprit qui décide tôt et continue de monter quand même. 🌱 Le reste de la montée, est-ce la pensée — ou le doute ?
touchez →balayez ↑ pour approfondirbalayez ↓ pour quitter