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

MLCC: A Congestion Control Technique to Accelerate ML Training

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

المؤلفون الأصليون: Anton A. Zabreyko, Sanjoli Narang, Sudarsanan Rajasekaran, Manya Ghobadi

نُشر 2026-08-17
📖 6 دقيقة قراءة🧠 قراءة متعمّقة

المؤلفون الأصليون: Anton A. Zabreyko, Sanjoli Narang, Sudarsanan Rajasekaran, Manya Ghobadi

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

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

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

المشكلة: الازدحام المروري الكبير للذكاء الاصطناعي

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

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

الحلول القديمة: لماذا لم تنجح تماماً؟

قبل MLCC، حاول الباحثون حلين رئيسيين:

  1. الضغط (Compression): محاولة تقليص حجم البيانات بحيث لا يلزم إرسال الكثير منها. هذا يساعد، لكنه لا يحل مشكلة التوقيت.
  2. المجدولون المركزيون (Centralized Schedulers): تخيل مديراً فائق الذكاء يراقب كل طاهٍ على حدة ويخبرهم بالضبط متى يتحركون. هذا يعمل جيداً من الناحية النظرية، ولكنه في الممارسة العملية بطيء ومعقد للغاية. إذا كان أحد الطهاة أبطأ قليلاً مما هو متوقع (ما يسمى بـ "المتلكئ" أو Straggler)، فإن الخطة بأكملها تنهار، ويضطر المدير لإعادة حساب كل شيء. إنه مثل محاولة قيادة أوركسترا حيث يستمر الموسيقيون في تغيير الإيقاع؛ فلا يستطيع المايسترو مواكبة ذلك.

حل MLCC: الرقصة "المنزلقة"

يتبع MLCC نهجاً مختلفاً. فبدلاً من وجود مدير مركزي، فإنه يمنح حركة المرور نفسها نوعاً من "الحس السليم". فهو يعدل القواعد القياسية التي تستخدمها أجهزة الكمبيوتر لتقرير سرعة إرسال البيانات.

إليك السر: MLCC يجعل الشبكة غير عادلة قليلاً، ولكن بطريقة ذكية.

تخيل سيارتين، السيارة (أ) والسيارة (ب)، تسيران على طريق ذي مسار واحد.

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

لماذا يساعد هذا؟ لأنه بمجرد انتهاء السيارة (أ) من نقل بياناتها، تعود إلى "الطهي" (الحوسبة) وتتوقف عن استخدام الطريق. أما السيارة (ب)، التي تم إبطاؤها، فتملك الآن الطريق بالكامل لتنهي لفتها. وبحلول الوقت الذي تنتهي فيه السيارة (ب)، تكون السيارة (أ) جاهزة لبدء لفتها التالية. لقد "تداخلت" رحلاتهما بشكل طبيعي؛ أحدهما يقود بينما الآخر يطهو.

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

كيف يعمل في الواقع

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

قاموا باختبار ذلك في إعداد واقعي مكون من 12 خادماً، كل منها يحتوي على وحدة معالجة رسومات NVIDIA A100 قوية. وقاموا بتشغيل نماذج ذكاء اصطناعي شهيرة مثل Llama2 و GPT-2 و BERT.

  • النتيجة: تعلمت المهام الإيقاع بسرعة. في غضون حوالي 30 دورة تدريبية (وهي مجرد جزء ضئيل جداً من الوقت الإجمالي للمهمة)، استقرت المهام في نمط متداخل سلس.
  • السرعة: انخفض متوسط الوقت لإكمال خطوة التدريب بشكل كبير. بالنسبة لأبطأ السيناريوهات (النسبة المئوية 99)، انخفض وقت التدريب بمقدار يصل إلى 2.7 مرة. وفي المتوسط، كان أسرع بمقدار 1.9 مرة.
  • أخطاء أقل: لأن حركة المرور كانت تتدفق بسلاسة، كان هناك عدد أقل بكثير من حزم البيانات المفقودة. في أحد الاختبارات، انخفض عدد الأخطاء بمقدار 29 مرة تقريباً.

ماذا عن المهام المختلفة؟

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

كما اختبروا ذلك في عمليات محاكاة ضخمة تضم 288 وحدة معالجة رسومات. وحتى عندما كانت الشبكة مزدحمة للغاية (تتجاوز السعة المطلوبة)، حافظ MLCC على تدفق حركة المرور، مما أدى إلى تحسين الإنتاجية بمقدار 1.35 مرة مقارنة بالطرق القياسية.

الخلاصة

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

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

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

جرّب Digest →