Beyond FLOPs: Energy-Aware Knowledge Distillation for Sustainable LLMs on Code-Related Task
تُثبت هذه الورقة أن تقطير المعرفة الموجه بالطاقة عبر نماذج بديلة مباشرة للطاقة، بدلاً من مقاييس العمليات الحسابية العائمة (FLOPs) التقليدية، يقلل بشكل كبير من استهلاك الطاقة والذاكرة أثناء الاستدلال للنماذج اللغوية الكبيرة في مهام هندسة البرمجيات مع الحفاظ على الأداء.
في عالم البرمجيات الحديث، ظهر نوع جديد من الذكاء: النماذج اللغوية الكبيرة. هذه النماذج عبارة عن أنظمة حاسوبية ضخمة تم تدريبها على مكتبات هائلة من الأكواد البرمجية، وهي قادرة على فهم لغات البرمجة والمساعدة في كتابة البرمجيات وإصلاحها وشرحها. ورغم أن هذه الأدوات قوية للغاية، إلا أنها تأتي بثمن باهظ؛ إذ يتطلب تشغيلها مراكز بيانات ضخمة مليئة بالأجهزة المتخصصة التي تلتهم الكهرباء، مما يساهم بشكل كبير في استهلاك الطاقة والضغط البيئي. ولأن هذه الأنظمة ضخمة جداً، فغالباً لا يمكن تشغيلها على أجهزة الكمبيوتر المحمولة أو الشخصية التي يستخدمها معظم الناس يومياً. ولجعل هذه الأدوات أكثر استدامة وسهولة في الوصول إليها، لجأ الباحثون إلى تقنية تسمى "تقطير المعرفة". تخيل معلماً خبيراً ينقل معرفته إلى طالب أصغر سناً؛ في هذه النسخة الرقمية، يقوم نموذج ضخم ومعقد بتعليم نموذج أصغر وأبسط كيفية أداء المهام نفسها. والهدف هو الحفاظ على ذكاء النموذج الأصغر ليكون مفيداً، مع جعله صغيراً بما يكفي ليعمل بكفاءة على الأجهزة العادية.
وضع فريق من الباحثين في جامعة دلفت للتكنولوجيا هدفاً لاختبار مدى نجاح هذه العملية في مهام هندسة البرمجيات، وتحديداً بالنظر في كيفية قياس تكلفة الطاقة لهذه النماذج. لسنوات طويلة، اعتمدت الصناعة على مقياس قياسي يسمى "العمليات الحسابية ذات الفاصلة العائمة"، أو (FLOPs)، لتقدير مقدار الطاقة التي سيستخدمها النموذج. هذا الرقم يحصي العمليات الحسابية النظرية التي يجب أن يؤديها النموذج. ومع ذلك، اشتبه الباحثون في أن هذا الرقم قد يكون مضللاً، تماماً مثل عدّ الخطوات في رحلة دون مراعاة التضاريس أو الطقس. ولإيجاد الحقيقة، أجروا تجربة منضبطة باستخدام طريقة متطورة تبحث تلقائياً عن أفضل النماذج الصغيرة الممكنة. وقد اختبروا ذلك على نوعين متميزين من المشكلات: إيجاد الكود المكرر والتنبؤ بالثغرات الأمنية في البرمجيات.
بدأت الدراسة بطرح سؤال بسيط ولكنه حاسم: هل يتطابق العدد النظري للحسابات فعلياً مع الطاقة المستخدمة حقيقة؟ قام الباحثون بتشغيل النماذج على أجهزة كمبيوتر فعلية وقاسوا الكهرباء المستهلكة من قبل المعالج وبطاقة الرسوميات أثناء العمل. كانت النتائج مفاجئة وغير متسقة. فبالنسبة لمهمة إيجاد الكود المكرر، لم يكن لعدد الحسابات النظري أي علاقة تقريباً بالكهرباء المستخدمة فعلياً؛ حيث كان النموذج الذي يؤدي عمليات حسابية أقل يستهلك أحياناً طاقة أكثر من نموذج يؤدي عمليات أكثر بكماً. وفي المقابل، بالنسبة لمهمة التنبؤ بالثغرات الأمنية، أظهر عدد الحسابات علاقة باستهلاك الطاقة، ولكن حتى هناك، لم يكن دليلاً مثالياً. فقد استخدمت بعض النماذح ذات أعداد الحسابات العالية طاقة أقل بكثير من نماذج أخرى ذات أعداد أقل. أثبت هذا أن المقياس القياسي في الصناعة ليس وسيلة موثوقة للحكم على كفاءة الطاقة عبر مختلف مهام البرمجيات.
ولأن المقياس القديم كان معيباً، طور الفريق نهجاً جديداً. فبدلاً من التخمين بشأن استخدام الطاقة بناءً على أعداد الحسابات، بنوا نظاماً يتعلم من القياسات الحقيقية. لقد قاموا بتدريب نموذج مساعد للتنبؤ باستهلاك الطاقة بناءً على الإعدادات المحددة للنموذج "الطالب"، باستخدام بيانات فعلية تم جمعها من الأجهزة. وعندما استخدموا هذا النظام الجديد، الواعي بالطاقة، لتصميم النماذج الأصغر، تحسنت النتائج بشكل كبير. فبالنسبة لمهمة الكود المكرر، وجد النهج الجديد نماذج تستهلك طاقة أقل بنسبة 39 بالمائة مقارنة بتلك التي صُممت بالمنهج القديم، دون فقدان أي دقة. أما بالنسبة لمهمة التنبؤ الأمني، فكانت النتائج مماثلة، مما أظهر أن النهج الجديد يمكنه إيجاد حلول فعالة حتى عندما بدا المقياس القديم ناجحاً.
ثم دفع الباحثون بهذا المنهج إلى أبعد من ذلك، بتطبيقه على تحدٍ أكثر تعقيداً: تلخيص الكود. تتضمن هذه المهمة إنشاء وصف مفهوم للبشر لما يفعله جزء من الكود، وهو أمر أكثر صعوبة من مجرد التصنيف البسيط. استخدموا نموذجاً ضخماً يسمى (+CodeT5) كـ "معلم"، وحاولوا تقطيره إلى "طالب" أصغر. كانت النتائج مذهلة؛ فقد أنتج النهج الجديد، المركز على الطاقة، نماذج طالب أصغر بنسبة 86 بالمائة في حجم الذاكرة واستخدمت طاقة أقل بنسبة تصل إلى 90 بالمائة من النموذج المعلم الأصلي. كان المقابل هو انخفاض طفيف في الدقة، لكن الملخصات ظلت متماسكة ومفيدة. ووجد الباحثون أنه بالنسبة لمهام التوليد المعقدة هذه، فإن القاعدة القياسية المتمثلة في جعل النماذج أصغر ما يمكن لم تكن تعمل؛ إذ يجب أن تكون النماذج كبيرة بما يكفي لفهم الكود، لكن النهج الجديد وجد "النقطة المثالية" حيث تكون النماذج صغيرة بما يكفي لتكون فعالة.
يسلط هذا العمل الضوء على تحول حاسم في كيفية تفكيرنا في الذكاء الاصطناعي والاستدامة. توضح الدراسة أن الاعتماد على الأرقام النظرية لتقدير استخدام الطاقة يمكن أن يدفع المهندسين إلى اختيار نماذج ليست هي الأكثر كفاءة في الواقع. ومن خلال قياس استهلاك الطاقة الحقيقي واستخدام تلك البيانات لتوجيه تصميم النماذج الأصغر، من الممكن إنشاء أدوات برمجية قوية ومستدامة في آن واحد. يمكن لهذه النماذج الأصغر والأكثر كفاءة في استهلاك الطاقة أن تعمل في النهاية على الأجهزة الاستهلاكية، مما يجلب فوائد الذكاء الاصطناዊ المتقدم إلى الأجهزة المحلية دون التكلفة البيئية الهائلة للحوسبة السحابية. وتشير النتائج إلى أنه من أجل مستقبل أكثر خضرة للبرمجيات، يجب أن ننظر إلى ما وراء مجرد أعداد العمليات ونقيس البصمة الفعلية للطاقة للأدوات التي نبنيها.
ملخص تقني: ما وراء العمليات الحسابية (FLOPs): تقطير المعرفة الواعي بالطاقة لنماذج اللغات الكبيرة المستدامة في المهام المتعلقة بالأكواد
بيان المشكلة
حققت نماذج اللغات الكبيرة (LLMs) دقة عالية في مهام هندسة البرمجيات (SE) مثل كشف النسخ المتطابقة (clone detection)، والتنبؤ بالثغرات الأمنية، وتلخيص الأكواد. ومع ذلك، فإن حجمها الهائل ومتطلباتها الحسابية تثير مخاوف كبيرة تتعلق بالاستدامة، لا سيما فيما يتعلق باستهلاك الطاقة وعدم القدرة على نشر هذه النماذج على الأجهزة الاستهلاكية أو المنصات محدودة الموارد.
تعد طريقة استخدام العمليات الحسابية ذات الفاصلة العائمة (FLOPs) وسيلة شائعة لتقدير التكلفة الحسابية لنماذج اللغات الكبيرة في الأدبيات والصناعة. وتعتبر الـ FLOPs جذابة نظراً لبساطتها وطبيعتها المستقلة عن الأجهزة، حيث تعمل كوسيط لاستهلاك الطاقة. ومع ذلك، فإن صحة استخدام FLOPs كمقياس موثوق للطاقة محل نقاش. إذ تلتقط الـ FLOPs عادةً فقط العدد النظري للعمليات الرياضية، متجاهلةً عوامل وقت التشغيل التي تؤثر بشدة على استهلاك الطاقة، مثل أنماط الوصول إلى الذاكرة، وتكالي أعباء حركة البيانات، والتحسينات على مستوى الأجهزة (مثل وحدات معالجة الرسومات GPU أو وحدات معالجة التنسور TPU). علاوة على ذلك، تعتمد طرق تقطير المعرفة الحالية لهندسة البرمجيات، مثل Morph، على الـ FLOPs لتحسين كفاءة النموذج، مما قد يؤدي إلى توفير غير مثالي في الطاقة. بالإضافة إلى ذلك، اقتصرت هذه الطرق على مهام التصنيف الثنائي باستخدام بنيات قديمة (مثل BERT)، مما ترك فجوة في فهم مدى قابليتها للتطبيق على المهام التوليدية المعقدة والبنيات الأحدث (مثل +CodeT5).
المنهجية
يبحث هذا البحث في تداعيات تقطير المعرفة الواعي بالطاقة لهندسة البرمجيات من خلال معالجة ثلاثة أسئلة بحثية (RQs) عبر تجارب محكومة:
سؤال البحث الأول (RQ1): صلاحية الـ FLOPs كوسيط للطاقة. قام المؤلفون بتكرار تجارب Morph الأصلية باستخدام GraphCodeBERT لمهام كشف النسخ المتطابقة والتنبؤ بالثغرات الأمنية. وقد قاموا بتوليد "جبهة باريتو" (Pareto front) من النماذج الطلابية ذات مستويات متفاوتة من الـ FLOPs، وقاسوا تجريبياً استهلاك الطاقة الفعلي للمعالج (CPU) ومعالج الرسومات (GPU) أثناء الاستنتاج باستخدام أداة القياس EnergiBridge. كما تم إجراء تحليل إحصائي (ANOVA) لتحديد الارتباط بين الـ FLOPs واستهلاك الطاقة المقاس.
سؤال البحث الثاني (RQ2): كفاءة الطاقة لنموذج Morph مع التحسين المباشر للطاقة. قام المؤلفون بتعديل منهجية Morph لاستبدال الـ FLOPs باستهلاك الطاقة المباشر كهدف للتحسين. فبدلاً من تقليل الـ FLophs النظرية، استحدثوا نهج النموذج البديل (surrogate model):
قاموا بأخذ عينات من تكوينات المعلمات الفائقة (hyperparameters) باستخدام أخذ العينات بالتربيع اللاتيني (LHS).
قاموا بقياس استهلاك الطاقة الفعلي لهذه التكوينات.
قاموا بتدريب نماذج انحدار (Gradient Boosting) للتنبؤ باستهلاك الطاقة بناءً على المعلمات الفائقة.
بعد ذلك، قام خوارزمية التطور متعددة الأهداف (AGE-MOEA) بالتحسين من أجل الدقة، والمتانة، والحجم، واستهلاك الطاقة المتوقع. تم اختبار هذا النهج على نفس مهام التصنيف لمقارنة النماذج الناتجة مع تلك التي تم تحسينها باستخدام الـ FLOPs.
سؤال البحث الثالث (RQ3): القابلية للتطبيق على المهام التوليدية. قام المؤلفون بتوسيع منهجية Morph المعدلة لتشمل مهمة توليدية: تلخيص الأكواد، باستخدام نموذج +CodeT5 (بـ 220 مليون معلمة).
الاستنساخ الفرعي للأوزان (Weight Subcloning): لمعالجة بطء التقارب في النماذج الطلابية ذات التهيئة العشوائية في المهام التوليدية، طبقوا استنساخ الأوزان، عبر نسخ الأوزان الأكثر أهمية من النموذج المعلم إلى النموذج الطالب بناءً على قيم المدخلات والمخرجات.
التقطير عبر الإنترنت (Online Distillation): نظراً لعدم جدوى تخزين الـ (logits) لقواميس الكلمات الكبيرة، قاموا بالتقطير عبر الإنترنت، حيث يتم تشغيل الاستنتاج لكل من المعلم والطالب في وقت واحد على نفس وحدة معالجة الرسومات (GPU).
دالة الخسارة (Loss Function): تجمع دالة خسارة التقطير بين تباعد كولباك-ليبلر (KLD) بين مخرجات الطالب والمعلم وبين الإنتروبيا المتقاطعة (cross-entropy) مقابل البيانات الأرضية (ground truth).
الأهداف: استهدف التحسين تقليل حجم النموذج واستهلاك طاقة الاستنتاج (بالجول) مع تعظيم الفعالية (مقاسة بـ ROUGE-L).
المساهمات الرئيسية
الدراسة التجريبية للـ FLOPs مقابل الطاقة: يقدم البحث دليلاً تجريبياً على أن الـ FLOPs ليست وسيطاً ثابتاً لاستهلاك الطاقة عبر مختلف مهام هندسة البرمجيات.
توسيع Morph ليكون واعياً بالطاقة: يقترح المؤلفون وينفذون تعديلاً لإطار عمل Morph يستخدم قياسات الطاقة والنماذج البديلة كأهداف للتحسين، بدلاً من الاعتماد فقط على الـ FLOPs.
التطبيق على تلخيص الأكواد: نجحت الدراسة في تطبيق التقطير متعدد الأهداف على مهمة توليدية معقدة (تلخيص الأكواد) باستخدام +CodeT5، مما أظهر انخفاضات كبيرة في حجم النموذج واستهلاك الطاقة مع مقايضات مقبولة في الدقة.
النتائج
RQ1: الارتباط بين الـ FLOPs والطاقة
كشف النسخ المتطابقة: لم تظهر الـ FLOPs أي ارتباط إحصائي مع استهلاك الطاقة الفعلي (p=0.17). فقد أظهرت النماذج ذات الـ FLOPs المتشابهة استهلاكاً للطاقة متفاوتًا بشكل كبير، بل إن بعض النماذ ذات الـ FLOPs الأعلى استهلكت طاقة أقل.
التنبؤ بالثغرات الأمنية: أظهرت الـ FLOPs ارتباطاً ذا دلالة إحصائية مع الطاقة (p=6.48×10−7)، رغم أن العلاقة لم تكن خطية أو تناسبية تماماً.
الاستنتاج: الـ FLOPs ليست وسيطاً موثوقاً ومستقلاً عن المهام. وغالباً ما ترتبط المعلمات الفائقة الأخرى (مثل حجم الطبقة المخفية Hidden Size، ورؤوس الانتباه Attention Heads) بالطاقة بشكل أقوى من مقياس الـ FLOPs نفسه.
RQ2: استبدال الـ FLOPs بنموذج الطاقة البديل
كشف النسخ المتطابقة: أدى التحسين من أجل الطاقة (عبر النماذج البديلة) بدلاً من الـ FLOPs إلى انخفاض بنسبة 39% في متوسط طاقة الاستنتاج (من ~5,355 جول إلى ~3,604 جول) مع تأثير ذي دلالة إحصائية (A^12=0.925). ومن المثير للاهتمام أن هذه النماذج الموفرة للطاقة كانت تمتلك عدد عمليات (FLOPs) أعلى (زيادة بنسبة 21%)، مما يسلط الضوء على الانفصال بين المقياسين.
التنبؤ بالثغرات الأمنية: في هذه المهمة حيث ارتبطت الـ FLOPs بالطاقة، لم يؤدِ التحسين القائم على الطاقة إلى تحسينات أو تدهورات ذات دلالة إحصائية مقارنة بالتحسين القائم على الـ FLOPs.
الاستنتاج: النماذج البديلة للطاقة هي الأفضل عندما تفشل الـ FLOPs في عكس استهلاك الطاقة الفعلي، مما يردم الفجوة لإيجاد التكوينات الأكثر كفاءة دون التضحية بالدقة.
RQ3: التطبيق على المهام التوليدية
الضغط (Compression): قللت عملية التقطير حجم النموذج من 830 ميجابايت (المعلم) إلى 114 ميجابايت (أكثر الطلاب دقة)، أي انخفاض بنسبة 86%.
الطاقة: انخفضت طاقة الاستنتاج من 82,396 جول إلى 13,600 جول لأكثر الطلاب دقة (انخفاض بنسبة 83%) وإلى 8,059 جول لأكثر الطلاب كفاءة (انخفاض بنسبة 90%).
الدقة: انخفضت درجة ROUGE-L من 0.229 (المعلم) إلى 0.199 (أكثر الطلاب دقة، -13%) و0.194 (أكثر الطلاب كفاءة، -15%). وأكد الفحص اليدوي أن الملخصات ظلت متماسكة، رغم انخفاض الأداء في الأكواد ذات المصطلحات المتخصصة.
الاستنتاج: التقطير متعدد الأهداف فعال للمهام التوليدية، حيث يحقق مكاسب كفاءة كبيرة مع مقايضات طفيفة في الدقة.
الأهمية والادعاءات
يزعم البحث أن التقطير المعرفي الواعي بالطاقة والموجه بنماذج طاقة بديلة مباشرة (بدلاً من الـ FLOPs) يمكن أن يحسن بشكل كبير من استدامة وقابلية نشر نماذج اللغات الكبيرة في تطبيقات هندسة البرمجيات.
الموثوقية: تثبت الدراسة أن الاعتماد على الـ FLOPs قد يؤدي إلى خيارات طاقة غير مثالية، خاصة في مهام مثل كشف النسخ المتطابقة حيث تفصل عوامل وقت التشغيل (مثل الحشو Padding، وتحسينات التخلخل Sparsity) بين العمليات النظرية واستهلاك الطاقة الفعلي.
العملية: من خلال استخدام النماذج البديلة، يمكن للمطورين تحديد التكوينات التي تقلل استهلاك الطاقة مباشرة، مما يسمح بنشر نماذج كفؤة على الأجهزة الاستهلاكية (مثل بيئات التطوير IDE المحلية) دون الحاجة إلى استدعاءات مكلفة للطاقة من الخوادم السحابية البعيدة.
التعميم: يثبت التوسع إلى +CodeT5 وتلخيص الأكواد أن تقنيات التحسين هذه لا تقتصر على مهام التصنيف البسيطة، بل يمكن تكييفها لتدفقات العمل التوليدية المعقدة، بشرما تم استخدام استراتيجيات تقطير مناسبة (مثل استنساخ الأوزان والتقطير عبر الإنترنت).
يخلص المؤلفون إلى أنه بينما قد تكون الـ FLOPs مفيدة لحل مشكلات التحسين بسبب سهولة حسابها، يجب إعطاء الأولوية لقياسات الطاقة الفعلية عند اختيار النماذج الطلابية النهائية، خاصة للأنظمة ذات القيود الصارمة على الطاقة.