جعل الذكاء الاصطناعي أفضل في حل المشكلات في مسابقات البرمجة

جعل الذكاء الاصطناعي أفضل في حل المشكلات في مسابقات البرمجة

المقابلة الشخصية يمكن تعزيز قدرات نماذج اللغات التجارية الكبيرة على حل مشكلات البرمجة التنافسية بشكل كبير من خلال توجيه عملياتها بعناية من خلال هندسة سريعة ذكية.

ولإثبات ذلك، قامت شركة Codium AI، ومقرها إسرائيل، ببناء AlphaCodium و صدر البرنامج على GitHub هذا الشهر. AlphaCodium ليس نموذجًا لغويًا كبيرًا في حد ذاته. وبدلاً من ذلك، فهي طريقة تعمل على تحسين قدرات حل المشكلات لأدوات الذكاء الاصطناعي التوليدية مثل GPT-4 باستخدام ما يسميه الرئيس التنفيذي إيتامار فريدمان "هندسة التدفق".

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

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

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

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

alphacodium

جميع الخطوات العامة التي توجه AlphaCodium إلى إنشاء تعليمات برمجية لحل المشكلات

قال فريدمان: "نحن لا نأخذ المشكلة ونذهب إلى النموذج ونقول له: من فضلك قم بإيجاد الحل النهائي". السجل. "نطلب من النموذج أن يعيد تعريف هذه المشكلة في نقاط نقطية." إن تبسيط الأمر وتقسيم الأشياء إلى أجزاء يجعل من السهل على النموذج إنشاء تعليمات برمجية لاحقًا لأجزاء مختلفة من الخوارزمية.

في الأساس، هندسة التدفق هي إجراء يوجه عملية حل المشكلات الخاصة بالنموذج عن طريق تقسيمها إلى خطوات محددة جيدًا. قيل لنا إن مطالبتنا بـ "تقسيم الكود الذي تم إنشاؤه إلى وظائف فرعية صغيرة، بأسماء ووظائف ذات معنى"، يؤدي إلى عدد أقل من الأخطاء ويجعل اختبار الكود وإصلاحه أسهل.

وأضاف فريدمان: "لقد أمضينا 95% من وقتنا في هندسة التدفق، و5% فقط في الهندسة السريعة ولم نغير المطالبات لكل [خطوة]".

اختبر مهندسون من Codium أداء نموذجهم على مئات المشكلات المستخدمة في التحقق واختبار أجزاء من مجموعة بيانات CodeForces التي جمعها Google DeepMind قبل عامين. يزعمون أن AlphaCodium كان أفضل في حل مشكلات البرمجة من نماذج AlphaCode وAlphaCode2 من Google DeepMind.

في النتائج الواردة في arXiv ورقة [PDF]، تمكن AlphaCodium من الإجابة بشكل صحيح على 44 بالمائة من الأسئلة مقارنة بـ 24 بالمائة لـ AlphaCode، بينما قام بإنشاء خمسة حلول فقط مقارنة بالحلول العشرة المختارة لـ AlphaCode لـ 107 مشكلة للتحقق من الصحة. ومن المثير للاهتمام أن الفجوة ضاقت عندما يتعلق الأمر بـ 165 مشكلة اختبارية حيث حل AlphaCodium 29 بالمائة مقارنة بـ 28 بالمائة التي حلها AlphaCode.

يختار AlphaCode الحلول العشرة الواعدة من بين عشرات الآلاف، أو مئات الآلاف، من النصوص البرمجية المحتملة التي ينشئها - مما يجعل تشغيله مكثفًا حسابيًا.

قال فريدمان: “لقد ركزنا أكثر على التدفق الكامل للاختبارات”. "بالنسبة لشركة [Google]، فقد قاموا بالكثير من العمل على هذا الجيل. إنهم يحاولون إنشاء مئات من الخيارات الأخرى ونحن ننتج عددًا قليلًا جدًا من الحلول، ولكننا نختبرها جيدًا لتوجيه عملية تحسين الكود."

وأضاف أن AlphaCodium أفضل قليلاً من أحدث طراز AlphaCode2 من Google DeepMind وهو أكثر كفاءة بمقدار 10,000 مرة من سابقه AlphaCode.

alphacodium_2

كيف يقارن AlphaCodium بالنماذج الحديثة الأخرى من حيث الدقة والكفاءة

وقال فريدمان إنه واثق من أن أداء AlphaCodium لا يرجع إلى تسرب البيانات، حيث تم تدريب النموذج الأساسي واختباره على نفس المشكلات. تم تدريب إصدار GPT-4 الذي يعمل على تشغيل AlphaCodium على النص المستخرج من الإنترنت حتى سبتمبر 2021، في حين أن المشكلات التي اختبر نظامه عليها مأخوذة من مجموعة بيانات CodeForces المذكورة أعلاه والتي تم إصدارها في وقت لاحق.

ومع ذلك، فإن المقارنة الأفضل من التفاح إلى التفاح التي تقيم عملية هندسة التدفق، هي النظر إلى قدرة GPT-4 على حل تلك الأسئلة نفسها مع تطبيق AlphaCodium وبدونه. لم يتمكن GPT-4 القديم العادي من الإجابة بشكل صحيح إلا على 19 و12 بالمائة من المشكلات في مجموعات التحقق من الصحة والاختبار على التوالي، مقارنة بـ 44 و29 بالمائة للمتغير الذي يعمل بنظام AlphaCodium.

باختصار، يبدو أن تنفيذ مسار دقيق يولد بيانات إضافية لتوجيه كيفية إنشاء التعليمات البرمجية وتحسين عملية الاختبار يمكن أن يكون أكثر فعالية من محاولة تدريب نموذج لغة كبير من الصفر.

أصدرت Codium مؤخرًا أداة جديدة لدعم مطوري Python، الذين يمكنهم الآن الاتصال بـ AlphaCodium لحل مشكلة الترميز مباشرة في بيئة التطوير المتكاملة (IDE) الخاصة بهم. يمكنك اللعب بها هنا. ®

الطابع الزمني:

اكثر من السجل