Aller au contenu
Chapitre 04 · 10 min

Des mots aux nombres

Un réseau de neurones ne comprend que les nombres. Avant qu'une IA puisse lire votre phrase, elle doit donc la transformer en vecteurs. La façon dont elle s'y prend est plus intéressante qu'il n'y paraît — et c'est là que les mots commencent à avoir une géométrie.

A map of meaningA 2D plane scattered with small dots in three labeled clusters — finance, food, and music. Similar concepts sit close together; unrelated ones are far apart.FINANCEFOODMUSICSIMILAR MEANINGS LIVE CLOSE TOGETHER

Une carte du sens où les idées similaires vivent près les unes des autres.

Les jetons : l'unité de langage pour un modèle

Un LLM ne lit pas des mots. Il lit des jetons. Un jeton est un morceau de texte, généralement un sous-mot : « bonjour » est un jeton, « incroyable » en est trois (« in », « croya », « ble »), un émoji en est un ou deux, un caractère chinois en est un. La découpe exacte est décidée par un tokeniseur entraîné en parallèle avec le modèle.

Pourquoi des sous-mots et non des mots entiers ? Deux raisons. (1) Le vocabulaire reste petit (~50–100 k jetons) plutôt que des millions, ce qui garde le réseau gérable. (2) Le modèle peut traiter de nouveaux mots qu'il n'a jamais vus à l'entraînement, en les composant à partir de pièces familières. « Sden-isé » est inédit, mais « sden », « is » et « é » figurent tous dans le vocabulaire.

Tokenization splits a word into piecesThe word "unbelievable" is split into three sub-word tokens — "un", "believ", "able" — each mapped to a numeric token id from the model's vocabulary.unbelievableunID 1986believID 2113ableID 4041 WORD → 3 TOKENS
Un seul mot anglais peut se diviser en plusieurs jetons. Chaque morceau est associé à un identifiant numérique tiré d'un vocabulaire fixe.

Les plongements : transformer les jetons en sens

Chaque jeton du vocabulaire est associé à un vecteur — une liste de, disons, 4 096 nombres. Ce vecteur s'appelle le plongement du jeton. Il est *appris pendant l'entraînement*, pas conçu à la main. Après l'entraînement, les mots similaires se retrouvent avec des vecteurs similaires.

Concrètement : les vecteurs pour « roi » et « reine » sont proches. Idem pour « Paris » et « Berlin ». Fait célèbre, on peut faire de l'arithmétique : vecteur(« roi ») − vecteur(« homme ») + vecteur(« femme ») ≈ vecteur(« reine »). Le sens a été compressé en géométrie.

Embedding arithmeticFour word-points in a 2D space. The vector from "man" to "woman" is parallel to the vector from "king" to "queen" — visualising the famous king − man + woman ≈ queen relationship.manwomankingqueenking − man + woman ≈ queen2D PROJECTION OF EMBEDDING SPACE
Le sens compressé en géométrie. Le vecteur de « homme » à « femme » s'aligne avec le vecteur de « roi » à « reine ».

Plongements statiques contre plongements contextuels

Les premières méthodes de plongement (word2vec 2013, GloVe 2014) donnaient à chaque mot *un* vecteur permanent. Utile mais limité : « banque » (rivière) et « banque » (argent) avaient le même vecteur. Les LLM modernes utilisent des plongements contextuels : le vecteur pour « banque » dans « rive du fleuve » est genuinement différent de « banque » dans « compte en banque ». Le vecteur obtenu dépend de toute la phrase.

Comment ? Le plongement initial d'un jeton n'est qu'une recherche en table, mais il traverse ensuite des couches d'attention (chapitre 5) qui le *mélangent* avec les plongements des jetons voisins. À la dernière couche, le vecteur de chaque jeton a absorbé des informations sur son contexte. C'est le plongement contextuel en une phrase.

Ce que contiennent vraiment ces nombres

Chaque dimension du vecteur n'est pas « la dimension du genre » ou « la dimension alimentaire ». Les directions qui portent du sens ne sont pas alignées sur les axes. Elles sont apprises, distribuées sur de nombreuses dimensions. On peut parfois trouver des directions interprétables — « royauté », « pluriel », « capitale » — mais elles ne sont pas pré-étiquetées. La recherche en interprétabilité est un domaine jeune qui tente de relire les vecteurs en concepts humains.

Cosine similarityTwo vectors A and B drawn from a shared origin, with the small angle θ between them marked. Cosine similarity is the cosine of that angle — close to 1 when vectors point the same way, 0 when perpendicular.θABcos(θ) = (A · B) / (‖A‖·‖B‖)1 = same direction · 0 = perpendicular
La similarité cosinus mesure l'angle entre deux vecteurs, pas la distance — deux idées peuvent donc se correspondre en direction même si leurs magnitudes diffèrent.

Les plongements en dehors des LLM

Les plongements ne sont pas uniquement un artefact interne des LLM — ils sont un produit à part entière. Vous pouvez appeler une API, lui soumettre un extrait de texte, et récupérer un vecteur de 1 024 ou 4 096 dimensions. Ce vecteur sert d'entrée à :

  • La recherche sémantique — « trouver des documents sur le recrutement au quatrième trimestre » plutôt que « faire correspondre les mots exacts ».
  • Le RAG (génération augmentée par récupération) — trouver les bons documents, puis les soumettre au LLM.
  • Le regroupement — classer des tickets de soutien par thème sans étiquettes.
  • La recommandation — produits dont le plongement est proche de ce que l'utilisateur a aimé.
  • La détection d'anomalies — signaler les entrées dont le plongement est loin de tout le reste.

Les plongements s'avèrent être l'une des applications les plus utiles, les moins coûteuses et les moins risquées de la technologie LLM. Nous revenons au RAG au chapitre 7.

En une ligne chacun

  • Les modèles lisent des jetons, pas des mots. Les tarifs, les limites et de nombreux bogues subtils se situent à cette couche.
  • Chaque jeton est associé à un vecteur appris (plongement) de sorte que les sens similaires se retrouvent proches dans l'espace vectoriel.
  • Les plongements modernes sont contextuels : le même mot a des vecteurs différents dans des phrases différentes.
  • Les plongements sont utiles par eux-mêmes : recherche sémantique, RAG, regroupement, recommandation, détection d'anomalies.