Étapes 0-20K : Un régime restreint
Deux phases, une exécution
Le curriculum firehose v2 s'exécute en deux phases au sein d'une unique exécution d'entraînement de 200K étapes :
Phase A (étapes 0 à 20K). Bandit tire uniquement de 7 sources de chat & prose :
- hermes3-general
- hermes3-creative
- hermes3-roleplay
- chat
- smoltalk
- oasst
- gutenberg
Phase B (étapes 20K à 200K). Bandit tire du mélange complet, toutes les 16 sources, y compris référence (dictionary), technique (repo-docs, repo-commits), & social (irc, unweapon).
Ce que le Régime Restreint Partage
Six des sept sources de warmup sont conversationnelles. Une (gutenberg) est de la prose par paragraphes. Ensemble, elles partagent une forme commune : structure de tour (prompt puis réponse) ou flux narratif. La distribution du vocabulaire à travers les 7 sources ressemble à un anglais normal approximativement ; les cibles d'entropie croisée restent dans une plage stable ; les magnitudes de gradient restent prévisibles.
Champ de configuration
"curriculum_warmup_steps": 20000,
"curriculum_warmup_sources": ["hermes3-general", "hermes3-creative",
"hermes3-roleplay", "chat", "smoltalk", "oasst", "gutenberg"]
Identifier la phase de Warmup
À quoi ressemblait v1 sans warmup
v1 : Toutes les 16 sources dès l'étape 0
La première exécution d'entraînement ANDREA-120M (mars-avril 2026) a activé le plein feu d'artifice dès l'étape 0 : 16 sources, incluant dictionary (88K définitions de mots sous forme > define X / < X est...), repo-docs (documentation markdown), repo-docstrings (docstrings Python), & repo-commits (messages de commit git aux côtés de chat & prose).
Qu'est-ce qui s'est mal passé
Un modèle de 120M fraîchement initialisé avec des poids aléatoires ne peut pas modéliser 16 distributions distinctes simultanément. Chaque batch provenant d'une source structurellement différente produit une direction de gradient différente. Les transitions de source toutes les 7-42 étapes ont fait varier wildly les magnitudes de gradient ; le modèle sautait entre les attracteurs plus vite qu'il ne pouvait former des représentations.
À l'étape 80K, v1 a produit : region region region region region region region. La distillation de l'enseignant Hermes3-general a récompensé (moyenne 340-453) les sources structurées en liste répétitive qui ont obtenu les scores les plus élevés en entropie croisée, ce que le bandit a interprété comme « ces bras sont faciles ». Le bandit a nourri le modèle avec plus de ce qui l'a fait dégénérer.
Pourquoi restreindre à 7 sources aide
1. Similitude des distributions. Toutes les 7 sources de warmup produisent du texte de forme similaire (structure de tour ou narrative). Les directions de gradient à travers les batches restent grosso modo alignées.
2. Cohérence d'abord. Le modèle apprend la fréquence du vocabulaire, les motifs syntaxiques et la structure des tours avant de rencontrer des listes de définitions, du code ou des messages git.
3. Curriculum stable. Les signaux de récompense du bandit sur 7 sources de chat/prose restent dans une plage comparable ; la sélection UCB1 n'est pas détournée par une seule source anormalement récompensée.
Quand la Phase B s'active
À l'étape 20K, le modèle a produit ~40-50 échantillons (un par 100 étapes), montre un anglais cohérent dans les échantillons, et a construit des distributions stables de bigrammes et trigrammes. Il peut maintenant absorber le motif du dictionnaire > define X / < X is..., les blocs de code des repo-docs, et les en-têtes de commits git sans perdre la structure de chat en dessous.
Diagnostiquer l'échec de v1
v3 Polish définit curriculum_warmup_steps = 0
Un Point de Départ Différent
Le pivot polish v3 à l'étape 112 619 a repris l'entraînement à partir de step_112600.bin avec curriculum_warmup_steps mis à 0. À première vue, cela semble contradictoire : si le warmup a aidé v2, pourquoi le désactiver pour la phase polish ?
Parce que le Modèle a Déjà Appris la Cohérence
La phase A permet à un modèle fraîchement initialisé d'apprendre la fréquence du vocabulaire, la structure des tours de parole et la cohérence des paragraphes. À l'étape 112K, le modèle a déjà tout fait cela. Des audits d'échantillons à 112K ont montré des tours de conversation cohérents, des haïkus, des Q&R et des dialogues. L'objectif initial du warmup (protéger un nouveau modèle fragile du chaos des gradients) ne s'applique plus.
Polish Rééquilibre, Ne Redémarre Pas
Polish est une perturbation du curriculum, pas une nouvelle exécution. La même cible de 200K, la même architecture, le même état d'optimiseur, le même historique de perte. Ce qui change : les plafonds et planchers des sources sont rééquilibrés pour favoriser la conversation par rapport aux bras de connaissances. Avec le modèle déjà cohérent, chaque source active est légitime à partir de l'étape 112 619.
Tableau Récapitulatif
| Phase | curriculum_warmup_steps | Pourquoi |
|---|---|---|
| v1 | (non présent) | Toutes les 16 sources de l'étape 0 -> collapse |
| v2 (steps 0-200K) | 20,000 | Protéger les poids fraîchement initialisés du chaos des gradients |
| v3 base (steps 0-112K) | 20,000 | Même protection que v2 |
| v3 polish (steps 112K-200K) | 0 | Le modèle est déjà cohérent ; pas de régime d'initialisation fragile à protéger |