قدم DeepMind نظام التعلم الآلي لتوليد التعليمات البرمجية من وصف نصي للمهمة

قدمت شركة DeepMind المعروفة بتطوراتها في مجال الذكاء الاصطناعي وبناء الشبكات العصبية القادرة على ممارسة ألعاب الكمبيوتر واللوحية على مستوى الإنسان، مشروع AlphaCode الذي يعمل على تطوير نظام التعلم الآلي لتوليد التعليمات البرمجية التي يمكن أن تشارك في مسابقات البرمجة على منصة Codeforces وإظهار نتيجة متوسطة. الميزة الرئيسية للتطوير هي القدرة على إنشاء تعليمات برمجية بلغة Python أو C++، مع إدخال نص يحتوي على بيان مشكلة باللغة الإنجليزية.

ولاختبار النظام، تم اختيار 10 مسابقات Codeforces جديدة بمشاركة أكثر من 5000 مشارك، والتي أقيمت بعد الانتهاء من التدريب على نموذج التعلم الآلي. سمحت نتائج إكمال المهام لنظام AlphaCode بالدخول تقريبًا إلى منتصف تصنيف هذه المسابقات (54.3٪). كان التقييم الإجمالي المتوقع لـ AlphaСode هو 1238 نقطة، مما يضمن الدخول إلى أعلى 28% بين جميع المشاركين في Codeforces الذين شاركوا في المسابقات مرة واحدة على الأقل خلال الأشهر الستة الماضية. يُشار إلى أن المشروع لا يزال في المرحلة الأولية من التطوير ومن المخطط مستقبلاً تحسين جودة الكود الذي تم إنشاؤه، وكذلك تطوير AlphaCode نحو أنظمة تساعد في كتابة الكود، أو أدوات تطوير التطبيقات التي يمكن يستخدمه الأشخاص الذين ليس لديهم مهارات البرمجة.

يستخدم المشروع بنية الشبكة العصبية Transformer مع تقنيات أخذ العينات والتصفية لإنشاء متغيرات مختلفة من التعليمات البرمجية غير المتوقعة والتي تتوافق مع نص اللغة الطبيعية. بعد التصفية والتجميع والتصنيف، يتم حذف رمز العمل الأمثل من مجموعة الخيارات التي تم إنشاؤها، والتي يتم فحصها بعد ذلك للتأكد من الحصول على النتيجة الصحيحة (تشير كل مهمة منافسة إلى مثال لبيانات الإدخال والنتيجة المقابلة لهذا المثال والتي يجب الحصول عليها بعد تنفيذ البرنامج).

قدم DeepMind نظام التعلم الآلي لتوليد التعليمات البرمجية من وصف نصي للمهمة

لتدريب نظام التعلم الآلي بشكل تقريبي، استخدمنا قاعدة التعليمات البرمجية المتوفرة في مستودعات GitHub العامة. بعد إعداد النموذج الأولي، تم تنفيذ مرحلة التحسين، بناءً على مجموعة من الأكواد البرمجية مع أمثلة للمشكلات والحلول المقترحة من قبل المشاركين في مسابقات Codeforces وCodeChef وHackerEarth وAtCoder وAizu. في المجمل، تم استخدام 715 جيجابايت من التعليمات البرمجية من GitHub وأكثر من مليون مثال لحلول مشاكل المنافسة النموذجية للتدريب. قبل الانتقال إلى إنشاء التعليمات البرمجية، مر نص المهمة بمرحلة التطبيع، حيث تم التخلص من كل شيء غير ضروري ولم يتبق سوى أجزاء مهمة.

قدم DeepMind نظام التعلم الآلي لتوليد التعليمات البرمجية من وصف نصي للمهمة


المصدر: opennet.ru

إضافة تعليق