ما مدى الدهشة التي يجب أن يشعر بها النموذج؟
من اللوغيتس إلى الاحتمالات
بعد 12 كتلة محول، ينتج ANDREA-120M متجهًا من vocab_size أرقام لكل موضع رمز: اللوغيتس. بالنسبة لـ ANDREA-120M، vocab_size = 8449، لذا كل موضع يخرج 8449 لوغيت. اللوغيتس هي درجات غير معيارية؛ بعضها إيجابي، بعضها سلبي، لا قيد بأن يجمع إلى 1.
تحوّل Softmax الـ logits إلى توزيع احتمالي:
p_i = exp(logit_i) / sum_j exp(logit_j)
بعد Softmax، جميع الأرقام 8449 تقع بين 0 و1، ومجموعها 1. يعين النموذج احتمالية لكل رمز تالي ممكن.
خسارة الإنتروبيا المتقاطعة
يتطلب التدريب دالة خسارة: رقم يقيس مدى خطأ توقع النموذج لإجابة صحيحة معينة. تعمل الإنتروبيا المتقاطعة لنمذجة اللغة:
loss_t = -log(p_correct_token_t)
خذ الاحتمالية المتوقعة من النموذج للرمز التالي الفعلي (الذي في بيانات التدريب). خذ اللوغاريتم الطبيعي السلبي لهذه الاحتمالية. هذا هو الخسارة لموقع واحد.
لماذا اللوغاريتم السلبي
ثلاث خصائص تجعل -log(p) دالة خسارة طبيعية:
- -log(1) = 0: عندما يتنبأ النموذج بالرمز الصحيح بثقة 100%، تكون الخسارة صفرًا.
- -log(0) = ∞: عندما يعطي النموذج احتمالية صفر للرمز الصحيح، تكون الخسارة لا نهائية. (في الممارسة، لا يخرج softmax قيمة 0 بالضبط؛ تبقى الخسارة محدودة لكن كبيرة.)
- تزايدية: مع زيادة الاحتمالية المتوقعة للرمز الصحيح، تنخفض الخسارة بسلاسة.
ثقة أعلى في الإجابة الصحيحة = خسارة أقل. الهدف التدريبي بسيط: تعظيم الاحتمالية المتوقعة للرمز التالي الفعلي.
خسارة لكل تسلسل
يدرب ANDREA على تسلسلات بطول 1024 (نافذة السياق). ينتج كل تسلسل 1024 تنبؤًا للرمز التالي. تُحسب خسارة التسلسل كمتوسط عبر جميع المواضع:
```
sequence_loss = mean(-log(p_correct_t)) for t in 0..1023
```
ثم يتم حساب متوسط خسائر التسلسل عبر الدفعة (ANDREA-120M تستخدم batch_size = 8). رقم واحد عددي لكل خطوة تدريب. هذا الرقم هو ما يرسمه منحنى الخسارة.
حساب الخسارة لوضعية واحدة
التعقيد = exp(الخسارة)
مقياس أكثر ودية
قيم الخسارة مثل 2.0 أو 3.43 لا تعبر فورًا عن ما يمكن للنموذج فعله. التعقيد يترجم الخسارة إلى مقياس أكثر بديهية:
التعقيد = exp(الخسارة)
تجيب Perplexity على سؤال واضح: من بين كم رمز متساوي الاحتمالية يختار النموذج فعليًا؟ Perplexity بقيمة 7 تعني أن النموذج يتصرف كما لو كان يختار من بين 7 رموز محتملة تالية في كل موضع. Perplexity بقيمة 1 تعني توقعًا مثاليًا.
أزواج الخسارة-Perplexity الشائعة
| الخسارة | Perplexity | ما يشبهه |
|---|---|---|
| 0.0 | 1.0 | توقع مثالي |
| 1.0 | 2.7 | الاختيار بين ~3 رموز محتملة |
| 2.0 | 7.4 | منطقة SMMA النهائية لـ ANDREA-12M |
| 3.0 | 20.1 | نص معقول لكنه غير مؤكد |
| 3.43 | 30.9 | الحد الأدنى لـ ANDREA-120M v1 (قبل التلميع) |
| 5.0 | 148 | التدريب المبكر، تعلم توزيع المفردات |
| 9.04 | 8449 | المعيار الأساسي للصدفة العشوائية لمفردات ANDREA-120M |
يضع Perplexity قيم الخسارة في سياقها: خسارة 2.0 تعني أن النموذج يختار فعليًا من ~7 رموز، وليس من 8449.
الخط الأساسي للصدفة العشوائية
نموذج لا يعرف شيئًا ويقوم بالتخمين بشكل متساوٍ يعين احتمالية 1/V لكل رمز، حيث V = حجم_المفردات:
p_uniform = 1 / V
loss = -log(1/V) = log(V)
بالنسبة لـ ANDREA-120M مع V = 8449:
loss_uniform = ln(8449) ≈ 9.04
بالنسبة لـ ANDREA-12M مع V = 2305:
الخسارة_الموحدة = ln(2305) ≈ 7.74
أي خسارة تتجاوز هذا المستوى الأساسي تعني أن النموذج يؤدي أسوأ من العشوائي. أي خسارة أقل منه تعني أن النموذج تعلم شيئًا: إنه يركز كتلة الاحتمالية على مجموعة فرعية أصغر من الرموز مما يفعله التوزيع الموحد.
قراءة قيمة الخسارة
تنعيم الضوضاء على مستوى الخطوة
الخسارة الخام ضجيجية
تتقلب الخسارة لكل خطوة. يختار لص ANDREA مصدرًا مختلفًا كل 7-42 خطوة؛ بعض المصادر (تعريفات القاموس) تنتج خسائر سهلة؛ وأخرى (فقرات غوتنبرغ) تنتج خسائر أصعب. رسم الخسارة الخام للخطوة مقابل رقم الخطوة ينتج تشتتًا فوضويًا.
المتوسط المتحرك المعدل الملس (SMMA) يخفف الضوضاء ويكشف الاتجاه. يحسب تدريب ANDREA الوكيل SMMA كما يلي:
SMMA[0] = loss[0]
SMMA[t] = (SMMA[t-1] * (N-1) + loss[t]) / N
مع N = 100 (نافذة التنعيم الافتراضية لـ ANDREA)، يمزج كل قيمة SMMA جديدة 99% من SMMA السابقة مع 1% من خسارة الخطوة الجديدة. يتم امتصاص الارتفاعات المفاجئة تدريجيًا؛ تظهر التحولات المستمرة.
لماذا لا المتوسط البسيط فقط؟
يتطلب المتوسط المتحرك البسيط على الـ100 خطوة الأخيرة تخزين 100 قيمة خسارة. يخزن SMMA قيمة واحدة (المتوسط الجاري) وثابت واحد (حجم النافذة). اقتصادي في الذاكرة، حسابياً تافه، وسلس بما يكفي لقراءة المنحنى.
أوزان التنعيم المختلفة تجيب على أسئلة مختلفة:
- N = 10: يتتبع التغييرات قصيرة المدى؛ مفيد أثناء انتقالات المراحل
- N = 100: الافتراضي لـ ANDREA؛ يتتبع التقدم متوسط المدى
- N = 1000: الاتجاه طويل الأمد فقط؛ مفيد في نهاية التدريب
ما يتتبعه ANDREA
كل 100 خطوة، يكتب وكيل التدريب loss.json مع SMMA الحالي، والخسارة الخام، ورقم الخطوة، وتفصيل حسب المصدر. لوحة التحكم في training.ai.unturf.com/dashboard تستعلم هذا الملف كل 10 ثوانٍ. يرى المشاهدون الخارجيون التقدم الحي؛ لوحة التحكم للقراءة فقط.
منحنى ANDREA-12M الفعلي
الوصفة التي وصلت إلى SMMA 2.0
| الخطوات | الخسارة المتوسطة | الملاحظات |
|---|---|---|
| 0--2.5K | 4.50 | تهيئة عشوائية، تعلم مبكر |
| 2.5K--5K | 3.88 | انخفاض سريع خلال مرحلة الهيكل |
| 5K--10K | 3.30 | الاقتراب من حدود التماسك |
| 10K--20K | 2.80 | البانديت يجد الخليط الأمثل |
| 20K--25K | 2.40 | هضبة --- نقص البيانات |
| 25K--30K | 2.50 | إدخال بيانات هيرميس + إعادة تشغيل LR |
| 30K--35K | 2.35 | دمج هيرميس، أدنى مستويات جديدة |
| 35K--40K | 2.10 | التركيز على 4-arm، هبوط شديد |
| 40K--43.6K | 2.00 | منطقة المعرفة، SMMA أقل من 2.0 |
تبرز ثلاث مراحل:
1. الهبوط الشديد المبكر (0-10K). ينخفض الخسارة من 4.50 إلى 3.30 مع تعلم النموذج توزيع المفردات & هيكل الدور الأساسي. خط الأساس للصدفة العشوائية ln(2305) ≈ 7.74 يقع عاليًا فوق هذه المنحنى؛ يركز النموذج كتلة الاحتمالية بسرعة بمجرد استقرار الـembeddings.
2. الاستقرار (20K-25K). تتوقف الخسارة عند 2.40. كان البانديت قد نفد من المساحة في مزيج مصادره الحالي. تم إضافة بيانات Hermes في الخطوة 25K، بالإضافة إلى إعادة تشغيل دافئ لـLR، كسر الاستقرار.
3. الهبوط النهائي (35K-43.6K). تم تضييق المنهج من 16 مصدرًا إلى 4 (hermes3-general + dictionary + gutenberg + chat). انخفاض أكثر انحدارًا في الخسارة مقارنة بـ full-arm bandit. SMMA النهائي: 2.0.
ANDREA-120M v1: منحنى تحذيري
حساب نفس المفردات: ln(8449) ≈ 9.04. وصلت ANDREA-120M v1 إلى SMMA 3.43 في الخطوة 110K (أدنى قيمتها)، ثم انحرفت:
| الخطوات | خسارة EMA | الاتجاه |
|---|---|---|
| 26K--40K | 4.29 | متلاصق |
| 70K--85K | 3.60 | المنطقة المثلى |
| 85K--110K | 3.43 | الحد الأدنى |
| 110K--125K | 3.54 | متباعد |
| 140K--155K | 4.05 | متباعد |
| 155K--165K | 4.54 | منهار |
قيم خسارة معقولة عدديًا طوال الفترة (3.43 أقل بكثير من المستوى الأساسي العشوائي 9.04). لكن العينات كانت انهيار تكرار: Budy Budy Budy Budy. الخسارة روت قصة مضللة؛ تدقيق العينات لم يفعل.
وقف التدريب المبكر المعزز ببوابة التماسك في الإصدار v2 (النشاط 78) أضاف إشارة متوازية: تنوع الثنائيات، تنوع الثلاثيات، وجود كلمات إنجليزية، تنوع الحروف. عندما تبقى جميع الأربع درجات أقل من 30 لـ5 عينات متتالية، يتوقف التدريب تلقائيًا. هذه الإشارة كانت ستلتقط v1 في الخطوة 132K، مما يوفر 3.8 أيام من الحوسبة.
ما يخبرك به كل مرحلة
درس 120M v1
إشارتان مستقلتان
وصل ANDREA-120M v1 إلى SMMA 3.43 في الخطوة 110K. عدديًا: 273× أفضل من الصدفة العشوائية (perplexity 31 مقابل حجم المفردات 8449). يبدو رائعًا على المنحنى.
عينة في الخطوة 110K::
''''' ''''' '' ''' '' ''' '''?' ''' ' '' '' '
الخسارة والتماسك إشارات مستقلة. الخسارة المنخفضة تعني أن النموذج يركز كتلة الاحتمالية بفعالية. التماسك يعني أن النموذج ينتج نصًا يمكن للبشر قراءته. الأول لا يعني الثاني.
لماذا يوجد الفجوة
يمكن للنموذج خفض الخسارة من خلال:
1. تعلم أنماط اللغة الحقيقية (جيد): التوافق بين الفاعل والفعل، العبارات الشائعة، الارتباطات الواقعية.
2. حفظ الآثار الهيكلية (سيء): أنماط التكرار عالية التردد، الخصائص الخاصة بالمجموعة البيانات، المجذبيات المهترئة.
كلاهما يقلل الخسارة. الأول ينتج عينات يحبها البشر. الثاني ينتج Budy Budy Budy Budy. هدف التدريب وحده لا يمكنه التمييز بينهما.
ANDREA-120M v3 Polish: حيث التقى الخسارة والتماسك
بعد تلميع v3 (الخطوة 112K فصاعدًا)، ينتج ANDREA-120M:
الخطوة 112,584، الخسارة 0.30، ppl 1::
> [extinction prompt]
< black spider montano is alive, carolina parakeet is extinct.
كلا الحقيقتين صحيحتين. تم الإعلان عن انقراض طائر الببغاء الكارولينا في عام 1939؛ قرد العنكبوت الأسود ما زال موجودًا. خسارة منخفضة (0.30) وتذكر واقعي متماسك.
الخطوة 112,500، الخسارة 1.94، ppl 7::
> كيف أجد الحزم القديمة في مشروع Python؟
< استخدم pip list --outdated names لترى قائمة حزم pip...
خسارة أعلى (1.94 → ppl 7) لكن الأداة الصحيحة تظهر من بيانات التدريب. طلاقة الصياغة لا تزال تتطور عند علامة التدريب 56%.
الانضباط ذو الإشارة المزدوجة
تُراقب خطوط التدريب الحديثة كلا:
- منحنى الخسارة. يخبرك إذا كان النموذج يتعلم أي شيء كمي.
- تدقيق العينة. يخبرك إذا كان ما تعلمه النموذج مفيداً.
أضاف v2 إيقافاً مبكراً محكوماً بالتماسك (نشاط 78). تلميع v3 كان اضطراباً في المنهج الدراسي مدفوعاً بتدقيقات العينات، لا بقيم الخسارة. الخسارة وحدها ضرورية لكنها ليست كافية أبداً.