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:制限された食事

2つのフェーズ、1回の実行

v2のfirehoseカリキュラムは、単一の200Kステップのトレーニング実行内で2つのフェーズで実行されます:


フェーズA(ステップ0から20K)。 Banditは7つのチャット&散文ソースからのみ引き出します:


- hermes3-general

- hermes3-creative

- hermes3-roleplay

- chat

- smoltalk

- oasst

- gutenberg


フェーズ B(ステップ 20K から 200K)。 Bandit はフルミックスから引き、すべての 16 のソースを含み、reference(dictionary)、technical(repo-docsrepo-commits)、および social(ircunweapon)。


Curriculum warmup timeline


制限された食事の共有点

7 つのウォームアップソースのうち 6 つは会話調です。1 つ(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: ステップ0から全16ソース

最初のANDREA-120Mトレーニングラン(2026年3月-4月)は、ステップ0でフル火ホースを活性化しました:16ソース、うちdictionary> define X / < X is...形式の88K単語定義)、repo-docs(markdownドキュメント)、repo-docstrings(Pythonドキュメント文字列)、およびrepo-commits(gitコミットメッセージ)をチャット&散文と共に含みます。


何が間違っていたのか

ランダムな重みで初期化された新鮮な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選択は単一の異常な高報酬ソースによって乗っ取られることがありません。


Phase B が活性化する時

ステップ20Kで、モデルは約40-50サンプルを生成(100ステップごとに1つ)し、サンプルで一貫した英語を示し、安定したbigramおよびtrigram分布を構築しています。今では、辞書の > define X / < X is... パターン、repo-docsのコードブロック、およびgitコミットヘッダーを吸収でき、底辺のチャット構造を失うことなく処理できます。

v1の失敗を診断する

新しく初期化された120Mトランスフォーマーがステップ0から16の構造的に異なるソースで訓練されます。ステップ80Kまでに、サンプルは `region region region region region` と読めます。ウォームアップなしの設計選択をこの特定の失敗モードに結びつけてください:ステップ0での16ソースがモデルを単一トークンの繰り返しに崩壊させるメカニズムの名前を挙げてください。1つか2文で。

v3 Polishはcurriculum_warmup_steps = 0に設定

異なる開始点

v3 polishのピボットはステップ112,619でstep_112600.binからcurriculum_warmup_stepsを0に設定して訓練を再開した。一見これは矛盾のように見える:warmupがv2を助けたなら、なぜpolishフェーズでそれを無効化するのか?


モデルがすでに一貫性を学習済みだから
Return ONLY translated blocks with their placeholders, preserving format: [BLOCK_TYPE SECTION/STEP] __BLOCK_N__ <translated content>

Phase A は、新しく初期化されたモデルが語彙の頻度、ターン構造、段落のまとまりを学ぶための時間を稼ぎます。ステップ 112K までには、モデルはすでにそれらすべてを達成しています。112K でのサンプル監査では、まとまった会話のターン、俳句、Q&A、対話が確認されました。ウォームアップの本来の目的(壊れやすい新しいモデルを勾配の混乱から守る)は、もはや適用されません。


Polish は再重み付けを行い、リスタートしない

Polish はカリキュラムの摂動であり、新規実行ではありません。同じ 200K 目標、同じアーキテクチャ、同じオプティマイザ状態、同じ損失履歴です。変わるのは:ソースの上限と下限が、知識重視から会話重視に再重み付けされることです。モデルがすでにまとまりを持っているため、ステップ 112,619 以降はすべてのアクティブソースが公平な対象となります。


まとめ表


Phasecurriculum_warmup_stepsWhy
v1(not present)ステップ0からの全16ソース -> 崩壊
v2 (steps 0-200K)20,000新しく初期化された重みを勾配の混乱から保護
v3 base (steps 0-112K)20,000v2と同じ保護
v3 polish (steps 112K-200K)0モデルはすでに一貫性あり; 保護が必要な脆弱な初期化段階は過ぎている

Polish段階でウォームアップを無効化しても安全な理由

v3 polishのピボットポイントでcurriculum_warmup_steps = 0を設定してもv1の崩壊を再現しない理由を(2-3文で)主張せよ。両方の実行で「現在のステップから全ソースがアクティブ」であるにもかかわらず。ステップ112Kでのモデル状態を参照せよ。