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

un

ضيف
1 / ?

تقارير CUDA فهارس الوثائق

مدرب CUDA يعرف أي وثيقة قام بقصها

كل خطوة تدريب تسحب تسلسلًا من ملف .btok ثنائي، الذي يحزم العديد من الوثائق نهاية إلى نهاية. CUDA يسجل فهرس وثيقة إلى جانب الخسارة: step 47213, source=gutenberg, doc=128407, loss=2.81. وكيل يجمع هذه التقارير & يحافظ على مجموعة من فهارس الوثائق الفريدة المرئية لكل مصدر.


من العدد إلى التغطية

تغطية المصدر = unique_docs_seen / n_docs. بعض الأمثلة:


المصدرn_docsunique seenالتغطية
gutenberg512,000154,00030.1%
hermes3-general67,39547,17670.0%
dictionary88,00088,000100.0%
synthetic-chat1,4001,400100.0%

تُشبع المصادر الصغيرة بسرعة. تتدرج المصادر الكبيرة إلى أقل من 50% لأسابيع. مكافأة التغطية تكافئ البانديت على زيارة الوثائق التي لم يقم بأخذ عينة منها بعد داخل مصدر.


Coverage bonus per source


صيغة المكافأة

تتدرج مكافأة التغطية خطيًا من 1.3x عند 0% تغطية إلى 1.0x عند 50% تغطية، ثم ثابتة عند 1.0x فوق 50%:


إذا كان coverage < 0.5:
bonus = 1.0 + 0.3 * (1.0 - coverage / 0.5)
غير ذلك:
bonus = 1.0

مصدر بنسبة تغطية 0% يحصل على 1.3x؛ مصدر بنسبة 25% يحصل على 1.15x؛ مصدر بنسبة 50% ينخفض إلى 1.0x. فوق 50%، لا يُطبق أي مكافأة.

احسب المكافأة

تشغيل مع تغطية gutenberg بنسبة 30% وتغطية hermes3-general بنسبة 70%. احسب مضاعف مكافأة التغطية لكل مصدر. أظهر حساباتك الحسابية.

إشارتان متميزتان للحداثة

نفس الهدف، دقة مختلفة

لدى ANDREA آليتان تمنعان التدريب الزائد على مصدر واحد. يبدو أنهما متشابهان؛ إلا أنهما يقيسان أشياء مختلفة.


Epoch penalty. يتتبع السحب الإجمالي الزائد. عندما lifetime_pulls / n_docs > 1.0، يكون لدى المصدر نظريًا قد مر بكل وثيقة مرة واحدة على الأقل. العقوبة = 1 / (1 + epochs). مصدر synthetic-chat يحتوي على 1.4K وثيقة عند 5,600 سحب مدى الحياة (epochs = 4) يحصل على عقوبة 1/5 = 0.2x. يستمر عدد العصور عبر إعادات التشغيل؛ لا يتناقص أبدًا.


Coverage bonus. يتتبع الانتعاش لكل وثيقة داخل المصدر. تقارير CUDA مؤشرات الوثائق؛ يحافظ الوكيل على مجموعة لكل مصدر. تحصل المصادر أقل من 50% تغطية للوثائق الفريدة على ما يصل إلى 1.3x. تغطية تجزي استكشاف ذيل المصدر؛ عقوبة العصر تعاقب استنزافه.


لماذا كلاهما مهم


الإشارةالتتبعالاتجاهالحد الأقصىيستمر عبر إعادة التشغيل
عقوبة العصرالسحب الإجمالي الزائديقلل1/(1+e)نعم
مكافأة التغطيةحداثة لكل وثيقةيعزز1.3xنعم

يمكن لمصدر غوتنبرغ يحتوي على 500 ألف وثيقة أن يبقى أقل من 50% تغطية طوال تشغيل التدريب 200 ألف، دون الاقتراب أبدًا من عصر=1. عقوبة العصر تتجاهله؛ مكافأة التغطية تسحب الـbandit بنشاط نحو 70% ذيل غير المستكشف لغوتنبرغ.


على العكس، يشبع مصدر الدردشة الاصطناعي 1.4 ألف التغطية (100%) خلال بضعة آلاف سحب؛ تبقى مكافأة التغطية عند 1.0x بينما تنمو عقوبة العصر.

ميز بين الاثنين

تخيل مصدرين أثناء التدريب: المصدر A يحتوي على 1,400 وثيقة & 8,400 سحب مدى الحياة. المصدر B يحتوي على 500,000 وثيقة & 80,000 سحب مدى الحياة؛ الوكيل سجل 75,000 فهرس وثيقة فريدة لـ B حتى الآن. أي إشارة (عقوبة العصر أو مكافأة التغطية) تحكم وزن البانديت لكل مصدر، & لماذا؟

ما الذي تشتريه مكافأة التغطية لـ ANDREA

وضع الفشل الذي تمنعه

بدون تتبع على مستوى الوثيقة، يختار البانديت الذي يعتمد على مكافأة كل خطوة تسلسلات .btok بشكل جشع. يحتوي مجموعة غوتنبرغ من 500 ألف وثيقة على بضعة آلاف من التسلسلات ذات الإنتروبيا العابرة المنخفضة (نثر متسق، مفردات شائعة). يعود البانديت الذي يعتمد على المكافأة فقط إلى تلك التسلسلات مرارًا وتكرارًا لأنها تستمر في إنتاج إشارات مكافأة قوية.


النتيجة: يتم أخذ عينة من مجموعة 500 ألف وثيقة عبر ربما 2 ألف إلى 5 آلاف تسلسل مميز على مدار 200 ألف خطوة تدريب. يحفظ النموذج تلك التسلسلات دون رؤية الباقي أبدًا. سعة مهدرة؛ التغطية عالقة أقل من 1%.


ما الذي يوفره مكافأة التغطية

1.3x عند 0% تغطية، يتناقص إلى 1.0x عند 50%. هذا الدفع ينتشر عبر اختيار UCB1: تبقى الأذرع ذات التغطية المنخفضة تنافسية حتى عند انخفاض مكافأة كل سحب. يستكشف البانديت الذيل بتصميم بدلاً من الصدفة.


عبر تشغيل 200 ألف خطوة على غوتنبرغ 500 ألف وثيقة، ترفع مكافأة التغطية التغطية المُلاحظة عادةً من ~3% (بدون مكافأة) إلى ~25-30% (مع مكافأة). نفس الحوسبة، ثماني إلى عشر مرات المزيد من الوثائق المُمسوسة.


أين يوجد التتبع


المكونالمسؤولية
microgpt_cuda.cuيبلغ عن فهرس الوثيقة لكل خطوة تدريب
training_proxy.pyيحافظ على مجموعة seen_docs لكل مصدر
training_proxy.pyيحسب التغطية، يطبق مكافأة على مكافأة البانديت
training_proxy.pyيحفظ seen_docs في .state.json عبر إعادة التشغيل

الاتصال بخيار هندسي ملموس

افترض أنك أزلت مكافأة التغطية من تدريب ANDREA-120M. توقع نتيجة ملموسة واحدة للذراع gutenberg تحديداً (التي تحتوي على أكثر من 500K وثيقة) على مدار تشغيل 200K خطوة. ارجع إلى إما نسبة التغطية، أو تنوع الوثائق، أو جودة العينة النهائية.