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

un

гість
1 / ?
назад до уроків

Кроки 0-20K: Обмежена дієта

Два етапи, один запуск

Навчальна програма firehose v2 запускається у два етапи всередині єдиного запуску тренування на 200K кроків:


Етап A (кроки 0 до 20K). Bandit витягує лише з 7 джерел чатів та прози:


- hermes3-general

- hermes3-creative

- hermes3-roleplay

- chat

- smoltalk

- oasst

- gutenberg


Фаза B (кроки 20K до 200K). Бандит витягує з повної суміші, всі 16 джерел, включаючи референсне (dictionary), технічне (repo-docs, repo-commits) та соціальне (irc, unweapon).


Curriculum warmup timeline


Що поділяє обмежена дієта

Шість із семи джерел розігріву є розмовними. Одне (gutenberg) — це параграфна проза. Разом вони мають спільну форму: структуру ходу (запит, потім відповідь) або наративний потік. Розподіл словникового запасу серед 7 джерел виглядає приблизно як нормальна англійська; цілі крос-ентропії залишаються в стабільному діапазоні; величини градієнтів залишаються передбачуваними.


Поле конфігурації


"curriculum_warmup_steps": 20000,
"curriculum_warmup_sources": ["hermes3-general", "hermes3-creative",
"hermes3-roleplay", "chat", "smoltalk", "oasst", "gutenberg"]

Визначте фазу розігріву

Навчальний запуск тривав 18 400 кроків. Не дивлячись на стан бандита, чи міг модель семплювати з `dictionary` чи `repo-docs`? Поясніть чому так чи ні та наведіть значення конфігурації, яке це визначає.

Як Виглядала v1 Без Розігріву

v1: Усі 16 Джерел з Кроку 0

Перший навчальний запуск ANDREA-120M (березень-квітень 2026) активував повний потік з кроку 0: 16 джерел, включаючи dictionary (88K визначень слів у формі > define X / < X is...), repo-docs (документація в markdown), repo-docstrings (docstrings Python) та repo-commits (повідомлення git commit поряд з чатом та прозою).


Що пішло не так

Щойно ініціалізована модель на 120M з випадковими вагами не може одночасно моделювати 16 різних розподілів. Кожен батч з структурно різного джерела виробляє різний напрямок градієнта. Переходи джерел кожні 7-42 кроки різко коливалися магнітудами градієнтів; модель перестрибувала між аттракторами швидше, ніж могла формувати репрезентації.


До кроку 80K, v1 виробила: region region region region region region region. Нагороди за дистилювання вчителя Hermes3-general (середнє 340-453) робили повторювані джерела зі структурою списку найвищими за крос-ентропією, що бандит інтерпретував як 'ці руки легкі.' Бандит годував модель ще більше того, що робило її дегенерувати.


Чому обмеження до 7 джерел допомагає

1. Схожість розподілів. Всі 7 джерел розігріву виробляють текст подібної форми (структура повороту чи наратив). Напрямки градієнтів через батчі залишаються приблизно вирівняними.

2. Спочатку когерентність. Модель вивчає частоту словникового запасу, синтаксичні патерни та структуру чергування перед тим, як зіткнеться зі списками визначень, кодом чи повідомленнями git.

3. Стабільна програма. Сигнали винагороди бандита з 7 джерел чатів/прози залишаються в порівнянному діапазоні; відбір UCB1 не захоплюється одним аномально винагороджуваним джерелом.


Коли активується фаза B

На кроці 20K модель виробила ~40-50 зразків (по одному на 100 кроків), показує когерентну англійську в зразках та побудувала стабільні розподіли біграм і триграм. Тепер вона може засвоїти патерн словника > define X / < X is..., блоки коду з repo-docs та заголовки комітів git без втрати структури чату під ними.

Діагностика невдачі v1

Щойно ініціалізований трансформер 120M навчається на 16 структурно різних джерелах з кроку 0. До кроку 80K зразки читаються як `region region region region region`. Пов'яжіть вибір дизайну без розігріву з цим конкретним режимом невдачі: назвіть механізм, за допомогою якого 16 джерел на кроці 0 змушує модель згорнутися в повторення одного токена. Один або два речення.

v3 Polish Встановлює curriculum_warmup_steps = 0

Інша Точка Старт

Поворот v3 polish на кроці 112,619 відновив тренування з step_112600.bin з curriculum_warmup_steps встановленим на 0. На перший погляд це виглядає як суперечність: якщо розігрів допоміг v2, чому вимкнути його для фази польського?


Тому що Модель Вже Навчилася Когерентності

Фаза A дає час свіжо ініціалізованій моделі вивчити частотність словникового запасу, структуру черг, та зв’язність абзаців. До кроку 112K модель уже все це зробила. Зразкові перевірки на 112K показали зв’язні розмовні черги, хайку, Q&A та діалоги. Оригінальна мета розігріву (захист крихкої нової моделі від хаосу градієнтів) більше не застосовується.


Polish Переважує, Не Перезапускає

Polish — це збурення навчальної програми, а не свіжий запуск. Той самий цільовий обсяг 200K, та сама архітектура, той самий стан оптимізатора, та сама історія втрат. Що змінюється: верхні та нижні межі джерел переважуються на користь розмов замість знаннєвих рукавів. З моделлю, яка вже зв’язна, кожне активне джерело є чесною грою з кроку 112,619 і далі.


Таблиця Резюме


Фазаcurriculum_warmup_stepsЧому
v1(не присутній)Усі 16 джерел з кроку 0 -> колапс
v2 (кроки 0-200K)20,000Захист свіжо ініціалізованих ваг від хаосу градієнтів
v3 base (кроки 0-112K)20,000Той самий захист, що й у v2
v3 polish (кроки 112K-200K)0Модель уже когерентна; крихкий режим ініціалізації минув

Чому відключення розігріву на етапі полірування є безпечним

Аргументуйте (у 2-3 реченнях), чому встановлення curriculum_warmup_steps = 0 на повороті v3 polish НЕ відтворює колапс v1, хоча обидва запуски мають 'усі джерела активні з поточного кроку.' Посилайтесь на стан моделі на кроці 112K.