تقنيات الاتصالات الموزعة لوحدة معالجة الرسومات: PCle، وNVLink، وNVSwitch

بعد دخول عصر النماذج الكبيرة، أصبح تطوير النماذج الكبيرة جوهر الذكاء الاصطناعي، لكن تدريب النماذج الكبيرة يعد في الواقع مهمة معقدة لأنه يتطلب كمية كبيرة من موارد وحدة معالجة الرسومات (GPU) ووقت تدريب طويل.

بالإضافة إلى ذلك، يحتوي مؤشر ترابط عامل وحدة معالجة الرسومات (GPU) على ذاكرة محدودة ويتجاوز حجم العديد من النماذج الكبيرة نطاق وحدة معالجة رسومات (GPU) واحدة. لذلك، من الضروري تنفيذ التدريب النموذجي عبر وحدات معالجة الرسومات المتعددة. تتضمن طريقة التدريب هذه الاتصالات الموزعة وNVLink.

عندما نتحدث عن الاتصالات الموزعة وNVLink، فنحن في مجال تقني رائع ومتطور. بعد ذلك، سنقدم بإيجاز مبادئ الاتصال الموزع وتطور NVLink، وهي التكنولوجيا التي تساعد على تحقيق اتصال موزع فعال.

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

التوازي الموزع

حاليًا، دخل التعلم العميق عصر النماذج الكبيرة، وهي النماذج الأساسية. النموذج الكبير، كما يوحي اسمه، يركز على "الكبير". ويشمل بشكل رئيسي الجوانب التالية:

  • حجم كبير للبيانات

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

  • مقياس المعلمة كبير

مع استمرار زيادة حجم معلمات النموذج، يمكن للنموذج التقاط العلاقات والأنماط المعقدة في البيانات بشكل أفضل، ومن المتوقع أن يتجاوز قيود الدقة في بنية النموذج الحالي.

  • متطلبات الطاقة الحاسوبية العالية 

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

لذلك، من أجل حل المشاكل المذكورة أعلاه، نحتاج إلى تقديم استراتيجية متوازية موزعة.

توازي البيانات

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

سير العمل الموازي للبيانات:

  • مزامنة المعلمة: قبل بدء التدريب، تقوم جميع وحدات العمل بمزامنة معلمات النموذج للتأكد من تطابق نسخ النموذج الموجودة على كل وحدة معالجة رسومات.
  • توزيع البيانات: يتم تقسيم بيانات التدريب إلى دفعات، ويتم تقسيم كل دفعة إلى مجموعات فرعية، وكل وحدة معالجة رسومات مسؤولة عن معالجة مجموعة فرعية واحدة من البيانات.
  • حساب التدرج المستقل: تقوم كل وحدة معالجة رسومات بشكل مستقل بالنشر للأمام والخلف على مجموعتها الفرعية من البيانات وتحسب التدرجات المقابلة.
  • تجميع التدرج: بعد اكتمال الحساب، يجب تجميع تدرجات جميع وحدات العمل. يتم تحقيق ذلك عادةً عبر الاتصال بالشبكة، على سبيل المثال باستخدام خوارزمية All-Reduce، والتي تسمح بحساب متوسط ​​التدرجات بكفاءة عبر وحدات معالجة الرسومات المختلفة.
  • تحديث المعلمات: بمجرد حساب متوسط ​​التدرجات، تستخدم كل وحدة معالجة رسومات هذا التدرج المتوسط ​​لتحديث معلمات نسختها من النموذج.
  • تكرار العملية: يتم تكرار هذه العملية على كل دفعة من البيانات حتى يتم تدريب النموذج على مجموعة البيانات بأكملها.

مزايا وتحديات توازي البيانات:

يمكن أن يسمح توازي البيانات لعملية التدريب بالتوسع أفقيًا إلى المزيد من وحدات معالجة الرسومات، وبالتالي تسريع التدريب. تكمن مزاياه في التنفيذ البسيط والقدرة على ضبط عدد وحدات العمل بمرونة للتكيف مع موارد الأجهزة المتاحة. حاليًا، توفر العديد من أطر التعلم العميق دعمًا مدمجًا.

ومع ذلك، مع زيادة عدد وحدات معالجة الرسومات المتوازية، يجب تخزين المزيد من نسخ المعلمات، مما يؤدي إلى زيادة حمل الذاكرة بشكل كبير. بالإضافة إلى ذلك، تتطلب خطوة التجميع المتدرج مزامنة كمية كبيرة من البيانات بين وحدات معالجة الرسومات، الأمر الذي قد يصبح عنق الزجاجة للنظام، خاصة عند زيادة عدد وحدات العمل.

