Aller au contenu
Apprendre.
  • M1 · toutes les matières15 matières : Préparation de données, API & sécurité, CI/CD, Docker, Merise, Dataviz, KNIME, ML appliqué : projet LoL, SQL & UML, SQL avancé, Machine Learning, Git, IA frugale & responsable, Qualité des données, MathématiquesAnnée
  • M2 · toutes les matières4 matières : Deep Learning, AI Act, Comex & Fundraising, Gouvernance & DataMeshAnnée
  • Deep LearningM2 · 4 modules · Réseaux de neurones, CNN, texte, modèles génératifs.Matière
  • Préparation de donnéesM1 · 3 modules · Nettoyer, transformer et fusionner des données avec Python.Matière
  • API & sécuritéM1 · 2 modules · Consommer, concevoir et sécuriser des API.Matière
  • CI/CDM1 · 1 module · Intégration et livraison continues.Matière
  • DockerM1 · 3 modules · Conteneurs, images, volumes, réseaux, Compose.Matière
  • MeriseM1 · 2 modules · Modéliser une base : MCD, MLD, MPD.Matière
  • DatavizM1 · 2 modules · Visualiser pour comprendre et décider.Matière
  • KNIMEM1 · 1 module · Explorer et nettoyer des données en workflow.Matière
  • ML appliqué : projet LoLM1 · 2 modules · Du besoin métier au POC de vision par ordinateur.Matière
  • SQL & UMLM1 · 3 modules · Modèles UML et requêtes SQL.Matière
  • SQL avancéM1 · 3 modules · Jointures, fenêtres, CTE, optimisation.Matière
  • Machine LearningM1 · 3 modules · Régression, classification, segmentation, projet.Matière

↑↓ naviguer↵ ouvre le résultat en surbrillanceesc fermer

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).

Décoche le masque : chaque token voit tout le texte (encodeur). Coche-le : chaque ligne ne voit que le passé (décodeur).

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

Un masque causal

Remplace par float("-inf") les scores des colonnes j situées après la ligne i (j > i), puis applique la softmax ligne par ligne (fournie). Attendu : la ligne 0 vaut [1, 0, 0, 0].

Ctrl/⌘+Entrée

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.

Tire plusieurs fois avec T = 0,3, puis T = 2. Avec top-k = 1 le texte devient toujours le même. Probabilités inventées pour l'exemple.

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

Température et top-k

Complète softmax_T (scores divisés par T) et top_k (seuil = la k-ième plus grande probabilité). Tu obtiens p_basse (T = 0,5), p_haute (T = 2) et p_k2.

Ctrl/⌘+Entrée

Encodeur, décodeur, encodeur-décodeur

FamilleCe que chaque token litPour quoi faireExemples
Encodeurtout le texte, des deux côtésclasser, extraireBERT, DrBERT
Décodeurce qui est avant (masque causal)écrire la suiteGPT
Encodeur-décodeurun texte entier, puis écrit un autre textetraduire, résumerT5

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.