Primal Generation, Dual Judgment: Self-Training from Test-Time Scaling
تقدم هذه الورقة DuST، وهو إطار عمل للتدريب الذاتي يستفيد من أخذ العينات في وقت الاختبار لإنشاء "فضاء حكم مزدوج" حيث تتعلم النماذج ترتيب البرامج المرشحة عبر التعلم المعزز في السياسة (on-policy reinforcement learning)، مما يحسن قدرتها على الحكم على صحة الكود وتوليد حلول عالية الجودة دون مكافآت مباشرة للتوليد الصحيح.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك تعلم روبوتًا كيفية كتابة كود برمجي. تقليديًا، تعلمه بقولك: "إليك مشكلة. اكتب حلاً. قم بتشغيله. إذا نجح، فهذا رائع! إذا تعطل، حاول مجددًا". هذا يشبه إعطاء الروبوت درجة "نجاح" أو "رسوب" واحدة لكل محاولة. سيتعلم الروبوت، لكنه لن يعرف لماذا فشل مقارنة بأشياء أخرى كان بإمكانه كتابتها، بل سيعرف فقط أنه قد فشل.
تقدم هذه الورقة البحثية طريقة تعليم جديدة تسمى DuST (التدريب الذاتي المزدوج). وهي تغير قواعد اللعبة باستخدام مفهوم "التوليد الأولي" (Primal Generation) مقابل "الحكم المزدوج" (Dual Judgment).
إليك تفصيل ذلك باستخدام تشبيهات بسيطة:
1. الطريقة القديمة: اختبار "النجاح/الرسوب"
التوليد الأولي:
تخيل الروبوت كطالب يؤدي اختبارًا.
- العملية: يكتب الطالب إجابة واحدة. ثم يقوم المعلم بفحصها.
- التغذية الراجعة: يعطي المعلم علامة "X" حمراء أو علامة "صح" خضراء.
- المشكلة: إذا حصل الطالب على "X"، فهو يعرف أنه مخطئ، لكنه لا يعرف مدى قربه من الصواب، أو لماذا كانت إجابته المحددة أسوأ من إجابة أخرى محتملة كان بإمكانه التفكير فيها. هو فقط يعرف "لا تفعل هذا".
2. الفكرة الجديدة: لجنة "اختبار التذوق"
توسيع وقت الاختبار (الإعداد):
قبل طريقة هذه الورقة، حاول الباحثون المساعدة من خلال جعل الروبوت يكتب الكثير من الإجابات (مثل 4 أو 5) في وقت واحد ثم اختيار الأفضل منها. هذا يشبه "اختبار التذوق".
- العيب: في الطريقة القديمة، بمجرد أن يختار الروبوت الإجابة الأفضل، يتم رمي الإجابات الأربع الأخرى في القمامة. لا يتعلم الروبوت شيئًا من حقيقة أن الإجابة رقم 2 كانت "قريبة من الصواب" بينما الإجابة رقم 4 كانت "خاطئة تمامًا". هذه البيانات القيمة للمقارنة تضيع سدى.
3. حل DuST: التعلم من "المشاركين الذين لم يفوزوا"
فضاء الحكم المزدوج:
يجادل المؤلفون بأن الروبوت يجب أن يتعلم من المقارنة بين إجاباته الخاصة، وليس فقط من الفائز النهائي.
- التشبيه: تخيل مسابقة للطبخ.
- الطريقة القديمة: يتذوق الحَكم طبقًا واحدًا ويقول: "محترق. فشل". لا يتعلم الطباخ شيئًا عن ما يجعل الطبق جيدًا.
- طريقة DuST: يصنع الطباخ 4 نسخ مختلفة من نفس الطبق. يتذوق الحَكم الأربعة جميعها.
- الطبق (أ): مثالي.
- الطبق (ب): مالح قليلاً.
- الطبق (ج): غير ناضج تمامًا.
- الطبق (د): محترق.
- الدرس: بدلًا من إخبار الطباخ "الطبق (أ) جيد"، يقول المعلم: "الطبق (أ) هو الفائز لأنه متوازن. الطبق (ب) فشل بسبب الملح. الطبق (ج) فشل بسبب الحرارة". يتعلم الطباخ الفروقات بين النجاح والفشل.
4. كيف يعمل DuST (الوصفة)
تصف الورقة حلقة محددة يمر بها الروبوت:
- التوليد (Generate): يكتب الروبوت مجموعة من الحلول البرمجية (دفعة "اختبار التذوق").
- الحكم (Judge): يقوم الروبوت بتشغيلها جميعًا في بيئة معزولة وآمنة (Sandbox) ليرى أي منها يعمل بالفعل (نجاح/رسوب).
- التجميع (Group): ينظر الروبوت إلى الدفعة. إذا فشلت كلها أو نجحت كلها، فإنه يتخلص من تلك الدفعة. هو يحتفظ فقط بالدفعات التي نجح بعضها وفشل بعضها. هذه هي "المجموعة المختلطة".
- الترتيب (Rank) (التدريب): يُطلب من الروبوت ترتيب هذه المجموعات المختلطة من "الأفضل" إلى "الأسوأ".
- نقطة حاسمة: لا يتم مكافأة الروبوت أبدًا على كتابة الكود نفسه. هو يُكافأ فقط على تحديد أي كود هو الأفضل.
- يحصل على نقاط لقوله: "هذا الكود الذي يعمل أفضل من هذا الكود المعطل".
- النقل السحري (The Magic Transfer): على الرغم من أن الروبوت تم تدريبه فقط ليكون حَكمًا، إلا أنه من المثير للدهشة أنه يصبح أفضل في كونِه كاتبًا. من خلال تعلم تمييز الفروق الدقيقة بين الحل الصحيح والحل المعطل، يبدأ الروبوت في "فهم" ما يجعل الكود يعمل. إنه يستوعب هذه القواعد ويبدأ في كتابة كود أفضل من تلقاء نفسه.
5. النتائج: لماذا يهم الأمر؟
اختبرت الورقة هذه الطريقة على عدة نماذج ذكاء اصطنا- مختلفة (من الصغيرة جدًا إلى الكبيرة جدًا) باستخدام اختبار برمجي قياسي يسمى LiveCodeBench.
- حكام أفضل: أصبحت النماذج أفضل بكثير في اكتشاف الكود الصحيح (تحسن في درجة "الترتيب").
- كتّاب أفضل: من المثير للدهشة أن النماذج أصبحت أيضًا أفضل في كتابة الكود من الصفر، رغم أنه لم يتم توجيهها مباشرة بـ "اكتب برنامجًا صحيحًا".
- معجزة "المرة الواحدة": قبل هذا التدريب، قد يحتاج النموذج لكتابة 4 إجابات واختيار الأفضل منها للحصول على درجة عالية. بعد تدريب DuST، استطاع النموذج كتابة إجابة واحدة فقط والحصول على نفس الدرجة العالية. لقد تعلم توليد الإجابة "الأفضل" فورًا، بدلاً من الحاجة للتخمين والتجربة.
6. السر الكامن: التعلم المعزز (RL) مقابل مجرد النسخ
أجرى المؤلفون تجربة أخيرة لمعرفة لماذا نجح هذا.
- الضبط الدقيق الخاضع للإشراف (SFT): حاولوا فقط تعليم الروبوت نسخ الترتيبات الصحيحة (مثل طالب يحفظ نموذج الإجابة). جعل هذا الروبوت حَكمًا أفضل، ولكنه لم يجعله كاتباً أفضل.
- التعلم المعزز (RL): استخدموا طريقة تسمى GRPO، حيث يتعلم الروبوت من خلال المحاولة، والفشل، وتعديل سلوكه بناءً على المكافآت. كان هذا هو المفتاح. "التعلم النشط" للترتيب سمح للروبوت بتغيير طريقة تفكيره، مما حسن قدرته على الكتابة.
الملخص
DuST هي طريقة يتعلم من خلالها الذكاء الاصطنا الاصطناعي البرمجة عبر أن يصبح ناقدًا بارعًا لعمله الخاص. من خلال تدريب الذكاء الاصطناعي على التمييز بين محاولاته "الجيدة" و"السيئة"، فإنه يتعلم القواعد الخفية للصحة. هذه المعرفة تتسرب بعد ذلك إلى قدرته على الكتابة، مما يجعله مبرمجًا أفضل دون أن يُقال له صراحةً كيف يكتب برنامجًا مثاليًا. إنها تحول البيانات "المهدورة" للمحاولات الفاشلة إلى معلم قوي.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.