← أحدث الأبحاث
🤖 machine learning

Reinforcement Learning for Code Optimization

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

المؤلفون الأصليون: Pierre Chambon, Kunhao Zheng, Juliette Decugis, Benoit Sagot, Gabriel Synnaeve

نُشر 2026-07-29
📖 7 دقيقة قراءة🧠 قراءة متعمّقة

المؤلفون الأصليون: Pierre Chambon, Kunhao Zheng, Juliette Decugis, Benoit Sagot, Gabriel Synnaeve

البحث الأصلي مرخَّص بموجب CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/). هذا شرح مولَّده بالذكاء الاصطناعي للبحث أدناه. لم يكتبه المؤلفون ولم يصادقوا عليه. وللتحقق من الدقة التقنية، يرجى الرجوع إلى البحث الأصلي. اقرأ إخلاء المسؤولية الكامل

تخيل عالماً تكون فيه أجهزة الكمبيوتر مثل طهاة موهوبين للغاية، ولكنهم يفتقرون إلى الرشاقة؛ يمكنهم اتباع وصفة لصنع طبق مثالي (كتابة كود يعمل)، لكنهم غالباً ما يسلكون الطريق الأطول، مستخدمين ألف خطوة صغيرة بينما كانت خطوة واحدة عملاقة ستفي بالغرض. هذا هو عالم الذكاء الاصطناعي وتوليد الكود. لقد علم العلماء هؤلاء الطهاة من الذكاء الاصطناعي كيفية الطبخ عبر منحهم تعليقات: "إذا كان طعم الطبق جيداً، فستحصل على نجمة ذهبية". هذه الطريقة، التي تسمى التعلم المعزز (Reinforcement Learning)، جعلت الذكاء الاصطناعي بارعاً جداً في كتابة كود يعمل. ولكن هناك مشكلة: الكود غالباً ما يعمل ببطء، مثل طاهٍ يقطع كل بصلة يدوياً بدلاً من استخدام محضرة الطعام. السؤال الكبير هو: هل يمكننا تعليم الذكاء الاصطناعي ليس فقط صنع الطبق، بل صنعه بسرعة؟ التحدي يكمن في أن "السرعة" مفهوم مراوغ؛ فقياس المدة التي يستغرقها الكود بالضبط أمر مليء بالضجيج، مثل محاولة توقيت سباق بينما ساعة الإيقاف تهتز في يدك. إذا أخطأ الذكاء الاصطناعي في التوقيت، فقد يتعلم الجري بسرعة ولكنه يفسد العمل، أو قد يصاب بالارتباك بسبب الضجيج ويتوقف عن التعلم تماماً.

هذه الورقة البحثية، بعنوان "التعلم المعزز لتحسين الكود"، هي قصة عن كيف علم فريق من الباحثين طاهي الذكاء الاصطناعي التوقف عن تقطيع البصل يدوياً والبدء في استخدام محضرة الطعام، دون حرق المطبخ. لقد اكتشفوا أن مجرد إخبار الذكاء الاصطناعي "كن أسرع" لا ينجح لأن قياسات التوقيت فوضوية للغاية. بدلاً من ذلك، قاموا ببناء مطبخ خاص فائق الدقة ("صندوق رمل مُعاير") ومجموعة جديدة من القواعد لكيفية منح النجوم الذهبية للذكاء الاصطناعي. وجدوا أنه من خلال تصميم طريقة اختبار الذكاء الاصطناعي بعناية — باستخدام مشكلات أكبر وأصعب تُظهر فعلياً الفرق بين الحل البطيء والسريع — يمكنهم تعليم الذكاء الاصطناني كتابة كود صحيح وسريع بشكل ملحوظ في آن واحد. النتيجة؟ تعلم الذكاء الاصطناعي حل الألغاز المعقدة بسرعة أكبر بنسبة تصل إلى 125% في بعض الفئات الصارمة، مع الاستمرار في تقديم الإجابات الصحيحة. الأمر يشبه تعليم طالب ليس فقط حل مسألة رياضية، بل حلها بأقل عدد ممكن من الخطوات، حتى عندما يكون توقيت المعلم مهتزاً قليلاً.

المشكلة: فخ "سريع ولكن خاطئ"

