Chapitre 03 · Embeddings · 10 min

L'espace du sens

Des mots dans un espace géométrique. Roi − Homme + Femme = Reine, et autres miracles vectoriels.

Une équation qui ne devrait pas marcher

Considère cette opération :

roi − homme + femme ≈ reine

C'est une équation arithmétique, comme 5 − 2 + 4 = 7. Sauf qu'elle porte sur des mots.

Et elle marche. Pas parce qu'on a programmé "roi" et "reine" pour qu'ils se ressemblent. Mais parce qu'on a transformé chaque mot en une liste de nombres — un vecteur — et que l'algèbre du sens y devient l'algèbre tout court.

C'est l'idée la plus contre-intuitive des LLMs, et la plus puissante.

Du token à la position

Au chapitre précédent, on a vu que le texte devient une suite de token IDs — des entiers comme 5234 ou 91. Mais un entier nu n'a aucune structure. Le token 5234 n'est ni "proche" ni "loin" du token 5235. Ils sont juste numérotés.

Pour qu'un modèle puisse calculer avec des mots, il faut une représentation plus riche. La solution : associer à chaque token un vecteur d'environ 768, 1024, ou 4096 nombres réels. C'est ce qu'on appelle un embedding.

Au début de l'entraînement, ces vecteurs sont aléatoires. Petit à petit, à force de prédire des millions de mots suivants, le modèle apprend à les arranger pour que des mots de sens proche aient des vecteurs proches.

Personne n'a écrit cette règle. Elle émerge de la tâche de prédiction.

Pourquoi ça marche

Réfléchis à ce que ça signifie de bien prédire le mot après "Le roi a dit à sa…". Les bonnes réponses sont fille, femme, mère, reine — pas moteur ni algorithme. Un modèle qui prédit bien ces continuations doit savoir que ces mots sont remplaçables dans ce contexte.

La façon la plus économique de mémoriser cette équivalence, quand tu as des milliards de paramètres et des milliards de phrases, c'est de regrouper "fille", "femme", "mère", "reine" dans la même région de l'espace vectoriel. Le gradient pousse dans cette direction à chaque itération, sans qu'aucun humain n'ait besoin d'étiqueter quoi que ce soit.

Les embeddings ne sont pas conçus. Ils sont la trace géométrique de la tâche de prédiction.

Manipule l'espace

L'espace ci-dessous est une caricature à deux dimensions — les vrais embeddings en ont des centaines. Mais les propriétés essentielles sont là : les clusters sémantiques, le voisinage, l'arithmétique vectorielle.

Chaque point est un mot projeté dans un espace de sens. Les voisins partagent un thème — pas une orthographe. La flèche montre l'arithmétique vectorielle qui rend possible Roi − Homme + Femme = Reine.

Trois choses à remarquer :

  • Les clusters apparaissent sans qu'on les ait nommés. Survole chat et tu verras chien, souris, lion. Survole joie et tu verras amour, peur, tristesse. Les catégories n'existent pas dans la donnée — elles existent dans la géométrie.
  • Certaines directions ont un sens. Le vecteur qui mène de homme à femme est à peu près le même que celui qui mène de roi à reine, ou de père à mère. C'est cette régularité qui fait fonctionner l'arithmétique.
  • Les distances sont relatives, pas absolues. Que chat soit à distance 0.32 de chien n'a aucun sens en soi. Ce qui compte, c'est qu'il soit plus proche de chien que de pain ou de colère.

L'illusion 2D

Dans les vrais modèles, un embedding a typiquement entre 768 et 4096 dimensions. Pourquoi autant ?

Parce qu'à 2D, on est obligé de faire des compromis. chat doit être proche de chien (animaux domestiques), de souris (mammifères), de tigre (félins), de oiseau (animal). Toutes ces "proximités" tirent dans des directions différentes — et à 2D, elles entrent en conflit.

À 768 dimensions, chaque facette du sens peut avoir sa propre direction. Le mot chat peut être proche de chien selon l'axe "animal de compagnie", proche de tigre selon l'axe "félin", proche de souris selon l'axe "petit mammifère". L'espace est assez vaste pour que toutes ces relations cohabitent sans s'écraser.

Les humains pensent qu'on ne peut pas visualiser 768 dimensions. Les embeddings n'en demandent pas tant : ils s'en servent juste pour ranger leurs catégories sans collision.

Mesurer la proximité : la similarité cosinus

Quand on dit que deux mots sont "proches" dans l'espace des embeddings, comment le mesure-t-on concrètement ? Pas avec la distance euclidienne classique. Avec la similarité cosinus.

L'idée : on regarde l'angle entre les deux vecteurs, pas leur longueur. Deux vecteurs qui pointent dans la même direction ont une similarité cosinus de 1, peu importe leur amplitude. Deux vecteurs orthogonaux donnent 0. Deux vecteurs opposés, −1.

cos(u, v) = (u · v) / (||u|| × ||v||)

Pourquoi cette mesure plutôt qu'une autre ? Parce que la norme d'un embedding (sa longueur) varie pour des raisons sans rapport avec le sens — fréquence du mot, profondeur de la couche. La direction, elle, encode le sens. La similarité cosinus isole ce qui compte.

C'est aussi cette mesure qui motorise toute la recherche sémantique moderne : les bases de données vectorielles (Pinecone, pgvector, Chroma…) indexent des millions de vecteurs et trouvent les plus proches d'une requête en un clin d'œil. On y revient au chapitre 10 (RAG).

Conséquences

Cette représentation géométrique a des effets surprenants :

  • Les fautes d'orthographe sont robustes. bonjour et bonjur ont des embeddings très proches, donc le modèle les "comprend" presque pareil — alors qu'au niveau des tokens, ils sont totalement différents.
  • Les biais s'incrustent. Si dans le corpus d'entraînement, infirmier apparaît plus souvent au féminin et médecin au masculin, l'arithmétique des embeddings va le refléter. medecin − homme + femme peut donner infirmière. Beaucoup de travail va vers la correction de ces biais — on en reparlera au chapitre 8.
  • Tout devient calculable. Une fois que le sens est devenu un vecteur, on peut additionner, projeter, mesurer des angles. C'est exactement ce que fait le mécanisme suivant.

La suite

Ton mot est devenu un vecteur. Le mot d'à côté aussi. Et celui d'avant. Comment, à partir de cette séquence de vecteurs, le modèle décide-t-il que dans "Le médecin a renvoyé l'infirmière chez **elle**…", le pronom elle renvoie à l'infirmière et pas au médecin ?

Réponse au chapitre suivant : l'attention, le mécanisme qui laisse chaque token regarder tous les autres avant de décider qui il est.

Mis à jour le

Embeddings : l'espace géométrique du sens · Step by Token