Pasos 0-20K: Una Dieta Restringida
Dos Fases, Una Ejecución
El currículo de manguera de datos v2 se ejecuta en dos fases dentro de una sola ejecución de entrenamiento de 200K pasos:
Fase A (pasos 0 a 20K). Bandit solo extrae de 7 fuentes de chat y prosa:
[BLOCK_TYPE CONTENT/two_phase/what_warmup_does]
- hermes3-general
[BLOCK_TYPE CONTENT/two_phase/what_warmup_does]
- hermes3-creative
[BLOCK_TYPE CONTENT/two_phase/what_warmup_does]
- hermes3-roleplay
[BLOCK_TYPE CONTENT/two_phase/what_warmup_does]
- chat
[BLOCK_TYPE CONTENT/two_phase/what_warmup_does]
- smoltalk
[BLOCK_TYPE CONTENT/two_phase/what_warmup_does]
- oasst
[BLOCK_TYPE CONTENT/two_phase/what_warmup_does]
- gutenberg
Fase B (pasos 20K a 200K). Bandit extrae de la mezcla completa, todas las 16 fuentes, incluyendo referencia (dictionary), técnica (repo-docs, repo-commits) y social (irc, unweapon).
Qué comparte la dieta restringida
Seis de las siete fuentes de calentamiento son conversacionales. Una (gutenberg) es prosa en párrafos. Juntas comparten una forma común: estructura de turnos (prompt luego respuesta) o flujo narrativo. La distribución de vocabulario en las 7 fuentes se ve aproximadamente como inglés normal; los objetivos de entropía cruzada se mantienen en un rango estable; las magnitudes de gradiente se mantienen predecibles.
Campo de Configuración
"curriculum_warmup_steps": 20000,
"curriculum_warmup_sources": ["hermes3-general", "hermes3-creative",
"hermes3-roleplay", "chat", "smoltalk", "oasst", "gutenberg"]
Identifica la Fase de Calentamiento
Cómo se Veía v1 Sin Warmup
v1: Todas las 16 Fuentes desde el Paso 0
La primera ejecución de entrenamiento ANDREA-120M (marzo-abril 2026) activó la manguera completa desde el paso 0: 16 fuentes, incluyendo dictionary (88K definiciones de palabras en forma > define X / < X is...), repo-docs (documentación en markdown), repo-docstrings (docstrings de Python) y repo-commits (mensajes de commit de git junto con chat & prosa).
¿Qué salió mal?
Un modelo de 120M recién inicializado con pesos aleatorios no puede modelar 16 distribuciones distintas al mismo tiempo. Cada lote de una fuente estructuralmente diferente produce una dirección de gradiente diferente. Las transiciones de fuente cada 7-42 pasos hicieron que las magnitudes de los gradientes oscilaran salvajemente; el modelo saltaba entre atractores más rápido de lo que podía formar representaciones.
Para el paso 80K, v1 produjo: region region region region region region region. La destilación del profesor Hermes3-general recompensó (media 340-453) haciendo que las fuentes de estructura de lista repetitiva obtuvieran la puntuación más alta en entropía cruzada, lo que el bandido interpretó como 'estos brazos son fáciles'. El bandido alimentó al modelo con más de lo que lo hacía degenerar.
Por qué restringir a 7 fuentes ayuda
1. Similitud de distribuciones. Todas las 7 fuentes de calentamiento producen texto de forma similar (estructura de turnos o narrativa). Las direcciones de gradiente a través de los lotes permanecen aproximadamente alineadas.
2. Coherencia primero. El modelo aprende la frecuencia del vocabulario, patrones sintácticos y estructura de turnos antes de encontrar listas de definiciones, código o mensajes de git.
3. Currículo estable. Las señales de recompensa del bandit a lo largo de 7 fuentes de chat/prosa se mantienen en un rango comparable; la selección UCB1 no se ve secuestrada por una sola fuente con recompensa anómalamente alta.
Cuándo se Activa la Fase B
En el paso 20K, el modelo ha producido ~40-50 muestras (una por cada 100 pasos), muestra inglés coherente en las muestras, y ha construido distribuciones estables de bigramas y trigramas. Ahora puede absorber el patrón del diccionario > define X / < X is..., bloques de código de repo-docs, y encabezados de commits git sin perder la estructura de chat subyacente.
Diagnosticar el Fallo de v1
v3 Polish establece curriculum_warmup_steps = 0
Un Punto de Partida Diferente
El pivote de pulido v3 en el paso 112,619 reanudó el entrenamiento desde step_112600.bin con curriculum_warmup_steps establecido en 0. A primera vista, esto parece una contradicción: si el calentamiento ayudó a v2, ¿por qué desactivarlo para la fase de pulido?
Porque el Modelo Ya Aprendió Coherencia
La Fase A da tiempo a un modelo recién inicializado para aprender la frecuencia del vocabulario, la estructura de turnos y la coherencia de párrafos. Para el paso 112K, el modelo ya ha hecho todo eso. Auditorías de muestras en 112K mostraron turnos conversacionales coherentes, haikus, Q&A y diálogo. El propósito original del calentamiento (proteger un modelo nuevo frágil del caos de gradientes) ya no aplica.
Polish Reajusta Pesos, No Reinicia
Polish es una perturbación del currículo, no una ejecución fresca. El mismo objetivo de 200K, misma arquitectura, mismo estado del optimizador, mismo historial de pérdida. Lo que cambia: los techos y pisos de la fuente se reajustan para favorecer la conversación sobre brazos de conocimiento. Con el modelo ya coherente, cada fuente activa es válida desde el paso 112,619 en adelante.
Tabla de Resumen
| Fase | curriculum_warmup_steps | Por qué |
|---|---|---|
| v1 | (no presente) | Todas las 16 fuentes del paso 0 -> colapso |
| v2 (pasos 0-200K) | 20,000 | Proteger los pesos recién inicializados del caos de gradientes |
| v3 base (pasos 0-112K) | 20,000 | Misma protección que v2 |
| v3 polish (pasos 112K-200K) | 0 | El modelo ya es coherente; no hay régimen de init frágil que proteger |