تطبيق نظام التزامن غير المتزامن في توازي البيانات:

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

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

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

نموذج التوازي

يشير النموذج الموازي (MP) بشكل عام إلى تدريب نموذج كبير للتعلم العميق بطريقة موزعة عبر عقد حوسبة متعددة، حيث تكون كل عقدة مسؤولة عن جزء من النموذج. تُستخدم هذه الطريقة بشكل أساسي لحل الموقف الذي لا تستطيع فيه عقدة حوسبة واحدة استيعاب النموذج بأكمله. يمكن تقسيم التوازي النموذجي إلى عدة استراتيجيات، بما في ذلك على سبيل المثال لا الحصر، توازي خطوط الأنابيب (PP) وتوازي الموتر (TP).

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

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

ومع ذلك، قد تؤدي التطبيقات البسيطة المتوازية للنموذج إلى وقت انتظار كبير واستخدام غير فعال للموارد الحسابية، حيث تحتاج الطبقات ذات التبعيات التسلسلية إلى الانتظار حتى يكتمل حساب الطبقة السابقة.

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

في توازي خطوط الأنابيب، تعالج كل عقدة طبقة نموذجية مختلفة بشكل تسلسلي، وتتدفق الدُفعات الصغيرة بين العقد كما هو الحال في خط الأنابيب. يتم حساب متوسط ​​التدرجات على جميع الدُفعات الصغيرة ثم يتم استخدامها لتحديث معلمات النموذج.

يقوم توازي خطوط الأنابيب بتقسيم النموذج "عموديًا" إلى طبقات. يمكننا أيضًا تقسيم بعض العمليات ضمن طبقة "أفقيًا"، والتي غالبًا ما تسمى تدريب Tensor Parallel (TP) لزيادة تحسين الكفاءة.

في توازي الموتر، يتم تقسيم عمليات ضرب المصفوفة الكبيرة في النموذج إلى أجزاء أصغر يمكن تنفيذها بالتوازي على عقد حسابية متعددة. على سبيل المثال، في نموذج المحولات، يعد مضاعفة المصفوفات بمثابة عنق الزجاجة الحسابي الرئيسي. باستخدام توازي الموتر، يمكننا تقسيم مصفوفة الوزن إلى كتل أصغر، تتم معالجة كل منها بالتوازي على عقد مختلفة.

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

توزيع إطار الذكاء الاصطناعي

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

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

تجزئة الرسم البياني للتدريب على الذكاء الاصطناعي

تجزئة الرسم البياني للتدريب على الذكاء الاصطناعي

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

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

ما قدمناه أعلاه هو الاستراتيجيات والخوارزميات الموزعة على مستوى البرنامج. بعد ذلك، دعونا نلقي نظرة على كيفية تنفيذ الاتصال على الأجهزة.

أجهزة الاتصالات

يعد التواصل الموزع أمرًا بالغ الأهمية في تدريب الذكاء الاصطناعي، خاصة عند التعامل مع النماذج الكبيرة والكميات الهائلة من البيانات. يتضمن الاتصال الموزع نقل البيانات والتنسيق بين الأجهزة أو العقد المختلفة لتحقيق الحوسبة المتوازية ومزامنة معلمات النموذج، كما هو موضح في الشكل التالي.

هيكل خدمة GPU

هيكل خدمة GPU

عندما يتعلق الأمر بالاتصال داخل الجهاز، هناك العديد من الأجهزة المشتركة:

  • ذكريات مشتركه: يمكن للمعالجات أو الخيوط المتعددة الوصول إلى نفس الذاكرة الفعلية حتى تتمكن من التواصل من خلال قراءة البيانات وكتابتها في الذاكرة. الذاكرة المشتركة مناسبة للحوسبة المتوازية على نفس الجهاز.
  • PCIe (الربط السريع للمكونات الطرفية): يعد ناقل PCIe واجهة قياسية لتوصيل أجهزة الكمبيوتر، ويستخدم عادةً لتوصيل وحدات معالجة الرسومات أو بطاقات التسريع أو الأجهزة الخارجية الأخرى. من خلال ناقل PCIe، يمكن نقل البيانات بين أجهزة الحوسبة المختلفة لتحقيق الحوسبة الموزعة.
  • إن في لينك: NVLink عبارة عن تقنية ربط عالية السرعة تم تطويرها بواسطة NVIDIA والتي تتيح الاتصال المباشر بين وحدات معالجة الرسومات. يمكن أن يوفر NVLink نطاقًا تردديًا أعلى وزمن وصول أقل من PCIe، وهو مناسب للمهام التي تتطلب أداء اتصال أعلى.

