Chargement du lab 3D…
Chargement de la leçon…
← Comment fonctionne l’IAMonde 1 · leçon 3 sur 4Toutes les leçons ↓

Plongements : une liste de nombres pour chaque token
Tu enseignes ? Ouvre le mode projecteur
Les ID des tokens ne sont que des étiquettes. L'ID 4821 n'est pas « proche par le sens » de l'ID 4822. Pour calculer des motifs proches du sens, le modèle a besoin d'une représentation dans laquelle la similarité est un nombre que l'on peut calculer.
Cette représentation est un plongement : pour chaque token, une liste de nombres appelée vecteur. Les vecteurs se trouvent dans une grande table. Leurs valeurs commencent de manière aléatoire et sont ajustées pendant l'entraînement. Les vrais modèles utilisent de centaines à des milliers de nombres par token.
Qu'est-ce qui rend un vecteur utile ? Les tokens qui apparaissent dans des contextes similaires finissent par avoir des vecteurs similaires. Cette idée a été démontrée à grande échelle par Mikolov et ses collègues (2013, « word2vec »), et elle fait écho à une formule de linguiste : un mot se caractérise par les mots qui l'accompagnent. « Cat » et « dog » apparaissent près de mots comme « pet », « fed » et « vet », leurs vecteurs finissent donc par être proches. « Cat » et « carburettor », en revanche, n'apparaissent pas dans des contextes similaires.
Mesurer la similarité : la similarité cosinus. Pour deux vecteurs a et b :
cos = (a · b) / (|a| × |b|)
où a · b est la somme des produits des entrées correspondantes, et |a| est la racine carrée de la somme des carrés. Le résultat est toujours compris entre −1 et 1 : 1 signifie que les vecteurs pointent dans la même direction, 0 signifie qu'ils sont perpendiculaires, et −1 signifie qu'ils pointent dans des directions opposées.
Exemple fictif avec deux nombres chacun : cat = (3, 4) et dog = (4, 3). Le produit scalaire est 3×4 + 4×3 = 24. Les deux longueurs valent 5. Donc cos = 24 / 25 = 0,96. Prenons maintenant car = (4, −3) : le produit scalaire avec cat est 12 − 12 = 0, donc cos = 0.
On ne peut pas dessiner 300 dimensions. Pour afficher une carte, les vecteurs sont réduits à 3 (ou 2) dimensions à l’aide d’une méthode comme PCA ou t-SNE ; le labo d’IA, dans son monde « De six caractéristiques à un nuage de points », montre comment ces méthodes fonctionnent et où elles déforment les distances. Réduire les dimensions déforme toujours quelque chose : deux mots qui semblent voisins sur la carte peuvent être plus éloignés dans l’espace complet.
Les embeddings statiques ont une limite. Si chaque token possède un vecteur fixe, le mot « bank » a le même vecteur dans « river bank » et « bank account ». Un seul vecteur doit représenter les deux sens. Plus loin dans ce labo (monde 2), tu verras comment l’attention permet aux nombres d’un token de dépendre des mots qui l’entourent.
Deux vecteurs de mots pointent exactement dans la même direction. Quelle est leur similarité cosinus ?
Pourquoi une carte en 3D de vecteurs de mots peut-elle montrer deux mots proches alors qu’ils sont éloignés dans l’espace complet ?
Pourquoi un vecteur fixe unique pour « banque » pose-t-il problème ?
Pour cat = (3, 4) et dog = (4, 3), quelle est la similarité cosinus ?