Comment fonctionne un LLM (2/6) : les vecteurs, quand le sens devient géométrie

Un plan pastel avec des points et des flèches, et un parallélogramme au premier plan (illustration pixel art). Nov 8, 2026

Comment fonctionne un LLM (2/6) : les vecteurs, quand le sens devient géométrie

Qui a écrit cette série ?

Cette série a été pilotée, critiquée et validée par Alex, qui en a fixé le plan, les règles de sources et le ton. Les textes ont été rédigés en co-écriture avec Claude (Anthropic) : Claude a proposé des plans, des calculs, des sources et des formulations, qu’Alex a relus, corrigés ou refusés. Alex est responsable du contenu publié.

Dans l’épisode précédent, une question est restée ouverte : comment « chat » et « chaton », deux tokens distincts, peuvent-ils être rapprochés par une machine qui ne manipule que des nombres ? La réponse tient en un mot : géométrie. Chaque token est associé à une liste de nombres, et cette liste se lit comme les coordonnées d’un point, ou comme une flèche. Les mots qui ont des emplois voisins se retrouvent ainsi proches dans l’espace.

Ce deuxième épisode construit cette idée pas à pas, avec des exemples que vous pouvez refaire à la main.

Ce que vous saurez à la fin

  • Ce qu’est un vecteur : une liste de nombres associée à un mot, lue comme un point ou comme une flèche.
  • Comment on mesure la proximité : par la distance entre les pointes, ou par le cosinus, qui compare les directions.
  • Pourquoi l’analogie « roi − homme + femme ≈ reine » fonctionne en moyenne seulement, et pas à chaque fois.
  • Pourquoi le sens d’un mot dépend du contexte, et pourquoi un vecteur fixe ne suffit pas toujours.
  • Pourquoi un espace de milliers de dimensions ne se voit pas, et pourquoi on le raisonne par le calcul plutôt que par l’image.

1. Un numéro ne dit rien

Au premier épisode, chaque token a un numéro dans une liste. Voyons si ce numéro peut servir à comparer les mots. Imaginons (exemple inventé) que « chat » ait l’identifiant 4217 et « chaton » le 9083. Ces deux nombres sont éloignés l’un de l’autre. Pourtant, les deux mots désignent le même animal, à deux âges différents. Et si « voiture » avait l’identifiant 4218, cela ne ferait pas de ce mot un voisin de « chat ».

Un identifiant est une étiquette, pas une position. Il ne dit rien de la ressemblance des mots. Pour que la proximité ait un sens, il faut remplacer l’étiquette par un point dont les coordonnées décrivent le mot.

2. Un point, puis une flèche

Commençons par une droite. Un seul nombre suffit pour placer un point : « chat » à 3, « chaton » à 6. La distance entre eux est |6 − 3| = 3. C’est déjà une géométrie, mais elle est pauvre : un seul axe ne peut pas séparer deux notions indépendantes.

Passons au plan. Deux nombres (x ; y) placent un point sur une carte : x compte les pas vers la droite, y les pas vers le haut. Voici cinq mots placés avec des coordonnées inventées. Les axes n’ont pas de nom : ils ne représentent pas « animalité » ou « taille », ce serait leur prêter un sens qu’ils n’ont pas.

Mots placés sur un planCinq mots placés sur un plan à deux dimensions, avec des coordonnées inventées : chat (3 ; 4), chaton (6 ; 9), chien (5 ; 1), voiture (−4 ; 2), avion (−1 ; −5).chat (3 ; 4)chaton (6 ; 9)chien (5 ; 1)voiture (−4 ; 2)avion (−1 ; −5)axe 1axe 2
Figure 1. Coordonnées inventées pour l’exemple ; les axes n’ont pas de nom : ce qui compte, ce sont les distances et les angles.

Un vecteur est une flèche partant de l’origine (0 ; 0) vers le point. Il a une direction et une longueur. Pour « chat » (3 ; 4), la longueur vaut √(3² + 4²) = √25 = 5. Dans un modèle, chaque token reçoit ainsi une flèche, mais avec des milliers de coordonnées au lieu de deux.

3. Mesurer la proximité : distance ou cosinus ?

