التنافس في إنشاء الشفرة على مستوى المُنافسة باستخدام AlphaCode

البرمجة هي أداة قوية وشائعة جدًا لحل المشكلات. وتطوير أنظمة قادرة على مساعدة المبرمجين أو حتى إنشاء البرامج بشكل مستقل يمكن أن يجعل البرمجة أكثر إنتاجية وسهولة، ولكن حتى الآن، أظهر دمج الابتكارات في الذكاء الاصطناعي صعوبة كبيرة. أظهرت النماذج اللغوية الكبيرة الحديثة قدرة مذهلة على إنشاء الكود، وتمكنت الآن من إكمال مهام برمجية بسيطة. ومع ذلك، لا تزال هذه النماذج تؤدي أداءً ضعيفًا عند تقييمها على مشكلات أكثر تعقيدًا وغير مسبوقة، والتي تتطلب مهارات في حل المشكلات تتجاوز مجرد ترجمة التعليمات إلى كود. على سبيل المثال، تظل مشكلات البرمجة التنافسية التي تتطلب فهمًا للخوارزميات واللغة الطبيعية المعقدة أمرًا بالغ الصعوبة. ولسد هذه الفجوة، نقدّم نظام "ألفا كود" (AlphaCode)، وهو نظام لإنشاء الكود قادر على إنتاج حلول جديدة لهذه المشكلات التي تتطلب تفكيرًا أعمق. وفي تقييمات محاكاة أُجريت على بطولات برمجية حديثة على منصة "كودفورس" (Codeforces)، حقق ألفا كود متوسط تصنيف يبلغ 54.3% من أفضل المشاركين في بطولات شارك فيها أكثر من 5000 مشارك. ووجدنا أن هناك ثلاثة عناصر أساسية كانت حاسمة لتحقيق أداء جيد وموثوق: (1) مجموعة بيانات واسعة ونظيفة مخصصة للبرمجة التنافسية لغرض التدريب والتقييم، (2) هياكل معمّقة وفعّالة في العينة من نوع المحولات (Transformer) ذات الحجم الكبير، و(3) عينة واسعة النطاق للنماذج لاستكشاف فضاء البحث، تليها عملية تصفية بناءً على سلوك البرامج، لتقليل عدد التقديمات إلى مجموعة صغيرة جدًا.