فيما يتعلق بالاتصال من آلة إلى آلة، تشمل الأجهزة الشائعة ما يلي:

  • شبكة TCP / IP: بروتوكول TCP/IP هو أساس الاتصال عبر الإنترنت، والذي يسمح بنقل البيانات بين الأجهزة المختلفة عبر الشبكة. في الحوسبة الموزعة، يمكن استخدام شبكات TCP/IP للاتصالات ونقل البيانات بين الأجهزة.
  • شبكة RDMA (الوصول المباشر للذاكرة عن بعد): RDMA هي تقنية اتصالات شبكة عالية الأداء تسمح بنقل البيانات مباشرة من منطقة ذاكرة إلى أخرى دون الحاجة إلى استخدام وحدة المعالجة المركزية (CPU). غالبًا ما تُستخدم شبكات RDMA لبناء مجموعات حوسبة عالية الأداء لتوفير نقل بيانات بزمن وصول منخفض وإنتاجية عالية.

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

إن في لينك و إن في سويتش

إن في لينك و إن في سويتش

كما هو موضح في الشكل أعلاه، من خلال مكتبة NCCL، يمكننا استخدام NVLink أو NVSwitch لتوصيل وحدات معالجة الرسومات المختلفة ببعضها البعض. توفر NCCL واجهات برمجة التطبيقات الخارجية على مستوى الخوارزمية، والتي من خلالها يمكننا بسهولة إجراء عمليات الاتصال الجماعية عبر وحدات معالجة الرسومات المتعددة. تغطي واجهة برمجة التطبيقات الخاصة بـ NCCL عمليات الاتصال الجماعية الشائعة، مثل البث والتصغير والتصغير العالمي والمزامنة العالمية وما إلى ذلك، مما يوفر للمطورين أدوات حوسبة متوازية غنية وفعالة.

التواصل الجماعي

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

التواصل الجماعي

التواصل الجماعي

تعد عملية التجميع بمثابة عملية اتصال بدائية متعددة الأطراف مع عدة مرسلي بيانات ومستقبل بيانات واحد. يمكنه جمع البيانات من عقد متعددة إلى عقدة واحدة في المجموعة. عملها العكسي يتوافق مع مبعثر.

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

المبعثر هو توزيع واحد إلى متعدد للبيانات. يقوم بتقسيم البيانات الموجودة على بطاقة GPU إلى أجزاء وتوزيعها على جميع بطاقات GPU الأخرى.

AllReduce عبارة عن وسيلة اتصال بدائية متعددة الأطراف مع عدة مرسلي بيانات ومستقبلات بيانات متعددة. ينفذ نفس عملية التخفيض على جميع العقد في المجموعة ويمكنه إرسال نتائج عمليات تقليل البيانات على جميع العقد في المجموعة إلى جميع العقد. ببساطة، AllReduce عبارة عن عملية تقليل البيانات من متعدد إلى متعدد، مما يقلل البيانات الموجودة على جميع بطاقات GPU (مثل SUM) لكل بطاقة GPU في المجموعة.

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

تقوم عملية AllToAll بتوزيع بيانات كل عقدة على كافة العقد في المجموعة، كما تقوم كل عقدة أيضًا بجمع بيانات جميع العقد في المجموعة. AllToAll هو امتداد لـ AllGather. الفرق هو أنه في عملية AllGather، تكون البيانات التي تم جمعها من عقدة معينة بواسطة عقد مختلفة هي نفسها، بينما في AllToAll، تختلف البيانات التي تم جمعها من عقدة معينة بواسطة عقد مختلفة.

NVLink وNVSwitch هما تقنيتان ثوريتان قدمتهما NVIDIA وتعيدان تعريف الطريقة التي تعمل بها وحدات المعالجة المركزية ووحدات معالجة الرسومات، بالإضافة إلى وحدات معالجة الرسومات ووحدات معالجة الرسومات، معًا وتتواصل بكفاءة.

