English· Español· Deutsch· Nederlands· Français· 日本語· ქართული· 繁體中文· 简体中文· Português· Русский· العربية· हिन्दी· Italiano· 한국어· Polski· Svenska· Türkçe· Українська· Tiếng Việt· Bahasa Indonesia

un

invité
1 / ?
retour aux leçons

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


Curriculum warmup timeline


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

Une exécution d'entraînement a été exécutée pendant 18 400 étapes. Sans regarder l'état du bandit, le modèle peut-il avoir échantillonné à partir de `dictionary` ou `repo-docs` ? Expliquez pourquoi ou pourquoi pas & citez la valeur de configuration qui détermine cela.

À 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

Un transformer de 120M fraîchement initialisé s'entraîne sur 16 sources structurellement différentes dès l'étape 0. À l'étape 80K, les échantillons lisent `region region region region region`. Reliez le choix de conception sans échauffement à ce mode d'échec spécifique : nommez le mécanisme par lequel 16 sources à l'étape 0 fait s'effondrer le modèle en répétition de token unique. Une ou deux phrases.

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


Phasecurriculum_warmup_stepsPourquoi
v1(non présent)Toutes les 16 sources de l'étape 0 -> collapse
v2 (steps 0-200K)20,000Protéger les poids fraîchement initialisés du chaos des gradients
v3 base (steps 0-112K)20,000Même protection que v2
v3 polish (steps 112K-200K)0Le modèle est déjà cohérent ; pas de régime d'initialisation fragile à protéger

Pourquoi désactiver le warmup au polish est sûr

Argumentez (en 2-3 phrases) pourquoi définir curriculum_warmup_steps = 0 au pivot v3 polish NE recrée PAS le collapse de v1, même si les deux runs présentent « toutes les sources actives dès l'étape courante ». Référez-vous à l'état du modèle à l'étape 112K.