Partie 7
Écrire : deviner le token suivant
Écrire, c'est deviner le token suivant. Après « La patiente est atteinte d'une… », le modèle donne une probabilité à chaque token du vocabulaire (une softmax, comme en J1) : maladie 0,31, infection 0,22, pneumopathie 0,09… On en choisit un, on l'ajoute au texte, et on recommence.
Différence avec DrBERT : le modèle ne voit que ce qui est avant, puisque la suite n'existe pas encore. Dans l'attention, un masque causal donne un poids nul aux tokens qui suivent (score −∞ au-dessus de la diagonale).
Reprends la fonction du masque de la partie 5, mais avec une règle qui dépend de la position : le token i ne peut lire que les tokens j ≤ i. Pense au résultat attendu pour la première ligne : un seul score reste, donc son poids est 1 sur lui-même. Sans cette condition, le modèle « tricherait » en lisant le token qu'il doit deviner.
À toi de coder
Générer un token à la fois (autorégressif)
Boucle : texte écrit jusqu'ici → Transformer avec masque causal → probabilités du token suivant → tirage d'un token → on l'ajoute et on recommence. On s'arrête sur un token de fin ou à une longueur maximale. Chaque token écrit dépend de tous les précédents, y compris de ceux que le modèle a lui-même écrits : c'est la génération autorégressive.
La température T règle la part de hasard du tirage : on divise les scores par T avant la softmax. T basse : presque toujours le token le plus probable ; T haute : choix plus variés. Le top-k ne garde que les k tokens les plus probables, puis renormalise.
Tu vas écrire la softmax à température (diviser chaque score par T avant l'exponentielle) et le top-k (garder les k plus grandes probabilités, mettre les autres à 0, puis diviser par la nouvelle somme pour retrouver 1). Pour le seuil du top-k, trie les probabilités en ordre décroissant : le k-ième est à l'indice k − 1 de la liste triée. Observe ensuite que T = 0,5 pointe sur le premier token et que T = 2 aplatit.
À toi de coder
Encodeur, décodeur, encodeur-décodeur
| Famille | Ce que chaque token lit | Pour quoi faire | Exemples |
|---|---|---|---|
| Encodeur | tout le texte, des deux côtés | classer, extraire | BERT, DrBERT |
| Décodeur | ce qui est avant (masque causal) | écrire la suite | GPT |
| Encodeur-décodeur | un texte entier, puis écrit un autre texte | traduire, résumer | T5 |
Le Transformer de 2017 était un encodeur-décodeur, fait pour traduire. DrBERT est un encodeur : il lit tout le texte pour le comprendre. Un modèle qui écrit est un décodeur.