Deux façons de mesurer la proximité de deux flèches apparaissent. La distance mesure l’écart entre les pointes. Le cosinus mesure l’écart d’orientation : il vaut 1 si les flèches pointent dans la même direction, 0 si elles sont perpendiculaires, −1 si elles sont opposées.

Pour « chat » (3 ; 4) et « chaton » (6 ; 9), le calcul se fait en quatre étapes :

  • produit scalaire (on multiplie les coordonnées deux à deux, puis on additionne) : 3 × 6 + 4 × 9 = 54 ;
  • longueurs : √(3² + 4²) = 5, et √(6² + 9²) = √117 ≈ 10,82 ;
  • cosinus = produit scalaire / (produit des longueurs) = 54 / (5 × 10,82) ≈ 1,00 ;
  • distance entre les pointes : √((6 − 3)² + (9 − 4)²) = √34 ≈ 5,83.

Pour « chat » et « chien » (5 ; 1) : distance √13 ≈ 3,61, cosinus 19 / (5 × 5,10) ≈ 0,75. Pour « chat » et « voiture » (−4 ; 2) : distance √53 ≈ 7,28, cosinus ≈ −0,18.

PaireDistanceCosinusLecture
chat – chaton5,831,00même direction, flèche plus longue
chat – chien3,610,75direction assez proche
chat – voiture7,28−0,18directions presque perpendiculaires
Valeurs fictives, calculées à partir des coordonnées inventées.

Les deux mesures donnent des classements différents. Selon la distance, « chien » (3,61) est plus proche de « chat » que « chaton » (5,83). Selon le cosinus, c’est l’inverse : « chaton » (1,00) passe devant « chien » (0,75). La flèche de « chaton » pointe presque exactement, à environ 3° près, dans la direction de « chat », mais elle est plus du double de longueur. La distance voit cette différence de longueur, le cosinus ne la voit pas.

Pourquoi le cosinus, et pas la distance ?

La longueur d’une flèche peut dépendre de facteurs qui ne tiennent pas au sens. Le cosinus ne retient que la direction, c’est-à-dire l’orientation du mot dans l’espace.

Si tous les vecteurs ont la même longueur, distance et cosinus donnent le même classement.

Ce choix compte en pratique : les moteurs de recherche sémantique comparent des phrases par leur cosinus (Reimers et Gurevych, Sentence-BERT, 2019).

Les axes ne comptent pas : la rotation

Faisons tourner tout le plan de 40° autour de l’origine. Chaque point change de coordonnées : « chat » passe de (3 ; 4) à (−0,27 ; 4,99), « chaton » de (6 ; 9) à (−1,19 ; 10,75). Pourtant, la distance entre les deux mots reste 5,83 et leur cosinus reste 1,00 (calcul exact). Les coordonnées dépendent du repère choisi ; les distances et les angles, non.

La conséquence est importante. Une coordonnée prise isolément, « le premier nombre » de « chat », ne signifie rien. Le sens est dans les rapports entre vecteurs, pas dans les nombres pris un par un. Rien n’oblige un modèle à placer ses axes de façon à les rendre lisibles.

4. Trois exercices à faire soi-même

Exercice 1. Calculez la distance entre « chien » (5 ; 1) et « voiture » (−4 ; 2). Corrigé : Δ = (−9 ; 1), distance = √(81 + 1) = √82 ≈ 9,06.

Exercice 2. Calculez le cosinus entre « avion » (−1 ; −5) et « chat » (3 ; 4). Corrigé : produit scalaire = −3 − 20 = −23 ; longueurs √26 ≈ 5,10 et 5 ; cosinus = −23 / 25,50 ≈ −0,90. Un cosinus proche de −1 : les flèches sont presque opposées.

Exercice 3. Doublez « chat » : (6 ; 8). Calculez la distance et le cosinus entre « chat » et ce nouveau vecteur. Corrigé : distance = √(9 + 16) = 5 ; produit scalaire = 18 + 32 = 50 ; cosinus = 50 / (5 × 10) = 1,00. La distance a changé, le cosinus non : la longueur ne change pas le sens.

5. Roi − homme + femme ≈ reine

