Command Palette
Search for a command to run...
ACES: من يختبر الاختبارات؟ اتساق AUC باستخدام Leave-One-Out لتوليد الكود (Code Generation)
ACES: من يختبر الاختبارات؟ اتساق AUC باستخدام Leave-One-Out لتوليد الكود (Code Generation)
Hui Sun Yun-Ji Zhang Zheng Xie Ren-Biao Liu Yali Du Xin-Ye Li Ming Li
الملخص
تعد عملية اختيار مرشحات الكود المولد بواسطة LLM باستخدام اختبارات مولدة بواسطة LLM تحدياً كبيراً، لأن الاختبارات نفسها قد تكون غير صحيحة. تعتمد الطرق الحالية إما على معاملة جميع الاختبارات على قدم المساواة، أو الاعتماد على قواعد استدلالية (heuristics) عشوائية لتصفية الاختبارات غير الموثوقة. ومع ذلك، فإن تحديد صحة الاختبار يتطلب معرفة أي الأكواد هي الصحيحة، مما يخلق تبعية دائرية (circular dependency).تكمن رؤيتنا الجوهرية في أنه ليس من الضروري تحديد صحة الاختبار على الإطلاق: إذ ينبغي أن تقوم أصوات الاختبارات (test votes) بالترتيب، وليس مجرد العد. فالمهم ليس عدد الأكواد التي تجتاز الاختبار، بل مدى قدرة الاختبار على التمييز بين الكود الصحيح والكود غير الصحيح. نحن نقوم بكسر هذه التبعية الدائرية عبر تقييم "الاستبعاد الواحد" (leave-one-out evaluation): حيث يتم استبعاد اختبار واحد، ثم يتم ترتيب الأكواد بناءً على درجاتها الإجمالية في جميع الاختبارات المتبقية، وقياس ما إذا كان نمط النجاح/الفشل للاختبار المستبعد يتوافق مع هذا الترتيب.لقد قمنا بصياغة هذا التوافق في شكل المساحة تحت منحنى الاستبعاد الواحد (LOO-AUC)، وأثبتنا أن القيمة المتوقعة لـ LOO-AUC تتناسب مع قدرة كل اختبار على الفصل بين الكود الصحيح والكود غير الصحيح. وبناءً على ذلك، نقترح إطار عمل ACES (AUC ConsistEncy Scoring) مع متغيرين متكاملين:1. ACES-C: يوفر أوزاناً بصيغة مغلقة (closed-form weights) تقرب بشكل مثبت من "المعيار المثالي" (oracle) في المتوسط، وذلك تحت فرضية مخففة تتعلق بجودة الاختبار المتوسطة.2. ACES-O: يتخلى عن هذه الفرضية ويقوم بتحسين هدف LOO-AUC القابل للتفاضل (differentiable) بشكل تكراري.يعمل كلا المتغيرين حصرياً على مصفوفة النجاح الثنائية (binary pass matrix) مع عبء حوسبي ضئيل، ويحققان نتائج هي الأفضل حالياً (state-of-the-art) في مقياس Pass@k عبر العديد من الـ benchmarks الخاصة بتوليد الكود.