Domain-Adaptable Reinforcement Learning for Code Generation with Dense Rewards
تقدم هذه الورقة إطار عمل للتعلم التعزيزي باستخدام تحسين السياسة القريبة ونظام مكافأة قابل للتخصيص وواعٍ بالتنفيذ لضبط النماذج اللغوية الكبيرة، مما يحسن بشكل كبير من صحتها الوظيفية وقدرتها على التكيف مع القيود الخاصة بمجالات معينة مثل الروبوتات في مهام توليد الكود البرمجي.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أن لديك متدرباً بارعاً جداً ولكنه يفتقر للخبرة في البرمجة. هذا المتدرب (النموذج اللغوي الكبير) يمكنه كتابة كود يبدو رائعاً ويتبع قواعد القواعد النحوية، ولكن عندما تقوم بتشغيل الكود فعلياً، فإنه غالباً ما يتعطل، أو يتصرف بغرابة، أو يفشل في تنفيذ ما طلبته منه.
تقدم هذه الورقة البحثية طريقة جديدة لتدريب هذا المتدرب باستخدام أسلوب يسمى التعلم التعزيزي (Reinforcement Learning)، ولكن مع لمسة خاصة: بدلاً من الانتظار حتى نهاية المشروع لقول "عمل جيد" أو "فشل"، فإنهم يقدمون له ملاحظات تفصيلية ومستمرة عند كل خطوة يخطوها.
إليك تفصيل لكيفية عمل نظامهم، باستخدام تشبيهات بسيية:
1. المشكلة: درجة "الكل أو لا شيء"
تقليدياً، عندما يتم تعليم الذكاء الاصطناعي البرمجة، ينتظر النظام حتى يتم كتابة البرنامج بالكامل. ثم يقوم بتشغيل الكود.
- إذا نجح: يحصل الذكاء الاصطناعي على نجمة ذهبية.
- إذا تعطل: يحصل على درجة "F" كبيرة.
المشكلة هي أن الذكاء الاصطناعي لا يعرف لماذا فشل. هل ارتكب خطأ في السطر الأول؟ أم في السطر الأخير؟ أم أن الفكرة برمتها كانت خاطئة؟ الأمر يشبه طالباً يكتب مقالاً من 10 صفحات، ثم يسلمه، فيحصل على درجة "F" واحدة دون أي تعليقات. هو لا يعرف أي فقرة يجب عليه إصلاحها.
2. الحل: المدرب ذو "المكافأة الكثيفة"
ابتكر المؤلفون إطار عمل يعمل كمدرب صارم ولكن متعاون، يقف بجانب المتدرب مباشرة وهو يكتب. بدلاً من درجة واحدة كبيرة في النهاية، يعطي المدرب درجة لكل كلمة (Token) يكتبها المتدرب.
يُسمى هذا نظام المكافأة الكثيفة (Dense Reward). وإليك ما يتحقق منه المدرب في كل خطوة:
- فحص بناء الجملة (شرطة القواعد): هل هيكل الجملة صحيح؟ (على سبيل المثال: هل نسيت نقطتين رأسيتتين أو قوساً؟)
- فحص الأسلوب والسلامة (مفتش الكود): هل الكود فوضوي؟ هل يحتوي على ثغرات أمنية؟ (يستخدمون أداة تسمى "Ruff" للتحقق من ذلك).
- فحص "ماذا لو" (المحاكي): إذا كان هذا الكود لآلة، فهل سيؤدي هذا الإجراء إلى اصطدامها بحائط؟ يقوم النظام بمحاكاة الكود لمعرفة ما إذا كان ذلك ممكناً من الناحية الفيزيائية.
- فحص "عدم الانحراف": يتأكد المدرب من أن المتدرب لا يبتعد كثيراً عن أسلوب تدريبه الأصلي، مما يحافظ على استقراره.
3. كيف يحدث التعلم (الحلقة التكرارية)
تصف الورقة حلقة مكونة من ثلاث خطوات تحدث مراراً وتكراراً:
- التنفيذ التجريبي (حصة التدريب): يقوم الذكاء الاصطناعي بإنشاء قطعة من الكود، كلمة بكلمة.
- التقييم (بطاقة الدرجات): بمجرد انتهاء الكود، يمرره النظام عبر جميع الفحوصات المذكورة أعلاه. يقوم النظام بحساب "درجة" للقطعة بأكملها، ولكنه يحدد أيضاً أي كلمات محددة ساهمت في الدرجة الجيدة أو السيئة.
- تشبيه: إذا فشل الكود بسبب خطأ مطبعي في السطر الخامس، فإن النظام يعرف أن عليه معاقبة السطر الخامس بشدة، وليس السطر الأول.
- التحسين (الدرس المستفاد): يستخدم الذكاء الاصطناعي هذه الدرجات لتحديث دماغه. يتعلم قائلاً: "أوه، عندما أكتب هذه الكلمة تحديداً في هذا السياق، فإن ذلك يؤدي إلى عطل. في المرة القادمة، سأختار كلمة مختلفة".
4. النتائج: من "معطل" إلى "يعمل"
اختبر المؤلفون هذا على نوعين مختلفين تماماً من المهام:
- البرمجة العامة (وظيفة مكتبية): طلبوا من الذكاء الاصطناعي كتابة برامج Python قياسية.
- النتيجة: انتقل الذكاء الاصطناعي من إنجاز حوالي 46% من المهام بنجاح إلى 65%. لقد تعلم كتابة كود يعمل بالفعل ويتعامل مع الحالات المعقدة.
- برمجة الروبوتات (وظيفة بدنية): طلبوا من الذكاء الاصطناعي كتابة كود لروبوت ليتحرك حول ويقوم بمهام.
- النتيجة: قبل التدريب، كان كود الروبوت يتعطل دائماً تقريباً قبل أن يبدأ في التحرك (معدل فشل 96%). بعد التدريب، استطاع الروبوت تنفيذ المهام بنجاح 51% من الوقت. أصبح الكود "واعياً بالبيئة"، مما يعني أن الروبوت تعلم ألا يحاول المشي عبر الجدران أو رفع أشياء ثقيلة جداً.
الخلاصة الكبرى
تثبت هذه الورقة أنه من خلال تقديم ملاحظات مستمرة وتفصيلية للذكاء الاصطناعي في كل خطوة من عملية البرمجة — بدلاً من مجرد درجة نهائية — يمكنك تعليمه كتابة كود ليس فقط صحيحاً من حيث القواعد، بل أيضاً آمناً، وظيفياً، وجاهزاً للعالم الحقيقي.
لم يجعلوا الذكاء الاصطناعي أكثر ذكاءً فحسب؛ بل جعلوه أكثر حذراً ووعياً بعواقب أفعاله، سواء كانت تلك الأفعال تعمل على جهاز كمبيوتر أو تحرك روبوتاً مادياً.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.