COMPAS: Difficulty-Aware Joint Search for Optimizing Code Generation
إن COMPAS هو إطار عمل مدرك للصعوبة يعمل على تحسين توليد الكود من خلال البحث المشترك عن أفضل نموذج، ومطالبة (prompt)، وإعدادات فك التشفيد لمجموعات صعوبة مهام محددة، مما يحقق تحسينات كبيرة في كل من معدلات النجاح وكفاءة التكلفة في اختبارات معيارية مثل LiveCodeBench وSWE-bench.
البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل
تخيل أنك تحاول خبز الكعكة المثالية، ولكن لديك فرن سحري يمكنه التحدث إليك. في عالم علوم الحاسوب، هذا "الفرن" هو نموذج لغوي كبير (LLM)، وهو ذكاء اصطناعي فائق الذكاء يمكنه كتابة أكواد برمجية تماماً كما يفعل المبرمج البشري. للحصول على أفضل كعكة، تحتاج إلى اختيار ثلاثة أشياء: أي فرن ستستخدم (النموذج)، وما هي الوصفة التي ستعطيها له (المطالبة/Prompt)، وكيفية ضبط درجة الحرارة والمؤقت (إعدادات فك التشفير/Decoding settings). لفترة طويلة، حاول العلماء العثور على وصفة واحدة مثالية وإعداد فرن واحد يعمل مع كل أنواع الكعك، من الكب كيك البسيط إلى طبقات كعكة الزفاف المعقدة. لكنهم واجهوا مشكلة باستمرار: الإعداد الذي يجعل الكب كيك هشاً قد يحرق كعكة الزفاف، والإعداد الذي يوفر المال في الدقيق قد يفسد المذاق. السؤال الكبير كان: كيف نجد المزيج المثالي لكل مهمة محددة دون إنفاق ثروة أو قضاء سنوات في تجربة كل الاحتمالات؟
هنا يأتي دور COMPAS، وهي طريقة جديدة تعمل كأنها رئيس طهاة بارع وموفر للميزانية. بدلاً من التخمين بقاعدة واحدة للجميع، يدرك COMPAS أن المهام المختلفة لها "مستويات صعوبة" مختلفة. فهو يقترح أن نقوم بتجميع مهامنا — مثل تصنيف المشكلات إلى "سهلة"، و"متوسطة"، و"صعبة" — ثم نجد وصفة فريدة ومثالية لكل مجموعة. وجد الباحثون أن المطالبات (التعليمات) وإعدادات فك التشفير (أدوات ضبط الفرن) تعملان بشكل أفضل عندما يتم ضبطهما معاً، وليس بشكل منفصل، وأن ما ينجح مع نموذج ذكاء اصطناعي واحد قد يفشل مع نموذج آخر. ومن خلال استخدام عملية ذكية من خطوتين — أولاً اختيار الفرن المناسب للمهمة، ثم ضبط الوصفة والأدوات معاً — قاموا ببناء "قائمة" من الخيارات لكل مستوى صعوبة. وعندما تصل مهمة جديدة، يتحقق COMPAS فوراً من صعوبتها، ويختار القائمة المثالية المعدة مسبقاً لتلك المجموعة، ويبدأ العمل.
في تجاربهم، حقق هذا النهج نجاحاً هائاً. ففي مجموعة اختبار لمشكلات برمجية تسمى LiveCodeBench، تمكن COMPAS من الحصول على الإجابة الصحيحة بنسبة 52.8%، متفوقاً على أفضل طريقة سابقة والتي وصلت فقط إلى 45.9%. والأفضل من ذلك، أنه فعل ذلك بإنفاق أقل بكثير: حيث انخفضت التكلفة من 36.57 دولاراً إلى 4.92 دولاراً فقط. كما اختبروه على تحدٍ أكثر تعقيداً يتضمن إصلاح الأخطاء (Bugs) في مشاريع برمجية كاملة (SWE-bench)، حيث حل 76.0% من المهام، متفوقاً مرة أخرى على أفضل الطرق الموجودة.
السر وراء نجاح COMPAS هو استراتيجيته "المدركة للصعوبة". اكتشف الباحثون ثلاثة أشياء رئيسية من خلال تجاربهم. أولاً، التعليمات وإعدادات الفرن يتفاعلان؛ فتغيير كليهما معاً يعطي نتائج أفضل من تغييرهما واحداً تلو الآخر. ثانياً، التعديل الذي يساعد نموذج ذكاء اصطناعي واحد قد يضر نموذجاً آخر، لذا يجب عليك اختيار نموذجك بعناية قبل البدء في التعديل. ثالثاً، والأهم من ذلك، أن الإعداد "الأفضل" لمشكلة سهلة يختلف تماماً عن الإعداد "الأفضل" لمشكلة صعبة. لذا فإن النهج العالمي الذي يعتمد على مقاس واحد يناسب الجميع لا ينجح أبداً.
لحل هذه المشكلة، يستخدم COMPAS خطة من مرحلتين. في المرحلة غير المتصلة (Offline Phase) (مرحلة التحضير)، يقوم بتقسيم جميع مهام التدريب إلى مجموعات بناءً على مدى صعوبتها. ثم يقوم باختبار سريع ورخيص لاختيار أفضل نموذج ذكاء اصطناعي لكل مجموعة. وبمجرد اختيار النموذج، يدخل في وضع "البحث المشترك"، حيث يستخدم حلقة تغذية راجعة ذكية لضبط المطالبة وإعدادات فك التشفير في آن واحد. هو لا يجرب تركيبات عشوائية فحسب؛ بل يتعلم من أخطائه ونجاحاته، ويبني "جبهة الجودة والتكلفة" — وهي باختصار قائمة بأفضل المقايضات الممكنة بين الحصول على نتيجة جيدة وتوفير المال — لكل مجموعة صعوبة.
في المرحلة المتصلة (Online Phase) (الطهي في الوقت الفعلي)، عندما تأتي مهمة جديدة، لا يضيع COMPAS وقته في البحث. بل يقوم ببساة بالنظر إلى تسمية صعوبة المهمة، ويجد المجموعة المطابقة، ويختار أفضل إعداد من قائمة تلك المجموعة المعدة مسبقاً. إنه يشبه امتلاك مكتبة من الوصفات المضبوطة بدقة وجاهزة للاستخدام، بحيث لا تضطر أبداً للبدء من الصفر.
تظهر الورقة البحثية أن هذه الطريقة قوية ومتينة. حتى عندما قاموا بتغيير البذور العشوائية (مثل إعادة خلط أوراق اللعب بشكل مختلف) أو اختبروه على أنواع مختلفة من نماذج الذكاء الاصطناعي، تفوق COMPAS باستمرار على الطرق الأخرى. كما أثبت أن تقسيم المهام حسب الصعوبة أمر بالغ الأهمية؛ فإذا تجاهلت مستويات الصعوبة وحاولت استخدام إعداد واحد لكل شيء، ستنخفض نتائجك بشكل كبير. وبينما يعمل هذا الأسلوب حالياً بشكل أفضل عندما تكون نماذج الذكاء الاصطناعي من نفس "العائلة"، إلا أن الباحثين يشيرون إلى إمكانية توسيع هذا النهج في المستقبل. في الوقت الحالي، يعد COMPAS دليلاً قوياً على أن كونك ذكياً في كيفية البحث عن الإعدادات الصحيحة لا يقل أهمية عن الإعدادات نفسها.
غارق في أبحاث مجالك؟
تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.