Comprendre les Embeddings dans les LLM : Le Sens traduit en Vecteurs
Imaginez que vous deviez expliquer à un ordinateur la différence entre un chien et un chat, sans utiliser de mots, mais uniquement avec des chiffres. C'est là que tout devient intéressant. Les machines ne comprennent pas le sens des mots comme nous ; elles ne voient que des séquences de caractères. Pour résoudre ce problème, l'IA utilise les embeddings est une technique qui transforme des données discrètes, comme des mots ou des phrases, en vecteurs numériques dans un espace multidimensionnel . En gros, on place chaque concept dans une carte géante où la distance entre deux points indique à quel point ils se ressemblent.

L'idée derrière l'espace vectoriel

L'idée est simple : si deux mots ont un sens proche, ils doivent être proches physiquement dans cet espace mathématique. Prenez les mots "roi" et "reine". Dans un système d'embeddings, leurs coordonnées numériques seront très similaires. C'est ce qu'on appelle la proximité sémantique. Mais ce n'est pas juste une question de proximité, c'est aussi une question de direction et de distance. L'exemple le plus célèbre, souvent cité par des experts comme Andrew Ng, est l'arithmétique vectorielle. Si vous prenez le vecteur du mot "Madrid", que vous soustrayez celui de "Espagne" et que vous ajoutez celui de "France", vous tomberez presque exactement sur le vecteur de "Paris". Le modèle a donc compris le concept de "capitale d'un pays" sans qu'on lui ait jamais donné de dictionnaire de géographie.

De Word2Vec aux Transformers : l'évolution du sens

Au début, on utilisait des embeddings dits "statiques". Le modèle Word2Vec, lancé par Google en 2013, était révolutionnaire. Il créait un vecteur unique pour chaque mot. Le problème ? Le mot "avocat" a le même vecteur, que vous parliez du fruit ou du juriste. C'est ce qu'on appelle la polysémie, et les modèles statiques étaient totalement aveugles à ce détail. Tout a changé avec l'arrivée de BERT (Bidirectional Encoder Representations from Transformers) en 2018. Contrairement à ses prédécesseurs, BERT crée des embeddings contextualisés. Il regarde les mots autour pour décider de la valeur numérique du mot cible. Ainsi, "avocat" n'aura pas la même représentation s'il est entouré de "tribunal" ou de "salade". Voici un aperçu des différences majeures entre ces approches :
Comparaison des types d'embeddings
Caractéristique Embeddings Statiques (Word2Vec, GloVe) Embeddings Contextuels (BERT, GPT)
Représentation Un mot = Un vecteur fixe Un mot = Vecteur variable selon le contexte
Gestion de la polysémie Faible (confusion entre sens) Excellente
Complexité calcul Légère et rapide Élevée (nécessite des GPU)
Dimensions types 300 dimensions 768 à 1 024 dimensions
Figurines en argile d'une couronne et d'une tiare proches l'une de l'autre dans un espace vectoriel stylisé.

Comment ça marche concrètement ?

Un embedding se présente comme une liste de nombres, par exemple : `[0.12, -0.59, 0.88, ...]`. Chaque nombre correspond à une dimension. On ne sait pas exactement ce que représente la dimension n°42, mais collectivement, ces dimensions capturent des traits comme le genre, le temps, la valence émotionnelle ou la catégorie grammaticale. Pour mesurer la ressemblance entre deux vecteurs, on n'utilise pas une règle graduée classique (distance euclidienne), mais on calcule l'angle entre eux : la similarité cosinus. Si l'angle est proche de zéro, les mots sont presque synonymes. C'est cette mesure qui permet aux moteurs de recherche modernes de comprendre que si vous cherchez "astuces pour dormir", un article sur la "méthode pour s'endormir plus vite" est pertinent, même si les mots exacts diffèrent. C'est aussi le moteur du RAG (Retrieval-Augmented Generation). Au lieu de demander à un LLM de se souvenir de tout, on stocke des millions d'embeddings de documents dans une base de données vectorielle. Quand vous posez une question, le système transforme votre question en vecteur, trouve les documents les plus proches dans l'espace, et les donne au LLM comme contexte. C'est ce qui réduit drastiquement les hallucinations de l'IA. Scène en 3D claymation reliant un chien, un aboiement et une photo dans un espace vectoriel multimodal.

Les limites et les pièges

Tout n'est pas parfait. Les embeddings ont tendance à peiner avec les termes très techniques ou rares. Par exemple, dans le domaine médical ou juridique, la précision peut chuter de 15 à 20 % car les modèles généraux n'ont pas assez vu ces termes pour les placer correctement dans l'espace. Un autre point critique concerne les biais. Puisque les embeddings apprennent à partir de textes humains, ils absorbent nos préjugés. Des tests comme le WEAT ont montré que certains modèles associent plus fortement les hommes aux carrières de science et les femmes aux tâches ménagères. C'est un miroir numérique de nos propres clichés sociétaux. Enfin, la négation reste un défi. Pour un vecteur, "pas bon" est souvent très proche de "bon" car ils apparaissent dans les mêmes contextes. L'IA peut donc parfois confondre un compliment et une critique acerbe si elle ne maîtrise pas assez la structure logique de la phrase.

Le futur : vers des espaces plus intelligents

On s'éloigne aujourd'hui des vecteurs massifs et coûteux. La recherche s'oriente vers les "sparse embeddings" (embeddings clairsemés) qui réduisent la taille des données de 75 % sans perdre en précision. On voit aussi l'émergence d'embeddings multimodaux, comme le modèle ImageBind de Meta, capable de placer un son, une image et un texte dans le même espace vectoriel. Imaginez : le vecteur du mot "chien" serait alors proche du vecteur d'une photo de golden retriever et du vecteur d'un aboiement. Pour ceux qui implémentent ces systèmes, la règle d'or est de choisir la bonne dimensionnalité. Trop peu, et vous perdez en nuance ; trop, et vos requêtes deviennent lentes et gourmandes en mémoire. En général, 768 dimensions sont le "sweet spot" pour la plupart des applications sémantiques.

C'est quoi exactement la différence entre un token et un embedding ?

Le token est l'unité de base, comme un mot ou un morceau de mot, identifié par un numéro unique (ID). L'embedding est la représentation mathématique de ce token. Le token est l'étiquette, l'embedding est le sens.

Pourquoi utiliser la similarité cosinus plutôt que la distance euclidienne ?

La distance euclidienne mesure la distance directe entre deux points, ce qui peut être trompeur si les vecteurs ont des longueurs différentes. La similarité cosinus mesure l'angle, se concentrant sur la direction du sens plutôt que sur la magnitude, ce qui est bien plus efficace pour le langage naturel.

Est-ce que je peux visualiser un espace vectoriel ?

On ne peut pas visualiser 768 dimensions, mais on peut utiliser des techniques de réduction de dimensionnalité comme le PCA ou le t-SNE pour projeter ces vecteurs en 2D ou 3D et voir des "clusters" de mots se former.

Qu'est-ce qu'une base de données vectorielle ?

C'est un système de stockage optimisé pour indexer des vecteurs. Au lieu de chercher par mot-clé, elle utilise des algorithmes comme HNSW pour trouver ultra-rapidement les vecteurs les plus proches d'une requête, même parmi des millions d'entrées.

Comment réduire les biais dans les embeddings ?

Cela passe par le nettoyage des données d'entraînement ou l'application de techniques de "débiaisage" mathématique qui consistent à identifier la dimension du biais (ex: genre) et à l'annuler dans l'espace vectoriel.