1. Collecter sans tout accepter
Le problème : Un crawl brut contient le même article viral 3 000 fois, des clés d’API et du spam optimisé. Entraîné tel quel, le modèle apprend les doublons par cœur — et peut les restituer, secrets compris. Corriger après coup ? Les copies sont déjà diffusées dans tous les poids.
L’idée : Le filtrage est une étape de conception en tête de chaîne : déduplication par empreintes, détection de secrets, règles de licence et de provenance. L’article répété 3 000 fois ne doit compter qu’une fois — avant qu’un seul gradient ne soit dépensé dessus.
Pourquoi / à quel prix : Pourquoi si tôt : retirer un document coûte une comparaison ; le désapprendre coûterait un ré-entraînement. Le prix : tout filtre a des faux positifs — trop agressif, il appauvrit la diversité que la moyenne des gradients devait justement capturer.
Vérification de compréhension
Nommez l’entrée, l’état transformé, la sortie et une hypothèse nécessaire. Comparez ensuite votre chaîne à l’explication ci-dessus.
2. Tokeniser
Le problème : Le modèle ne consomme pas des lettres : il lui faut des unités discrètes en nombre fini. Découper par mots fait exploser le vocabulaire (« livre », « livres », « livresque »…) ; découper par caractères étire chaque phrase et son coût. Où couper ?
L’idée : Le tokenizer apprend un vocabulaire de sous-mots. « Maya lit un livre » devient 5 tokens pour 4 mots : [Maya][ lit][ un][ liv][re] — « livre » est coupé en deux, les frontières ne suivent pas les mots.
Pourquoi / à quel prix : Conséquence directe : le coût se compte en tokens, pas en mots — ici 5/4, soit +25 %. Le prix : le vocabulaire est figé avant l’entraînement ; un domaine mal couvert (code, langue rare, jargon) se fragmente en tokens courts et paie plus cher pour la même information.
Vérification de compréhension
Nommez l’entrée, l’état transformé, la sortie et une hypothèse nécessaire. Comparez ensuite votre chaîne à l’explication ci-dessus.
3. Construire entrées et cibles
Le problème : Il faut des millions d’exemples étiquetés, et personne n’annotera le web à la main. D’où viennent les cibles ? Le texte doit se superviser lui-même — sans fuite : si une position voit sa propre réponse, la perte tombe à zéro sans rien apprendre.
L’idée : Le décalage d’un token fabrique la supervision gratuitement : pour [A,B,C,D], entrée [A,B,C], cible [B,C,D]. Chaque position prédit le token suivant sans voir le futur ; une séquence de L tokens fournit L−1 positions d’entraînement.
targets = tokens shifted left by one
Pourquoi / à quel prix : Gratuit et illimité — c’est ce qui rend la pré-formation possible à cette échelle. Le prix : la supervision se réduit à « le token suivant ». Le modèle apprend ce que le corpus fait suivre, pas ce qui est vrai ; la qualité des cibles est exactement celle du texte.
Vérification de compréhension
Nommez l’entrée, l’état transformé, la sortie et une hypothèse nécessaire. Comparez ensuite votre chaîne à l’explication ci-dessus.
4. Former des lots
Le problème : Un GPU rentable traite des milliers de positions en parallèle, mais les séquences n’ont pas la même longueur : 4 positions ici, 9 là. Comment les empiler dans un tenseur rectangulaire sans fausser le calcul de la perte ?
L’idée : On aligne sur la plus longue : T = 9 ; la courte reçoit 5 positions de padding et un masque marque le vide. La perte moyenne se divise par les 13 positions réelles, jamais par les 18 cases du rectangle.
Pourquoi / à quel prix : Le prix du rectangle : 5 cases sur 18 — environ 28 % du calcul de ce lot — chauffent du vide. Et un masque oublié fausse la courbe en silence : la moyenne baisse (somme ÷ 18) sans qu’aucune prédiction ne s’améliore.
Vérification de compréhension
Nommez l’entrée, l’état transformé, la sortie et une hypothèse nécessaire. Comparez ensuite votre chaîne à l’explication ci-dessus.
5. Perte et mise à jour
Le problème : À chaque position, le modèle émet un score par token du vocabulaire — souvent 100 000. La cible est UN token. Il faut convertir ces scores et cette cible en un seul nombre qui mesure la surprise, et qui punisse fort l’erreur confiante.
L’idée : La softmax transforme les scores en probabilités, puis la perte prend −log p(cible) : p = 0,25 → 1,386 ; p = 0,50 → 0,693 ; p = 0,01 → 4,605. Les gradients redistribuent ensuite cette surprise sur tous les paramètres qui y ont contribué.
loss = −log p(target token)
Pourquoi / à quel prix : La pente en −log explose près de zéro, et c’est voulu : être sûr et faux coûte très cher. Le prix : la perte moyenne devient un indicateur falsifiable — dénominateur, padding, mélange de corpus peuvent la faire baisser sans progrès réel.
Vérification de compréhension
Nommez l’entrée, l’état transformé, la sortie et une hypothèse nécessaire. Comparez ensuite votre chaîne à l’explication ci-dessus.
6. Modèle de base et étapes suivantes
Le problème : La boucle s’arrête : vous avez un modèle de base qui complète du texte. Il ne suit pas d’instructions et peut être toxique — et il faut prouver ses capacités alors qu’il a peut-être déjà lu vos questions de test pendant la pré-formation.
L’idée : La chaîne se termine en trois branches : le modèle de base ; l’instruction tuning et l’alignement, qui modifient le comportement ; et un jeu d’évaluation strictement séparé du corpus. Cette séparation se décide au filtrage, pas le jour du test.
Pourquoi / à quel prix : Pourquoi l’étanchéité est vitale : une question de test vue en pré-formation change le score en mesure de mémoire. Le prix opérationnel : la maintenir sur des téraoctets exige un outillage permanent — empreintes, recouvrement de n-grammes — c’est un coût d’ingénierie, pas une formalité.
Vérification de compréhension
Nommez l’entrée, l’état transformé, la sortie et une hypothèse nécessaire. Comparez ensuite votre chaîne à l’explication ci-dessus.
Cas guidé complet
La phrase « Maya lit un livre » devient cinq tokens. Le lot utilise les quatre premiers comme entrées et les quatre derniers comme cibles. Si le modèle donne 0,25 à la bonne cible, la perte de cette position vaut −log(0,25) ≈ 1,386.
Méthode de lecture: écrire les données, annoncer la forme de chaque objet, effectuer une seule transformation, puis interpréter le résultat avant de continuer.