NVLink هو بروتوكول ناقل واتصال متقدم. يستخدم NVLink بنية من نقطة إلى نقطة ونقل تسلسلي لتوصيل وحدة المعالجة المركزية (CPU) ووحدة معالجة الرسومات (GPU). ويمكن استخدامه أيضًا لتوصيل وحدات معالجة الرسومات المتعددة (GPUs).

NVSwitch: تقنية ربط عالية السرعة. وباعتبارها شريحة NVLink مستقلة، فإنها توفر ما يصل إلى 18 واجهة NVLink، والتي يمكنها تحقيق نقل بيانات عالي السرعة بين وحدات معالجة الرسومات المتعددة.

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

تطوير NVLink

تطوير NVLink

كما هو موضح في الشكل أعلاه، مرت NVLink بأربعة أجيال من التطوير والتطور بدءًا من بنية Pascal وحتى بنية Hoppe. في مؤتمر GTC عام 2024، أصدرت NVIDIA بنية Blackwell، حيث تم تحديث NVLink مرة أخرى وتم إصدار الجيل الخامس من NVLink، مع عرض نطاق اتصال بيني يبلغ 1800 جيجابايت/ثانية.

مع كل تحديث لـ NVLink، يتم تحسين النطاق الترددي للاتصال البيني لكل وحدة معالجة رسومات بشكل مستمر. كما زاد عدد وحدات معالجة الرسومات التي يمكن ربطها بين NVLinks من 4 في الجيل الأول إلى 18 في الجيل الرابع. لم تقم بنية Blackwell الأحدث بزيادة الحد الأقصى لعدد وحدات معالجة الرسومات المترابطة.

تطوير NVLink2

تطوير NVLink

كما يتبين من الشكل أعلاه، فإن كل رابط NVLink في P100 يحتوي على 40 جيجابايت/ثانية فقط، بينما من الجيل الثاني V100 إلى H100، يحتوي كل رابط NVLink على 50 جيجابايت/ثانية. يتم زيادة عرض النطاق الترددي الإجمالي عن طريق زيادة عدد الروابط.

تطوير NVSwitch

لقد خضعت تقنية NVSwitch لثلاثة أجيال من التطور والتطور بدءًا من بنية Volta وحتى بنية Hopper. ظل عدد الشرائح الصغيرة المترابطة لكل وحدة معالجة رسوميات ثابتًا عند ثمانية في كل جيل، مما يعني أن البنية الأساسية للتوصيل البيني تظل مستقرة ومتسقة. مع ترقية بنية NVLink، حقق عرض النطاق الترددي بين وحدات معالجة الرسومات زيادة كبيرة، لأن NVSwitch هي وحدة الرقاقة التي تحملها NVLink على وجه التحديد، من 300 جيجابايت/ثانية في بنية Volta إلى 900 جيجابايت/ثانية في بنية Hopper.

بعد ذلك، دعونا نلقي نظرة على العلاقة بين NVLink وNVSwitch في الخادم.

تطوير NVSwitch

تطوير NVSwitch

كما هو موضح في الشكل أعلاه، لا يوجد سوى NVLink في P100، كما أن وحدات معالجة الرسومات مترابطة من خلال CubeMesh. في P100، تحتوي كل وحدة معالجة رسومات على 4 وصلات بينية، وكل 4 تشكل شبكة CubeMesh.

بينما في V100، يمكن ربط كل وحدة معالجة رسومات مع وحدة معالجة رسومات أخرى من خلال NVSwitch. في A100، تمت ترقية NVSwitch مرة أخرى، مما أدى إلى توفير الكثير من الروابط. يمكن ربط كل وحدة معالجة رسومات مع أي وحدة معالجة رسومات أخرى من خلال NVSwitch.

في H100، كان هناك طفرة تكنولوجية جديدة. توجد 8 بطاقات GPU H100 في جهاز واحد، ويوجد نطاق ترددي للتوصيل البيني ثنائي الاتجاه يبلغ 900 جيجابايت/ثانية بين أي بطاقتي H100. ومن الجدير بالذكر أنه في نظام DGX H100، أربعة NVSwitches تحجز 72 وصلة NVLink4 للاتصال بأنظمة DGX H100 الأخرى من خلال NVLink-Network Switch، مما يسهل تكوين نظام DGX H100 SuperPod. يبلغ إجمالي عرض النطاق الترددي ثنائي الاتجاه لـ 72 وصلة NVLink4 حوالي 3.6 تيرابايت/ثانية.

ملخص

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

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

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

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

اترك تعليق

انتقل إلى الأعلى