Plus facile à lire avec un fond crème, une teinte, plus de contraste ou un texte plus grand ? Choisissez vos couleurs et votre texte, une fois pour toutes les pages.

Leçon gratuite

Comment fonctionne un modèle de langage

Après cette leçon: Je peux expliquer comment un modèle de langage produit du texte, sans les mathématiques.

Leçon de 60 min3 commandesLab agent de code IA : utiliser opencode pour expliquer et corriger du code, et vérifier son travail

Un modèle devine la suite

Un modèle de langage est un programme qui écrit en devinant ce qui vient ensuite. Votre téléphone en fait une petite version quand il propose le mot suivant d’un message.

Cela compte, car toute fonction bâtie sur un modèle hérite de cette devinette. Une fois le principe compris, ses réponses étranges deviennent logiques.

À la fin de cette leçon

Remarque

Je peux expliquer comment un modèle de langage produit du texte, sans les mathématiques.

Mots clés

MotCe que ça veut dire
Modèleun programme qui a appris des motifs dans une énorme quantité de texte
Consignele texte que vous envoyez à un modèle
Jetonun petit morceau de texte, souvent un mot ou une partie de mot
Contextetout le texte que le modèle voit pour une réponse
Températureun réglage qui rend la devinette plus ou moins variée

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Un modèle écrit un jeton à la fois

Un modèle ne prépare pas une réponse entière. Il lit votre consigne, devine le jeton suivant, l’ajoute, puis devine encore.

Il recommence jusqu’à la fin de la réponse. Chaque jeton est choisi d’après tout le texte écrit jusque-là, le contexte.

Exemple travaillé : le mot suivant

Le texte jusque-làMot suivantVu sur 10
Le chat dort sur lecanapé6
Le chat dort sur letapis3
Le chat dort sur letoit1

Les cellules que les étudiants remplissent restent vides dans cet aperçu.

Demander le mot suivant

Commande
docker exec -w /home/node/project agent node -e "const u=(process.env.AI_URL||'http://ai:4000')+'/v1/chat/completions';const poster=(m,t,x)=>fetch(u,{method:'POST',headers:{'content-type':'application/json',authorization:'Bearer lab'},body:JSON.stringify({model:'lab',messages:[{role:'user',content:m}],max_tokens:t,temperature:x})}).then(r=>r.json());poster('Terminez la phrase avec un seul mot et rien d’autre : Le chat dort sur le',12,0.7).then(j=>console.log('Modèle : '+j.choices[0].message.content)).catch(e=>console.log('Exemple enregistré (aucun modèle n’a répondu) : canapé'))"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

La même consigne peut donner des réponses différentes

Le modèle donne à chaque jeton possible une chance, puis en tire un. La température règle l’audace du tirage. Une température basse choisit presque toujours le jeton le plus probable. Une haute choisit plus souvent des jetons rares.

Un modèle n’est donc pas une calculatrice. Posez deux fois la question et vous pouvez obtenir deux réponses.

Poser deux fois la même consigne

Commande
docker exec -w /home/node/project agent node -e "const u=(process.env.AI_URL||'http://ai:4000')+'/v1/chat/completions';const poster=(m,t,x)=>fetch(u,{method:'POST',headers:{'content-type':'application/json',authorization:'Bearer lab'},body:JSON.stringify({model:'lab',messages:[{role:'user',content:m}],max_tokens:t,temperature:x})}).then(r=>r.json());const s=['canapé','tapis'];(async()=>{for(let i=0;i<2;i++){let t;try{const j=await poster('Terminez la phrase avec un seul mot et rien d’autre : Le chat dort sur le',12,1);t='Modèle : '+j.choices[0].message.content}catch(e){t='Exemple enregistré (aucun modèle n’a répondu) : '+s[i]}console.log('Essai '+(i+1)+' : '+t)}})()"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Probable ne veut pas dire vrai

Le modèle a appris sur des textes, donc il écrit bien ce qui sonne juste. Il ne peut pas consulter un fait. Si une phrase fausse ressemble à une phrase probable, il peut l’écrire d’une voix calme et sûre.

Votre rôle de développeur est de vérifier ce qui compte.

Poser une question sans réponse possible

Commande
docker exec -w /home/node/project agent node -e "const u=(process.env.AI_URL||'http://ai:4000')+'/v1/chat/completions';const poster=(m,t,x)=>fetch(u,{method:'POST',headers:{'content-type':'application/json',authorization:'Bearer lab'},body:JSON.stringify({model:'lab',messages:[{role:'user',content:m}],max_tokens:t,temperature:x})}).then(r=>r.json());poster('Comment s’appelle mon chat ? Répondez par une phrase courte.',40,0.7).then(j=>console.log('Modèle : '+j.choices[0].message.content)).catch(e=>console.log('Exemple enregistré (aucun modèle n’a répondu) : Je ne connais pas le nom de votre chat.'))"

Affichée ici, non exécutée. Créez un compte gratuit pour appuyer sur Exécuter et la saisir dans le terminal de votre propre labo.

Une erreur fréquente

Attention

Beaucoup de gens pensent qu’un modèle cherche les faits, comme un moteur de recherche. Ce n’est pas le cas. Il prolonge un texte avec des jetons probables. Ne croyez une réponse qu’après l’avoir comparée à autre chose.

Aller plus loin : un petit modèle

Le devoir est un tout petit modèle de langage : une table de comptes et une règle de choix. Un vrai modèle suit la même idée. Sa table est bien plus grande, bâtie sur bien plus de texte, et il regarde une part bien plus large du contexte.

Ajoutez quelques mots et quelques comptes de votre choix à la table, puis regardez le texte écrit.

À propos de ce labo et de sa source: Lab agent de code IA : utiliser opencode pour expliquer et corriger du code, et vérifier son travail

Vous enseignez à une classe ? Proposez ce module à vos étudiants avec un guide de l'enseignant, des devoirs corrigés et un laboratoire pour chaque étudiant.