تخيل أنك تدرب روبوتاً على الجري في سباق. إذا قلت له فقط "اجرِ بأقصى سرعة ممكنة"، فقد يغش الروبوت عبر اتخاذ طريق مختصر يكسر المسار، أو قد يتعثر في قدميه لأنه يندفع بسرعة. في عالم الكود، هذا هو بالضبط ما حدث عندما حاول الباحثون تعليم الذكال الاصطناعي أن يكون أسرع. حاولوا إضافة "السرعة" إلى نظام المكافأة: "إذا عمل الكود الخاص بك، وكان يعمل في ثانية واحدة، فستحصل على مكافأة كبيرة. وإذا استغرق 10 ثوانٍ، فستحصل على مكافأة صغيرة".

لكن هذه الفكرة البسيطة فشلت. لماذا؟ لأن قياس الوقت مليء بالضجيج. أحياناً يعمل الكود بسرعة لمجرد أن الكمبيوتر كان في حالة جيدة، وليس لأن الكود ذكي. وفي أحيان أخرى، يعمل الكود ببطء لأن الكمبيوتر كان مشغولاً بشيء آخر. هذا "الضجيج" أربك الذكاء الاصطناعي؛ فبدأ يتعلم أن كون الكود "سريعاً" لا يهم، أو الأسوأ من ذلك، تعلم كتابة كود سريع جداً ولكنه خاطئ تماماً (مثل روبوت يركض في الاتجاه الخاطئ نحو خط النهاية). تُظهر الورقة أنه إذا أضفت الوقت إلى المكافأة دون إصلاح أدوات القياس، فإن الذكاء الاصطناعي يكاد لا يصبح أسرع، وأحياناً يصبح أسوأ في دقة النتائج.

الحل: بناء مطبخ أفضل

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

1. الاختبارات: من سباقات السرعة إلى الماراثونات
كانت الاختبارات الأصلية التي أُعطيت للذكاء الاصطناعي تشبه سباقات السرعة القصيرة جدًا. في سباق السرعة، يمكن لعطل بسيط (مثل عطسة) أن يحدث فرقاً هائلاً في الوقت، مما يجعل من المستحيل معرفة ما إذا كان العداء أسرع حقاً. قام الباحثون ببناء مجموعة جديدة من الاختبارات تسمى DMC-Optim. هذه الاختبارات تشبه الماراثونات؛ فهي تستخدم مدخلات ضخمة ومشكلات معقدة تستغرق ثوانٍ أو حتى دقائق للتشغيل. في الماراثون، لا تهم العطسة؛ يمكنك بوضوح رؤية من يركض أسرع. لقد أنشأوا 2,723 مشكلة منقحة وأضافوا 352,740 "اختبار تحسين" جديداً مصمماً خصيصاً ليكون بطيئاً، بحيث يمكن للذكاء الاصطناعي أن يشعر فعلياً بالفرق بين الحل الجيد والحل الممتاز.

2. المكافأة: بوابة المراحل الثلاث
بدلاً من مجرد قول "الأسرع هو الأفضل"، صمم الباحثون نظام مكافأة ذكياً يعمل مثل بوابة ثلاثية المراحل:

  • المرحلة 1 (الصحة/الدقة): يجب أن يعمل الكود. إذا لم يعمل، فستكون هناك عقوبة كبيرة (لا توجد نجمة ذهبية).
  • المرحلة 2 (التحسين): إذا عمل الكود، هل اجتاز "اختبار السرعة"؟ يتم مقارنة الذكاء الاصطناعي بلوحة صدارة تضم خبراء بشريين. إذا كان الذكاء الاصطناعي ضمن أفضل 30% من البشر، فإنه يحصل على مكافأة.
  • المرحلة 3 (الإشارة): المكافأة ليست مجرد رقم؛ إنها إشارة واضحة. استخدموا مكافأة "ثنائية" (مثل مفتاح الضوء: تشغيل أو إيقاف) بدلاً من مفتاح خافت (dimmer). هذا يمنع الذكاء الاصطناعي من الارتباك بسبب الاختلافات الصغيرة والمزعجة في الوقت. إذا كان الكود صحيحاً وسريعاً بما يكفي، يضيء النور. وإذا لم يكن كذلك، يظل مطفأً. هذه الإشارة البسيطة "تشغيل/إيقاف" كانت قوية بشكل مدهش.