En 2013, Mikolov, Yih et Zweig ont montré, avec des vecteurs issus d’un réseau récurrent, que certains décalages entre mots sont à peu près constants (NAACL 2013). La même année, word2vec (arXiv 1301.3781) a popularisé l’idée. La différence entre « homme » et « femme » ressemble à celle entre « roi » et « reine » : le calcul « roi − homme + femme » donne un vecteur très proche de « reine ». Sur un exemple simplifié, voici pourquoi.

Le décalage roi − homme + femmeQuatre points forment un parallélogramme, positions inventées. La flèche de « homme » à « femme » est la même que celle de « roi » à « reine » : partir de « roi » et ajouter ce décalage mène à « reine ».hommefemmeroireinemême décalageFlèches pleines : le même décalage, de « homme » à « femme »et de « roi » à « reine ». Pointillés : les deux paires.
Figure 2. Positions inventées pour l’exemple. Les vrais vecteurs ne tombent que « à peu près » sur un parallélogramme.

Précisons ce que rapporte l’article de Mikolov et al. (2013). Sur les analogies syntaxiques, les vecteurs réussissent environ 40 % des cas (chiffre publié). Pour les analogies sémantiques, la méthode bat les systèmes antérieurs. Aucun pourcentage simple « roi/reine » n’est publié. L’analogie fonctionne donc en moyenne, pas à chaque fois, et il faut le dire avant de généraliser.

6. Des milliers de dimensions

Une carte à deux dimensions aide à comprendre, mais elle trompe.

Ajouter des dimensions : une droite, un plan, un cube Trois panneaux. En haut, une droite graduée de 0 à 5 avec un point à 3 : une seule coordonnée, P = (3). Au milieu, un plan avec deux axes x et y : le point a pour coordonnées 3 et 2, P = (3 ; 2). En bas, un cube en projection : le point a pour coordonnées 3, 2 et 4, P = (3 ; 2 ; 4). Une quatrième coordonnée existe mais ne peut plus être dessinée. 1 dimension 0 1 2 3 4 5 P P = (3) Une seule coordonnée 2 dimensions P x y P = (3 ; 2) Deux coordonnées, deux directions 3 dimensions P P = (3 ; 2 ; 4) Trois coordonnées : la troisième est la hauteur.
Figure 3. D’une dimension à trois : une coordonnée sur une droite, deux sur un plan, trois dans un cube.

Les modèles travaillent avec des flèches de plusieurs milliers de coordonnées. Quelques ordres de grandeur publiés :

ModèleDimension des vecteursSource
Llama 3 8B4 096arXiv 2407.21783
Llama 3 405B16 384arXiv 2407.21783
GPT-312 288arXiv 2005.14165
Dimensions des vecteurs, avec la source de chaque valeur.
Un vecteur de 4 096 coordonnées, vu comme une grille de cases colorées Une grille de 64 colonnes sur 64 lignes, soit 4 096 cases. Chaque case est une coordonnée, avec une valeur entre −1 et +1 (valeurs fictives, tirées au hasard). Violet : valeur positive ; gris : valeur négative ; pâle : valeur proche de zéro. Les trois premières cases, entourées, valent 0,42 ; −0,17 et 0,88. Chaque case est une coordonnée : sa valeur va de −1 à +1 (fictive). Violet : positive. Gris : négative. Pâle : proche de zéro. Cases entourées : 0,42 ; −0,17 ; 0,88. Pas de nom pour chaque case : seule la position du vecteur dans l’espace compte.
Figure 4. Un vecteur de 4 096 coordonnées, représenté par une grille de 64 × 64 cases. Valeurs fictives.
Nombre de dimensions : une carte, un cube, puis des vecteurs de modèles de langage Barres horizontales à échelle logarithmique, chaque graduation multipliant par 10. Carte : 2 dimensions. Cube : 3. word2vec : 300 (jeu GoogleNews). Llama 3 8B : 4 096. GPT-3 : 12 288. Llama 3 405B : 16 384. Les deux premières barres, en couleur du texte, sont les seules dimensions que l’on peut dessiner ; les autres, en violet, ne se dessinent pas. Carte (plan) 2 Cube (espace 3D) 3 word2vec 300 (jeu GoogleNews) Llama 3 8B 4 096 GPT-3 12 288 Llama 3 405B 16 384 1 10 100 1 000 10 000 100 000 Échelle logarithmique : chaque graduation multiplie par 10. Un espace à 16 384 dimensions ne se dessine pas : on raisonne avec des distances et des angles.
Figure 5. Nombre de dimensions : une carte, un cube, puis des vecteurs de modèles de langage (échelle logarithmique).

