يعد الحمل الزائد لاتصالات وحدة معالجة الرسومات بمثابة عنق الزجاجة القابل للقياس في أعباء عمل الذكاء الاصطناعي في الإنتاج. وفقا للبيانات التي استشهد بها مشروع mKernel، يمكن أن تستهلك الاتصالات 43.6% من التمريرات الأمامية و32% من وقت التدريب الشامل. عبر نماذج خليط الخبراء (MoE) الشائعة، يمكن أن يكون الاتصال بين الأجهزة مسؤولاً عن ذلك ما يصل إلى 47٪ من إجمالي وقت التنفيذ. أصدر باحثون من مشروع UCCL التابع لجامعة كاليفورنيا في بيركلي mKernel، وهي مكتبة من حبات CUDA المستمرة التي تدمج اتصالات NVLink داخل العقدة، وRDMA بين العقد، وتجري العمليات الحسابية في نواة واحدة.
المشكلة: الاتصالات التي يحركها المضيف
النموذج القياسي للاتصالات متعددة GPU هو يحركها المضيف: تقوم وحدة المعالجة المركزية بتشغيل مسار التحكم والاتصال بمكتبة مثل NCCL أو NVSHMEM. تصدر المكتبة العملية الجماعية — AllReduce، وAllGather، وما إلى ذلك — عبر وحدات معالجة الرسومات. يتم تشغيل الحوسبة والاتصالات على تدفقات CUDA منفصلة وتتداخل عند حدود kernel.
يحدد فريق البحث مشكلتين في هذا النهج:
(1) لا يتم قياس وحدات المعالجة المركزية (CPU) باستخدام حساب وحدة معالجة الرسومات. يشتمل حامل GB300 NVL72 على 72 وحدة معالجة رسوميات Blackwell Ultra و36 وحدة معالجة مركزية Grace، مما يوفر 720 PFLOP/s FP8/FP6، و1.44 EFLOP/s FP4 Tensor Core، و130 تيرابايت/ثانية من عرض النطاق الترددي NVLink الشامل داخل الحامل. عند تلك السرعات، يكون تزامن المضيف على نطاق ميكروثانية – أ cudaLaunchKernel استدعاء، والتحقق من “تم تنفيذ جميع عمليات الكتابة” من جانب وحدة المعالجة المركزية، وحدث بين الدفق – يظهر مباشرة كـ فقاعات الأنابيب.
(2) تتداخل الأنظمة التي يحركها المضيف مع الحوسبة والاتصالات عند حدود النواة التقريبية. لا يمكن إجراء تداخل دقيق على مستوى البلاط أو القطعة من الجانب المضيف.
البديل هو الاتصالات المعتمدة على GPU: تقوم وحدة معالجة الرسومات نفسها بتشغيل عمليات النقل، مع دمج الاتصال في نفس النواة مثل الحساب. تعمل معظم مكتبات النواة المدمجة الموجودة ضمن عقدة واحدة أو وحدة معالجة رسومات واحدة. يستهدف mKernel الحالة متعددة العقد.
ما يفعله mKernel
mKernel هي مكتبة حبات CUDA المستمرة. تقوم كل نواة بدمج اتصالات NVLink داخل العقدة وRDMA بين العقد والحوسبة الكثيفة في نواة واحدة.
Multi-GPU + multinode، في نواة واحدة: يعيش كل من NVLink داخل العقدة وRDMA بين العقدة داخل نفس النواة المستمرة.
تداخل دقيق داخل النواة: يتداخل الحوسبة والاتصالات عند دقة التجانب/القطعة، مما يغطي كلاً من اتصالات وحدة معالجة الرسومات داخل العقدة وبين العقد.
نواة ثابتة مع تخصص SM: عبارات الحث على اتخاذ إجراء تقوم بتعيين الأدوار ذاتيًا: compute, intra-comm, inter-send, inter-reduce. يمكن ضبط عدد الرسائل القصيرة المخصصة لكل دور لكل شكل.
الشبكات المعتمدة على وحدة معالجة الرسومات (GPU) مبنية على libibverbs: يستخدم mKernel عمليات كتابة RDMA التي تبدأ بواسطة GPU دون الاعتماد على NCCL أو NVSHMEM. تتم كتابة الواجهة الخلفية للاتصالات من البداية لتحقيق أقصى قدر من الأداء ودعم أجهزة الشبكات غير المتجانسة.
الحبات الخمس المنصهرة
| نواة | ما الصمامات | وصف |
|---|---|---|
| AllGather + GEMM | AllGather → GEMM | كل رتبة تحمل قطعة من A. بينما تقوم الرتب بجمع أجزاء الأقران عبر NVLink/RDMA، فإن GEMM المحلي يستهلك المربعات بمجرد وصولها. |
| جيمم + AllReduce | جيمم → أولريدوس | يحسب C = A @ B ويقلل النواتج الجزئية عبر جميع الرتب في عملية إطلاق واحدة. يتم دفع مربعات الإخراج إلى شجرة الاختزال فور إنتاجها. |
| إيفاد وزارة التعليم + GEMM | إرسال الكل إلى الكل → GEMM المجمعة | يقوم بتوجيه رموز MoE إلى صفوف الخبراء الخاصة بهم (NVLink داخل العقدة + الكل إلى الكل بين العقد) ويقوم بتشغيل GEMM المجمعة لكل خبير في نفس النواة. تتم معالجة الرموز بمجرد وصولها – لا يوجد مخزن مؤقت مرحلي ذهابًا وإيابًا. |
| انتباه الدائري | تبادل حلقة KV → FlashAttention | الاهتمام التسلسلي الموازي عبر الرتب. تقوم كل خطوة بتدوير قطعة KV حول الحلقة بينما يستهلك FlashAttention المحلي القطعة التي تم استلامها مسبقًا. يتم تشغيل الحساب وإرسال/استقبال الحلقة بشكل متزامن داخل نواة ثابتة واحدة. |
| جيمم + تقليل التشتت | جيمم → تقليل التشتت | يحسب C = A @ B وتقليل تشتت الإخراج. يتم تقليل كل بلاطة إخراج وإرسالها إلى رتبتها الخاصة بمجرد إنتاجها. |
إعداد التقييم
قام فريق البحث بتقييم mKernel على مجموعتين مكونتين من عقدتين × 8-H200 تختلفان فقط في النسيج البيني الخاص بهما:
| اختبار | العقد × وحدات معالجة الرسومات | داخل العقدة | النقل بين العقدة | نيك |
|---|---|---|---|---|
| AWS التعليم للجميع | 2×8 ح200 | نفلينك | AWS EFA / SRD | 16 × 200 جيجابايت/ثانية EFA لكل عقدة |
| كونيكت اكس-7 | 2×8 ح200 | نفلينك | إنفينيباند | 8 × 400 جيجابت/ثانية NVIDIA ConnectX-7 لكل عقدة |
تم اختبار mKernel مقابل NCCL، وTriton-distributed، وFlux، وMercury، وMagiAttention، وTransformer-Engine، وRing-flash-attention. ويشير الفريق إلى أن المزيد من القياس على نطاق أوسع لا يزال قيد التقدم.
الخلفيات والمتطلبات
يدعم mKernel واجهتين خلفيتين للشبكات:
| الخلفية | ماكرو | ينقل | حيث يتم تشغيله |
|---|---|---|---|
| CX7 | -DINTERNODE_BACKEND_IBVERBS |
libibverbs RC | ConnectX-7 / InfiniBand / RoCE |
| التعليم للجميع | -DINTERNODE_BACKEND_EFA |
أفعال libibverbs + efadv (SRD) | AWS p5/p5e (H200، EFA) |
تشترك كلتا الواجهتين الخلفيتين في نفس واجهة برمجة التطبيقات (API) من جانب المضيف ونفس نواة وحدة معالجة الرسومات (GPU). يختلف تنفيذ الوكيل/الجلسة فقط (session.h لCX7، session_efa.h للتعليم للجميع). المتطلبات: وحدات معالجة الرسومات NVIDIA Hopper (أهداف البناء الافتراضية sm_90a)، CUDA 12.9، بايثون مع PyTorch. تتطلب الواجهة الخلفية لـ CX7 رؤوس ومكتبات تطوير libibverbs. تتطلب الواجهة الخلفية لـ EFA تثبيت AWS EFA مع رؤوس libfabric وlibibverbs وefadv وEFA ضمن EFA_HOME=/opt/amazon/efa بشكل افتراضي.
الشرح المرئي لـ Marktechpost
الوجبات السريعة الرئيسية
- يقوم mKernel بدمج NVLink داخل العقدة وRDMA بين العقد والحوسبة في نواة CUDA ثابتة واحدة.
- تمثل تكاليف الاتصالات العامة ما يصل إلى 47% من وقت التنفيذ في نماذج وزارة التربية والتعليم وفقًا لبيانات الإنتاج المذكورة.
- تم تضمين خمس حبات: AllGather+GEMM، وGEMM+AllReduce، وMoE Dispatch+GEMM، وRing Attention، وGEMM+ReduceScatter.
- يتم تنفيذ RDMA الذي يتم تشغيله بواسطة GPU مباشرة عبر
libibverbs– لا توجد تبعية NCCL أو NVSHMEM. - يتطلب حاليًا وحدات معالجة الرسومات Hopper (
sm_90a) وشبكات ConnectX-7 أو AWS EFA؛ دعم بلاكويل موجود على خريطة الطريق.
تحقق من الريبو و التفاصيل الفنية. أيضا، لا تتردد في متابعتنا على تغريد ولا تنسى الانضمام إلينا 150 ألف+ مل من SubReddit والاشتراك في النشرة الإخبارية لدينا. انتظر! هل أنت على برقية؟ الآن يمكنك الانضمام إلينا على التليجرام أيضًا.
هل تحتاج إلى الشراكة معنا للترويج لصفحة GitHub Repo أو صفحة الوجه المعانقة أو إصدار المنتج أو الندوة عبر الويب وما إلى ذلك؟ تواصل معنا
اكتشاف المزيد من كحيل للتقنية | أخبار التقنية والذكاء الاصطناعي وشروحات الويب
اشترك للحصول على أحدث التدوينات المرسلة إلى بريدك الإلكتروني.
