الخطوات 0-20 ألف: نظام غذائي مقيد
مرحلتان، تشغيل واحد
يعمل منهج خرطوم الحريق v2 في مرحلتين داخل تشغيل تدريب واحد مكون من 200 ألف خطوة:
المرحلة أ (الخطوات 0 إلى 20 ألف). يسحب البانديت فقط من 7 مصادر دردشة ونثر:
- hermes3-general
- hermes3-creative
- hermes3-roleplay
- chat
- smoltalk
- oasst
- gutenberg
المرحلة B (الخطوات من 20 ألف إلى 200 ألف). يسحب البانديت من الخليط الكامل، جميع 16 مصدرًا، بما في ذلك المرجعي (dictionary)، التقني (repo-docs، repo-commits)، والاجتماعي (irc، unweapon).
ما الذي تشاركه الحمية المقيدة
ستة من سبعة مصادر الإحماء محادثية. واحد (gutenberg) نثر فقرات. معًا، يشتركون في شكل مشترك: هيكل الدور (الطلب ثم الرد) أو التدفق السردي. توزيع المفردات عبر 7 مصادر يبدو توزيعًا إنجليزيًا طبيعيًا تقريبًا؛ تبقى أهداف الإنتروبيا العابرة في نطاق مستقر؛ تبقى أحجام التدرج متوقعة.
حقل الإعداد
"curriculum_warmup_steps": 20000,
"curriculum_warmup_sources": ["hermes3-general", "hermes3-creative",
"hermes3-roleplay", "chat", "smoltalk", "oasst", "gutenberg"]
تحديد مرحلة الإحماء
كيف بدا 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...، وكتل الكود في وثائق المستودعات، ورؤوس commit git دون فقدان هيكل الدردشة تحته.
تشخيص فشل v1
v3 Polish يضع curriculum_warmup_steps = 0
نقطة بداية مختلفة
انتقال v3 polish في الخطوة 112,619 استأنف التدريب من step_112600.bin مع تعيين curriculum_warmup_steps إلى 0. للوهلة الأولى، يبدو هذا تناقضًا: إذا ساعد warmup v2، فلماذا تعطيله في مرحلة polish؟
لأن النموذج تعلم التماسك بالفعل
المرحلة A تشتري وقتًا لنموذج تم تهيئته حديثًا ليتعلم تكرار المفردات، وهيكل الدور، وتماسك الفقرة. بحلول الخطوة 112K، يكون النموذج قد أنجز كل ذلك بالفعل. التدقيقات العينية عند 112K أظهرت دورات محادثة متماسكة، وهايكو، وأسئلة وأجوبة، وحوار. الغرض الأصلي للتسخين (حماية نموذج جديد هش من فوضى التدرج) لم يعد ينطبق.
إعادة الترتيب في 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 | النموذج متماسك بالفعل؛ لا يوجد وضع تهيئة هش يحتاج حماية |