Dans la grande dimension, presque tout est perpendiculaire

Notre intuition vient de la carte et de la géographie, et elle se trompe en grande dimension. Prenons deux vecteurs tirés au hasard dans un espace de d dimensions. Leur cosinus fluctue autour de 0. Pour des directions tirées uniformément, l’écart type du cosinus vaut 1/√d (calcul exact). Le tableau le traduit en angles :

Dimension dÉcart type du cosinus (1/√d)Angle pour ±1 écart type
20,71de 45,0° à 135,0°
30,58de 54,7° à 125,3°
3000,058de 86,7° à 93,3°
4 0960,016de 89,1° à 90,9°
Calcul exact de l’écart type ; angles arrondis au dixième de degré.

En dimension 4 096, deux vecteurs pris au hasard sont donc presque exactement perpendiculaires. Une proximité mesurée par le cosinus n’est intéressante que si on la compare à ce fond presque orthogonal. Les vecteurs utiles ont été façonnés par l’entraînement pour s’écarter de ce fond : c’est l’un des rôles de l’apprentissage. La complexité tient donc moins au nombre de coordonnées qu’à la manière dont elles s’organisent.

Cosinus de deux vecteurs au hasardPour quatre dimensions (2, 3, 300, 4 096), zone de ±1 écart type du cosinus. La zone se resserre autour de 0 quand la dimension augmente.2 dimensions3 dimensions300 dimensions4 096 dimensions−1−0,500,51cosinus (0 = perpendiculaires)
Figure 6. Zone de ±1 écart type du cosinus de deux vecteurs tirés au hasard (1/√d). La forme exacte de la distribution dépend de d ; la largeur, elle, se lit directement.

Une image pour se figurer 4 096 dimensions

Imaginez un questionnaire de 4 096 questions, chacune notée de −1 à 1, pour décrire un mot. Deux personnes qui répondent au hasard ont des réponses presque sans rapport. Pour que deux mots se ressemblent, il faut que leurs réponses concordent sur un grand nombre de questions à la fois : aucune question prise seule ne suffit.

La table des tokens

La table qui associe chaque token à son vecteur est elle aussi énorme. Pour Llama 3 8B, le vocabulaire compte 128 000 tokens (chiffre publié) et les vecteurs 4 096 coordonnées. Cela fait 128 000 × 4 096 = 524 288 000 nombres, soit environ 524 millions de paramètres rien que pour cette table (estimé).

7. Un vecteur statique, ou selon le contexte ?

Le vecteur de « chat » dans word2vec est fixe : il ne dépend pas de la phrase. Or un même mot change de sens. Prenez « avocat » : juriste ou fruit ? Un vecteur unique doit fusionner les deux.

Depuis 2018, des modèles comme ELMo ou BERT produisent un vecteur par occurrence, qui dépend du contexte. Comparez « la banque du fleuve » et « la banque prête de l’argent » : le mot « banque » reçoit des vecteurs différents, et ce qui le distingue vient de son voisinage.

Une mesure le confirme : sur plusieurs modèles, moins de 5 % de la variance (la part des différences expliquée) d’une représentation contextuelle s’explique par un vecteur statique (Ethayarajh, EMNLP 2019). Le sens d’un mot, sur les modèles étudiés, se construit surtout à partir du contexte.

8. La géométrie pilote-t-elle le modèle ?

Si les concepts sont des positions et des directions, on peut en principe les repérer et les déplacer. Quelques travaux l’illustrent :

  • En 2016, Bolukbasi et ses coauteurs ont montré qu’une direction de l’espace des mots porte un biais de genre. Ils ont proposé de la retirer, mais le problème n’est pas entièrement résolu.
  • En 2022, Elhage et ses coauteurs ont montré que de petits modèles représentent plus de concepts que de dimensions, en les superposant. Un même axe porte alors plusieurs concepts : un concept n’a pas forcément une case à lui seul.
  • En 2023, Turner et ses coauteurs ont calculé une direction à partir de deux textes opposés, « amour » et « haine ». Ils l’ont ajoutée pendant le calcul pour changer le ton d’une réponse, avec des effets parfois inattendus.

