Des jetons aux vecteurs
- Leçon 2
- 35 min
- Module 1 : Le modèle mental d'un modèle de langage
Leçon 2 sur 16 · Les LLM : comment ils fonctionnent et comment en choisir unDes jetons aux vecteurs
1. Le modèle mental d'un modèle de langage
2. Capacités et limites
3. Comment les modèles sont fournis
4. Évaluer pour votre tâche
5. Prendre une décision et la maintenir
Ce que vous saurez faire
Voyez ce qu’un modèle fait avec un identifiant de jeton : il cherche une liste de nombres appris, un vecteur. Vous pourrez ensuite expliquer pourquoi « refund » et « reimburse » sont proches pour un modèle. Vous comprendrez pourquoi « late » et « early » le sont aussi. Vous saurez aussi ce qu’est un plongement (embedding) lorsqu’un cours ultérieur en utilise un pour la recherche.
Avant de commencerCe qu’il faut savoir et avoir sous la main
Ce que vous devez savoir
- Ce que sont les jetons (tokens) et leurs identifiants, vu dans Du texte aux jetons.
- Ce qu’est un vecteur et comment la similarité cosinus compare deux vecteurs, vu dans Similarité et distance du cours Mathématiques et statistiques essentielles pour l’IA. Cette leçon reprend la version courte.
Ce qu’il vous faut
- Un navigateur. Le code de cette leçon est facultatif; vous n’avez pas besoin de l’exécuter.
Les nombres proviennent d’un petit modèle ouvert. Les autres modèles ont d’autres nombres, mais les idées restent les mêmes.
Les couleurs en trois nombres
Section intitulée « Les couleurs en trois nombres »Un magasin de peinture mélange les couleurs avec une machine. La machine ne connaît pas les noms « bleu ciel » ou « rouge brique ». Elle connaît trois nombres pour chaque couleur : les quantités de rouge, de vert et de bleu à ajouter. Le bleu ciel correspond à 135, 206, 235. Le bleu pâle correspond à 173, 216, 230. Le rouge brique correspond à 178, 34, 34.
Regardez les nombres, pas les noms. Le bleu ciel et le bleu pâle ont des nombres proches et se ressemblent. Le rouge brique a des nombres très différents et une apparence différente. Les trois nombres placent chaque couleur dans un espace. Dans cet espace, proche veut dire semblable.
Un modèle de langage a besoin de la même chose pour les jetons.
Le problème : un identifiant de jeton n’est qu’une position
Section intitulée « Le problème : un identifiant de jeton n’est qu’une position »La leçon précédente transformait le texte en identifiants de jetons. Cette leçon utilise SmolLM2-135M, un petit modèle ouvert qui fonctionne sur un portable. Son outil de segmentation en jetons donne à « refund » l’identifiant 37 393.
Regardez maintenant les identifiants voisins. 37 392 correspond à « Yin ». 37 394 correspond à « elem ». 37 395 correspond à « COPY ». L’identifiant indique seulement la position du jeton dans la liste du vocabulaire. Deux identifiants proches n’ont pas un sens proche. Deux jetons de sens proche peuvent aussi avoir des identifiants éloignés : « Monday » vaut 12 397 et « Tuesday » vaut 14 801.
Le modèle ne peut donc pas faire ses calculs directement avec les identifiants. C’est une fonction mathématique. Il lui faut des nombres où proche veut dire semblable, comme pour les couleurs de peinture.
L’idée : une ligne de nombres pour chaque jeton
Section intitulée « L’idée : une ligne de nombres pour chaque jeton »Le modèle conserve un grand tableau. Ce tableau contient une ligne pour chaque jeton du vocabulaire. Chaque ligne est une liste de nombres : un vecteur. Quand le modèle reçoit un billet de soutien, il commence par remplacer chaque identifiant de jeton par sa ligne. L’identifiant de jeton 37 393 devient la ligne 37 393.
Ce tableau est la table de plongements. La ligne d’un jeton est son plongement, ou vecteur de jeton. Le nom vient de l’image des couleurs de peinture : chaque jeton est plongé, placé, en un point d’un espace. L’espace de la machine à peinture a 3 directions. Celui de SmolLM2-135M en a 576.
Description textuelle du graphique
Une bande de 576 barres fines, une par nombre du vecteur de « refund », au-dessus et au-dessous de zéro. La plupart des barres sont courtes : les nombres se situent surtout entre −0,3 et +0,3. Quelques-uns atteignent −0,97 et +0,77. Sous la bande figurent les six premiers nombres : 0.019, 0.022, −0.08, −0.147, −0.195, 0.177, puis « 570 de plus ».
Personne n’a choisi ces nombres. Avant l’entraînement, chaque ligne est aléatoire. Pendant l’entraînement, le modèle ajuste chaque nombre de chaque ligne, petit à petit, pour mieux prédire le jeton suivant. (Les étapes de l’entraînement décrit cet entraînement.) Les jetons qui apparaissent aux mêmes types d’endroits dans le texte finissent par avoir des lignes proches.
Le tableau représente une grande partie du modèle. SmolLM2-135M contient 49 152 jetons × 576 nombres : environ 28 millions de nombres, soit 21 % des 135 millions du modèle.
Un petit exemple : trois jetons, deux nombres
Section intitulée « Un petit exemple : trois jetons, deux nombres »Prenez trois jetons avec des vecteurs inventés de seulement deux nombres. Vous pourrez ainsi calculer à la main :
| Jeton | Vecteur |
|---|---|
| « refund » | (0,9, 0,2) |
| « reimburse » | (0,8, 0,3) |
| « Monday » | (−0,1, 0,9) |
Pour comparer deux vecteurs, les modèles utilisent la similarité cosinus : elle mesure si deux vecteurs pointent dans la même direction. Elle vaut 1 pour la même direction, 0 pour des directions sans lien et −1 pour des directions opposées. Multipliez les deux vecteurs nombre par nombre, puis additionnez les résultats : c’est le produit scalaire. Divisez ensuite par le produit des deux longueurs :
- « refund » et « reimburse » : (0,9 × 0,8 + 0,2 × 0,3) ÷ (0,92 × 0,85) = 0,78 ÷ 0,79 = 0,99.
- « refund » et « Monday » : (0,9 × −0,1 + 0,2 × 0,9) ÷ (0,92 × 0,91) = 0,09 ÷ 0,84 = 0,11.
La première paire pointe presque dans la même direction, contrairement à la deuxième. Dans cette leçon, « proche » signifie simplement une similarité cosinus élevée.
Ce que la véritable table a appris
Section intitulée « Ce que la véritable table a appris »Passons à la véritable table de SmolLM2-135M, avec 576 nombres par jeton. Pour un jeton donné, l’explorateur montre deux listes. À gauche : les jetons voisins par identifiant. À droite : les jetons les plus proches par vecteur, parmi les 49 152 lignes. Le nombre sur chaque barre est la similarité cosinus des deux lignes.
Explorer
Voisins par identifiant et par vecteur, dans SmolLM2-135M
Prédisez d’abord : Commencez par « Monday ». Quels jetons seront les plus proches par vecteur, selon vous? Choisissez ensuite « late » : son voisin le plus proche sera-t-il « delayed », « slow » ou autre chose?
·Monday numéro de jeton 12397
Voisins par numéro
- 12394·retrie0,48
- 12395·Isa0,41
- 12396·disappear0,37
- 12398·exert0,42
- 12399·Hot0,34
- 12400·weapon0,33
Les plus proches par vecteur
- ·Tuesday0,92
- ·Wednesday0,90
- ·Thursday0,90
- ·Saturday0,85
- ·Friday0,84
- ·Sunday0,82
- ·Sundays0,69
- Monday0,68
Les autres jours de la semaine sont ses jetons les plus proches (0,82 à 0,92). Ses voisins par numéro sont sans rapport (0,33 à 0,48).
Description textuelle de l’explorateur
Deux listes pour chacun des sept jetons. La première contient les six jetons dont les identifiants précèdent ou suivent le sien, avec leur similarité. La deuxième contient les huit jetons les plus proches par vecteur, avec leur similarité.
« Monday » (identifiant 12 397) : voisins par identifiant « retrie », « Isa », « disappear », « exert », « Hot » et « weapon » (0,33 à 0,48); voisins par vecteur « Tuesday » 0,92, « Wednesday » 0,90, « Thursday » 0,90, « Saturday » 0,85, « Friday » 0,84, « Sunday » 0,82. « late » (identifiant 3 008) : voisins par identifiant de 0,07 à 0,13 et un à −0,01; voisins par vecteur « early » 0,69, « Late » 0,68, « Late » 0,67, « Early » 0,57. « broken » (identifiant 6 792) : par identifiant de 0,12 à 0,27; par vecteur « broken » 0,74, « Broken » 0,73, « breaking » 0,71. « cheap » : « inexpensive » 0,80, « cheaper » 0,74, « affordable » 0,66, « expensive » 0,59, « costly » 0,55. « France » : « France » 0,87, « Spain » 0,71, « Germany » 0,70, « French » 0,67. « refund » (identifiant 37 393) : par identifiant de 0,49 à 0,70; par vecteur « reimburse » 0,84, puis des morceaux de mots rares comme « authent » et « remun » 0,80. « parcel » : « parcels » 0,90, puis des morceaux de mots rares de 0,73 à 0,74.
Quatre choses à observer :
- Les identifiants ne disent rien. Les voisins de « Monday » par identifiant sont « Isa », « Hot » et « weapon ». Ses voisins par vecteur sont les autres jours de la semaine, entre 0,82 et 0,92.
- Les vecteurs regroupent les jetons utilisés de façon semblable. Les formes d’un même mot (« broken », « broken » sans espace, « Broken ») sont proches. Les mots de même sens (« cheap », « inexpensive ») aussi, comme les membres d’une même famille (« France », « Spain », « Germany »).
- Proche ne veut pas dire de même sens. Le jeton le plus proche de « late » est « early », son contraire, à 0,69. Tous deux apparaissent aux mêmes endroits : « arrived late » (arrivé en retard), « arrived early » (arrivé en avance). Les vecteurs apprennent où un jeton est utilisé, et les contraires sont utilisés aux mêmes endroits. Gardez cela en tête pour la recherche : une question sur les commandes en retard peut trouver un texte sur celles en avance.
- Les jetons rares ont des vecteurs vagues. « refund » et « parcel » apparaissent peu dans le texte d’entraînement de SmolLM2. Il contient surtout des pages Web en anglais, du code et des mathématiques. À part « reimburse » et « parcels », leurs voisins les plus proches sont des morceaux de mots rares. Même leurs voisins par identifiant obtiennent de 0,49 à 0,70. Les lignes rares restent proches les unes des autres, car l’entraînement les a peu déplacées.
Avant et après l’entraînement
Section intitulée « Avant et après l’entraînement »L’explorateur ci-dessous montre 20 jetons en cinq groupes : jours, pays, dommages, prix et livraison. On ne peut pas dessiner un vecteur de 576 nombres. La carte en dessine donc une ombre sur une page plane, avec l’analyse en composantes principales (ACP, ou PCA en anglais). L’ombre conserve les deux directions dans lesquelles les jetons diffèrent le plus. Elle perd le reste. Fiez-vous donc davantage au score des voisins les plus proches sous la carte qu’aux distances sur la page.
Explorer
20 jetons avant et après l'entraînement
Prédisez d’abord : Avant l'entraînement, les lignes sont aléatoires. Les quatre jours seront-ils ensemble? Passez à la table entraînée : quels groupes devraient se former, selon vous?
- jours
- pays
- dommages
- prix
- livraison
Des nombres aléatoires, comme dans le tableau avant l'entraînement : les jetons sont dispersés, et aucun groupe n'est réuni. Score « même groupe » de ces 20 jetons : 0,017 (hasard : 0,158).
Description textuelle de l’explorateur
Un nuage de points de 20 jetons, chacun avec la couleur et la forme de son groupe : Monday, Tuesday, Friday et Sunday (jours); France, Spain, Germany et Canada (pays); broken, cracked, smashed et shattered (dommages); cheap, expensive, costly et affordable (prix); delivery, shipping, shipment et delivered (livraison). Une commande permet de passer d’une table à l’autre. Avant l’entraînement (nombres aléatoires) : les jetons sont dispersés et aucun groupe n’est réuni; le score de même groupe est 0,017. Après l’entraînement (SmolLM2-135M) : les quatre jours sont réunis à droite et les quatre pays en bas. Les mots de dommages, de prix et de livraison occupent le coin supérieur gauche. Le voisin le plus proche de chaque jeton appartient à son groupe, et le score de même groupe est 0,85. Le hasard donne 0,158.
L’entraînement a créé les groupes. Personne n’a dit au modèle que Monday et Friday sont des jours. Il les a vus souvent dans les mêmes types de phrases, et leurs lignes se sont rapprochées. La même chose s’est produite pour « cracked » et « shattered ». Les groupes se mélangent aussi un peu, comme dans le texte. « shipment » est proche de « smashed » (0,67), car les envois endommagés sont un sujet courant.
Le même jeton dans différentes phrases
Section intitulée « Le même jeton dans différentes phrases »La table donne à chaque jeton une seule ligne. Mais « order » a différents sens dans « My order arrived late » (ma commande est arrivée en retard) et « put the steps in the right order » (mettez les étapes dans le bon ordre). Comment le modèle les distingue-t-il?
La table n’est que la première étape. SmolLM2-135M comporte ensuite 30 couches. Chaque couche met à jour le vecteur de chaque jeton avec des informations provenant des jetons précédents du texte. Après les premières couches, le vecteur de « order » n’est donc plus la ligne de la table. C’est cette ligne, modifiée par sa phrase. Le cours L’apprentissage profond et les transformeurs expliqués montre comment une couche fait cela, dans Les mathématiques de l’attention. Vous n’en avez pas besoin ici.
Amira a comparé le vecteur de « order » dans trois phrases : A, « My order arrived late and the pot was broken. » (ma commande est arrivée en retard et le pot était cassé); B, « I placed an order for two ceramic pots last week. » (j’ai passé une commande de deux pots en céramique la semaine dernière); et C, « Please put the steps in the right order before you start. » (veuillez mettre les étapes dans le bon ordre avant de commencer).
- Couche 15 (au milieu)
- Couche 30 (la dernière)
Description textuelle du graphique
Un diagramme à six barres : trois paires de phrases, chacune à la couche 15 et à la couche 30. A et B (deux commandes dans un magasin) : 0,90 à la couche 15 et 0,85 à la couche 30. A et C (une commande en magasin et l’ordre des étapes) : 0,77 et 0,79. B et C : 0,78 et 0,81. À la couche 0, les trois paires valent 1,00.
À l’entrée, les trois vecteurs sont identiques, car ils proviennent de la même ligne : une similarité de 1,00. Au milieu du modèle, les deux phrases de magasin se ressemblent le plus (0,90). La phrase sur les étapes s’est éloignée (0,77 et 0,78). Les vecteurs représentent maintenant la phrase, pas seulement le jeton. Les différences restent petites, car ces vecteurs portent aussi d’autres informations, comme la position dans le texte et la suite possible.
Le dernier vecteur choisit le jeton suivant
Section intitulée « Le dernier vecteur choisit le jeton suivant »Après la dernière couche, le modèle possède un vecteur pour chaque jeton du texte. Pour écrire le jeton suivant, il utilise le vecteur du dernier jeton. Il compare ce vecteur à chaque ligne d’une table et attribue un score à chaque jeton. Plus ils se ressemblent, plus le score est élevé.
Dans SmolLM2-135M, c’est la même table de plongements qu’à l’entrée. Le modèle lit avec cette table et écrit avec elle. Tous les modèles ne font pas cela. Gemma utilise une table aux deux extrémités, mais de plus grands modèles, comme Llama 3 8B, apprennent une deuxième table pour la sortie. Amira a donné à SmolLM2-135M le début « My parcel arrived late, so the customer asked for a » (mon colis est arrivé en retard, alors le client a demandé un). Son score le plus élevé correspondait à « refund ».
La leçon suivante transforme ces scores en probabilités. Elle montre comment le modèle choisit un jeton et répète la boucle.
Des vecteurs de jetons aux plongements pour la recherche
Section intitulée « Des vecteurs de jetons aux plongements pour la recherche »L’assistant de Larkfield devra plus tard trouver le bon passage de la politique de soutien pour un billet. Pour cela, un programme a besoin d’un vecteur pour un texte entier, pas d’un vecteur par jeton. Un modèle de plongement le fournit. Ce modèle est entraîné à lire un texte et à renvoyer un vecteur, pour rapprocher les textes de sens semblable. Le cours RAG : créer une IA qui utilise vos données utilise un modèle qui renvoie 384 nombres pour tout texte, dans Les plongements pour la recherche.
Ce que cette leçon a montré sur les vecteurs de jetons s’applique aussi à ces plongements de textes :
- Proche veut dire « utilisé de façon semblable », pas « identique ». Un texte sur les commandes en retard peut être proche d’un texte sur les commandes en avance. Il faut tester la recherche avec de vraies questions.
- Les nombres appartiennent à un seul modèle. Un vecteur d’un modèle ne signifie rien pour un autre modèle. C’est aussi le cas d’un identifiant de jeton provenant d’un autre outil de segmentation (voir la leçon précédente). Comparez des vecteurs seulement si le même modèle a créé les deux.
Exemple détaillé : Amira cherche une ligne
Section intitulée « Exemple détaillé : Amira cherche une ligne »Amira veut voir la table elle-même. Vous n’avez pas besoin d’exécuter ce code; il sert à vous montrer les étapes. La première fois, il télécharge le modèle (environ 270 Mo) depuis Hugging Face.
from transformers import AutoModelForCausalLM, AutoTokenizer
name = "HuggingFaceTB/SmolLM2-135M"tokenizer = AutoTokenizer.from_pretrained(name)model = AutoModelForCausalLM.from_pretrained(name)table = model.get_input_embeddings().weight.detach().float() # one row per token
print(table.shape)refund = tokenizer.encode(" refund")[0]print(refund, [round(v, 3) for v in table[refund][:4].tolist()])
def similarity(a, b): x, y = table[tokenizer.encode(a)[0]], table[tokenizer.encode(b)[0]] return round((x @ y / (x.norm() * y.norm())).item(), 2)
print(similarity(" broken", " cracked"))print(similarity(" broken", " Monday"))print(similarity(" late", " early"))get_input_embeddings().weight est la table de plongements. table[refund] est une ligne : le vecteur du jeton. La fonction similarity calcule la similarité cosinus de deux lignes. La sortie :
torch.Size([49152, 576])37393 [0.019, 0.022, -0.08, -0.147]0.50.230.69La table contient 49 152 lignes de 576 nombres. « broken » est plus proche de « cracked » (0,5) que de « Monday » (0,23). Et « late » est plus proche de « early » (0,69) que « broken » ne l’est de « cracked ».
Exercice guidé : lire les explorateurs
Section intitulée « Exercice guidé : lire les explorateurs »Utilisez les deux explorateurs ci-dessus. Faites d’abord vos prédictions, puis suivez les étapes.
- Dans le premier explorateur, sélectionnez ·Monday (lundi). Comparez les deux listes : les jetons par identifiant obtiennent de 0,33 à 0,48. Les jours de la semaine par vecteur obtiennent de 0,82 à 0,92.
- Sélectionnez ·late (en retard). Trouvez « early » au sommet de la liste par vecteur, à 0,69.
- Sélectionnez ·refund (remboursement). Trouvez « reimburse » (0,84), puis les morceaux de mots rares à 0,80. Regardez les scores des voisins par identifiant : de 0,49 à 0,70, bien plus élevés que pour « Monday ».
- Dans le deuxième explorateur, passez de Avant l’entraînement à Après l’entraînement. Trouvez les quatre jours et les quatre pays.
- Écrivez une phrase pour Tomás, qui dit : « Deux jetons avec des vecteurs proches veulent dire la même chose. »
Afficher un exemple de réponse
« Pas toujours. Des vecteurs proches signifient que les deux jetons sont utilisés aux mêmes types d’endroits dans le texte. Cela correspond souvent à un sens semblable, comme pour Monday et Tuesday. Mais “ late” et “ early” sont proches aussi, et ce sont des contraires. »
À vous de jouer : deux mots sur le prix
Section intitulée « À vous de jouer : deux mots sur le prix »Dans le premier explorateur, « cheap » (bon marché) est proche de « inexpensive » (peu coûteux). Avant de regarder, faites une prédiction : « expensive » (cher), son contraire, figure-t-il parmi les huit jetons les plus proches? Vérifiez ensuite.
Afficher la réponse
Oui. « expensive » est sixième, à 0,59, et « costly » (coûteux) est septième, à 0,55. Ces deux mots sont des contraires, mais ils parlent tous deux du prix. Ils apparaissent aussi aux mêmes endroits : « a cheap pot » (un pot bon marché), « an expensive pot » (un pot cher). C’est le même schéma que pour « late » (en retard) et « early » (en avance).
Erreur courante
Une recherche qui mélange deux modèles
Symptôme : l’outil de recherche de Larkfield stocke un vecteur pour chaque section de la politique de soutien. Amira passe à un modèle de plongement plus récent et l’utilise seulement pour les nouvelles sections. Le lendemain, les questions sur les remboursements trouvent des sections sur les mots de passe.
Cause : les anciennes sections ont encore les vecteurs de l’ancien modèle. Les questions reçoivent maintenant des vecteurs du nouveau modèle. Les deux modèles placent les sens à des endroits différents. De même, deux outils de segmentation en jetons donnent des identifiants différents à « refund » (remboursement). La similarité entre un vecteur d’un modèle et un vecteur de l’autre donne un nombre, mais ce nombre ne signifie rien.
Solution : créez les plongements de chaque section et de chaque question avec un seul modèle. Quand le modèle change, recréez les plongements de toutes les sections. Stockez le nom et la version du modèle avec les vecteurs pour qu’un programme puisse les vérifier.
Ce que cela signifie pour un vrai service d’IA : un vecteur est utile seulement avec des vecteurs du même modèle. Le cours RAG : créer une IA qui utilise vos données enregistre le modèle avec l’index pour cette raison.
Vérification des connaissances
Section intitulée « Vérification des connaissances »Vérifiez votre compréhension
L'identifiant d'un jeton est un nombre. Pourquoi le modèle ne fait-il pas ses calculs directement avec les identifiants?
Afficher la réponse
Un identifiant indique seulement la position du jeton dans la liste du vocabulaire. Des identifiants proches n’indiquent pas des sens proches. À côté de « Monday » (lundi), dont l’identifiant est 12 397, se trouvent « Isa » et « weapon » (arme). Le modèle a besoin de nombres dont la proximité indique une ressemblance. Il remplace donc chaque identifiant par la ligne du jeton dans la table de plongements, un vecteur de nombres appris.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Dans SmolLM2-135M, « late » et « early » ont des vecteurs proches (0,69). Le modèle les traite-t-il comme identiques? Qu'est-ce que cela signifie pour la recherche?
Afficher la réponse
Non. Des vecteurs proches indiquent que les deux jetons s’utilisent aux mêmes types d’endroits dans les textes. Par exemple : « arrived late » (arrivé en retard) et « arrived early » (arrivé en avance). Les contraires s’utilisent souvent aux mêmes endroits. Avec une recherche par plongements, une question sur des commandes en retard peut trouver un texte sur des commandes en avance. Testez la recherche avec de vraies questions et lisez ce qu’elle trouve.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Vérifiez votre compréhension
Dans « My order arrived late » (ma commande est arrivée en retard) et « put the steps in the right order » (placez les étapes dans le bon ordre), le jeton « order » a le même identifiant. A-t-il le même vecteur à l'intérieur du modèle?
Afficher la réponse
À l’entrée, oui : le modèle prend la même ligne de la table de plongements. Les deux vecteurs sont donc identiques (similarité de 1,00). Ensuite, chaque couche modifie le vecteur avec l’information des autres jetons de la phrase. Au milieu de SmolLM2-135M, les vecteurs de « order » dans une phrase commerciale et dans celle sur les étapes ont une similarité d’environ 0,77. Pour deux phrases commerciales, cette similarité est de 0,90.
Votre réponse contient-elle les points principaux de la nôtre ?
Connectez-vous et inscrivez-vous au cours pour enregistrer vos réponses. Chaque vérification compte pour le certificat.
Récapitulatif
- L’identifiant d’un jeton indique seulement une position dans une liste. Le modèle le remplace par la ligne du jeton dans la table de plongements. C’est un vecteur de nombres appris, le plongement du jeton. Dans SmolLM2-135M, la table compte 49 152 lignes de 576 nombres, soit 21 % du modèle.
- L’entraînement rapproche les jetons qui s’utilisent de façon semblable : les jours de la semaine ont des similarités de 0,82 à 0,92. Proche signifie une utilisation semblable, pas un sens identique : « late » est le plus proche de « early ». Les jetons rares reçoivent des vecteurs peu précis.
- La table donne la même ligne dans chaque phrase. Les couches du modèle modifient ensuite chaque vecteur avec le reste du texte. Ainsi, les vecteurs de « order » dans une phrase commerciale et dans une phrase sur les étapes s’éloignent.
- Un modèle de plongement renvoie un seul vecteur pour un texte entier, afin de permettre la recherche. Ses vecteurs suivent les mêmes règles : proche signifie une utilisation semblable, et il ne faut jamais mélanger les vecteurs de modèles différents.
Ensuite, voyez ce que le modèle fait avec le dernier vecteur : il attribue une probabilité à chaque jeton suivant possible, puis en choisit un.
Leçon suivante : Prédire la suite