3. التدريب: مدرب مستقر
التدريب على بيانات توقيت مليئة بالضجيج يشبه محاولة تدريب كلب بيد ترتجف. اضطر الباحثون إلى تعديل خوارزمية التدريب الخاصة بهم (المسماة GR_PO) لتكون أكثر استقراراً. لقد زادوا عدد المحاولات التي يقوم بها الذكاء الاصطناعي لكل مشكلة (مثل جعل الكلب يركض المسار 16 مرة بدلاً من مرة واحدة) لمتوسط الضجيج. كما تأكدوا من أن الذكاء الاصطناعي لا يشعر بالإحباط عند الفشل، من خلال تعديل كيفية حساب "الدرجة". حافظ هذا على استقرار التدريب حتى عندما كانت قياسات التوقيت متذبذبة قليلاً.

النتائج: تسريع الأداء دون الانهيار

عندما وضعوا كل هذه القطع معاً، كانت النتائج مبهرة. اختبروا طريقتهم الجديدة على نماذج ذكاء اصطناعي مختلفة، بما في ذلك Qwen 2.5 (نموذج بـ 7 مليارات و32 مليار معلمة) و CWM 32B.

  • القفزة الكبيرة: في أصعب الاختبارات (حيث يجب أن يكون الكود ضمن أسرع 30% من البشر)، قفز أداء الذكاء الاصطناعي من 13.7% إلى 30.9% لنموذج CWM 32B. هذه زيادة نسبية قدرها 125%!
  • الحفاظ على الدقة: والأهم من ذلك، لم يضحِّ الذكاء الاصطناعي بالدقة من أجل السرعة. عدد المرات التي كان فيها الكود صحيحاً (حتى لو كان بطيئاً) ظل كما هو أو حتى تحسن قليلاً. تعلم الذكاء الاصطناعي أن يكون سريعاً وصحيحاً في آن واحد.
  • التفوق على المعيار المرجعي: عند مقارنتها بطرق التدريب القياسية، فاز النماذج المدربة على التحسين في 83% من حالات المقارنة المباشرة في السرعة على معيار آخر يسمى LiveCodeBench.

ماذا تعلم الذكاء الاصطناعي فعلياً؟

لم يكتفِ الباحثون بالنظر إلى الدرجات فحسب؛ بل نظروا إلى الكود نفسه لمعرفة الحيل التي تعلمها الذكاء الاصطناعي. استخدموا ذكاءً اصطناعياً آخر ("حكماً") لمقارنة الكود الجديد بالكود القديم وبالحلول البشرية.

  • حيلة "الإدخال/الإخراج" (I/O): كان التحسين الأكثر شيوعاً هو تحسين الإدخال/الإخراج. تعلم الذكاء الاصطناعي قراءة وكتابة البيانات بكفاءة أكبر، مثل طاهٍ يتوقف عن إضاعة الوقت في فتح وإغلاق باب الثلاجة. شكل هذا 47% من الانتصارات.
  • اختصار "الرياضيات": في 6% من الحالات، وجد الذكاء الاصطناعي اختصاراً رياضياً، مدركاً أنه ليس بحاجة للقيام بكل تلك الحسابات.
  • تغيير "الخوارزمية": في 13% من الحالات، قام الذكاء الاصطناعي بتغيير الطريقة الأساسية لحل المشكلة (مثل الانتقال من طريقة بطيئة تعتمد على التجربة الشاملة إلى طريقة ذكية وفعالة). هذا هو "الهدف الأسمى" للتحسين.
  • هزيمة البشر: بينما لا يزال البشر عموماً يجدون تحسينات أكثر تعقيداً (فاز البشر في 16% من حالات تحسين التعقيد مقابل 7% للذكاء الاصطناعي)، إلا أن الذكاء الاصطناعي تمكن من هزيمة أفضل الحلول البشرية في 7% من الحالات التي وجد فيها تحسيناً في التعقيد.

الحدود والمستقبل

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

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

غارق في أبحاث مجالك؟

تصلك نشرة يومية بأحدث الأبحاث المطابقة لكلماتك البحثية المفتاحية — مع ملخصات تقنية، بلغتك.

جرّب Digest →