Ces expériences ont des limites. Une direction qui fonctionne dans un contexte peut échouer dans un autre, et la manipulation d’un concept peut déplacer des comportements voisins. Retenez que la géométrie aide à lire un modèle, mais qu’elle ne suffit pas à le comprendre.

Trois questions à se poser devant une « carte de sens »

1. Quelles mesures utilise-t-on : une distance, un cosinus ? Elles ne donnent pas toujours le même classement.

2. Le modèle a-t-il été évalué sur des cas nombreux, ou sur quelques exemples bien choisis ?

3. Une proximité signale-t-elle une synonymie, ou seulement un contexte partagé ? Chat et chien sont proches, ils ne sont pas synonymes.

9. À retenir, et la suite

  • Un token est associé à une liste de nombres : un vecteur, lu comme un point ou une flèche.
  • La proximité se mesure par la distance ou par le cosinus ; le cosinus compare les directions.
  • Les analogies de type « roi − homme + femme ≈ reine » fonctionnent en moyenne, pas à chaque fois.
  • Les modèles récents donnent à un mot un vecteur qui dépend de son contexte.

Reste une question : comment le vecteur d’un mot se modifie-t-il en fonction de ses voisins ? Ce mécanisme, l’attention, fera l’objet de l’épisode 3.

Pour revenir au premier épisode, l’article « Comment fonctionne un LLM (1/6) » pose les bases : le token, la probabilité et l’entraînement.

Mini-glossaire

  • Produit scalaire : pour deux flèches (a ; b) et (c ; d), la somme ac + bd. On multiplie les coordonnées deux à deux, puis on additionne.
  • Norme (longueur) : longueur d’une flèche. Pour (x ; y), elle vaut √(x² + y²).
  • Dimension : nombre de coordonnées d’un vecteur. Un point du plan en a 2 ; les vecteurs de word2vec, dans le jeu GoogleNews (fichier GoogleNews-vectors-negative300 du projet word2vec), en ont 300.
  • Variance : mesure de la dispersion des valeurs autour de leur moyenne. « Expliquer 5 % de la variance » signifie que l’on rend compte de 5 % de ces écarts.
  • Superposition : situation où un même axe, ou une même direction, porte plusieurs concepts à la fois.
  • Embedding (plongement) : vecteur qui représente un token, un mot ou un morceau de texte.
  • Cosinus : mesure de l’angle entre deux flèches, entre −1 et 1. C’est le produit scalaire divisé par le produit des longueurs.
  • Rotation : déplacement de tout l’espace autour de l’origine. Elle change les coordonnées, mais ni les distances ni les angles.
  • Écart type : mesure de la dispersion autour de la moyenne. Plus il est petit, plus les valeurs sont regroupées.

Pour aller plus loin

  • Mikolov, Yih et Zweig, « Linguistic Regularities in Continuous Space Word Representations », NAACL-HLT, 2013 (aclanthology.org/N13-1090), en anglais.
  • Bolukbasi et al., « Man is to Computer Programmer as Woman is to Homemaker? Debiasing Word Embeddings », 2016 (arXiv 1607.06520), en anglais.
  • Elhage et al., « Toy Models of Superposition », 2022 (arXiv 2209.10652), en anglais.
  • Turner et al., « Activation Addition: Steering Language Models Without Optimization », 2023 (arXiv 2308.10248), en anglais.
  • Ethayarajh, « How Contextual are Contextualized Word Representations? », EMNLP-IJCNLP, 2019 (arXiv 1909.00512), en anglais.
  • Reimers et Gurevych, « Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks », EMNLP-IJCNLP, 2019 (arXiv 1908.10084), en anglais.
  • Grant Sanderson, chaîne 3Blue1Brown : vidéos sur les vecteurs et sur les transformeurs, en anglais.

ByAlexandre MODESTO

J'ai passé plus de vingt ans à connecter la Maurienne au monde : fibre, webcams, faisceaux hertziens. Je suis ses laves torrentielles et ses éboulements sur le long terme, et j'écris toutes les deux semaines environ la lettre « L'Univers n'est pas la limite ».

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *