WEBioDD Logo
WEBioDD
📁 ذكاء اصطناعي وتعلّم الآلة••⏱️ 4 دقيقة قراءة

PyTorch 2.15 يعالج مشكلة وحدة معالجة الرسوميات المعطلة

W

شبكة WEBioDD

تغطية وتحرير تقني مؤتمت بالذكاء الاصطناعي من المصادر المرجعية

PyTorch 2.15 يعالج مشكلة وحدة معالجة الرسوميات المعطلة
صورة تعبيرية
إعلان ممول
إعلانات

يتضمن الإصدار الأخير 2.15 واجهة خلفية مُعاد كتابتها لمكتبة Nvidia للاتصالات الجماعية (NCCL)، مصممة لتحسين تشخيص الأعطال واستعادتها عند عمل وحدات معالجة الرسوميات معًا.

أبرز النقاط

  • يتضمن PyTorch 2.15 واجهة خلفية مُعاد كتابتها لمكتبة Nvidia للاتصالات الجماعية (NCCL).
  • تهدف هذه الواجهة إلى تحسين تشخيص الأعطال واستعادتها عند عمل وحدات معالجة الرسوميات معًا.
  • تفرض الواجهة الخلفية الجديدة لـ NCCL قاعدة صارمة: تحصل مجموعة عمليات واحدة على مُتصل واحد أثناء التهيئة.
  • تضمن التحديث 3,117 التزامًا من 583 مساهمًا.

سيسعد مسؤولو تعلم الآلة بمعرفة أن وحدة معالجة رسوميات واحدة معطلة قد لا تعني بعد الآن بدء مهمة تدريب كاملة من الصفر. يتضمن الإصدار الأخير 2.15 من PyTorch واجهة خلفية مُعاد كتابتها لمكتبة Nvidia للاتصالات الجماعية (NCCL)، مصممة لتحسين تشخيص الأعطال واستعادتها عند عمل وحدات معالجة الرسوميات معًا.

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

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

توفر لـ PyTorch مجموعة من بدائيات الاتصال بين وحدات معالجة الرسوميات، مما يسمح لوحدات معالجة الرسوميات بالاتصال داخل عقدة واحدة أو عبر مجموعات متعددة العقد، وهو أمر حيوي لتشغيل الاستدلال على الشبكات العصبية الكبيرة وللمهام الأخرى في بناء وصيانة النماذج اللغوية الكبيرة (LLMs).

ما الذي تغير في واجهة NCCL؟

كانت الواجهة الخلفية السابقة لـ PyTorch لـ NCCL، والتي تسمى ProcessGroupNCCL، قادرة على إنشاء عشرات من أجهزة الاتصال لكل مجموعة عمليات، مما يؤدي إلى حالات توقف متقطعة وأداء غير متوقع.

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

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

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

أشار رايس إلى أن "الواجهة الخلفية لـ NCCL المحسنة، والتي تسمى أيضًا ProcessGroupNCCL، ستمنح المطورين صفحة بيضاء، مما يسهل إضافة ميزات جديدة".

تعد ProcessGroupNCCL القديمة جزءًا من حزمة 2.15 كخيار للعودة إلى الإصدار السابق، ولكن إذا عملت الواجهة الخلفية الجديدة لـ NCCL كما هو متوقع، فسيتم إزالة الإصدار الأقدم في إصدار 2.16، المخطط له أوائل العام المقبل.

لماذا تحتاج أطر تعلم الآلة إلى مكتبة اتصالات متخصصة؟

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

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

أصدرت Nvidia NCCL في البداية في SC15 كمسرع للأغراض العامة، وقد تبناها فريق فيسبوك عندما قاموا ببناء PyTorch لأول مرة في عام 2016. كان هدفهم هو بناء نسخة قائمة على بايثون من مكتبة Torch ML القائمة على لغة Lua.

أشار ويل ستيوارت، المؤسس المشارك لمزود برمجيات الذكاء الاصطناعي Northflank، في منشور مدونة، إلى أن "كل مختبر تعلم آلة رئيسي (OpenAI، DeepMind، Meta، Nvidia) يستخدم PyTorch. إنه يدعم كل شيء من نماذج الانتشار والنماذج اللغوية الكبيرة إلى أنظمة التوصية والروبوتات. هذا الانتشار الواسع ليس عرضيًا".

تتضمن الميزات الجديدة الأخرى لـ PyTorch 2.15 واجهة برمجة تطبيقات نقل بايثون جديدة لحركة البيانات أحادية الاتجاه غير المتزامنة – وهي مثالية لمهام التدريب حيث تتم مزامنة الأوزان بين المدربين والمولدات – بالإضافة إلى تحسينات المعالجة المتوازية لأجهزة آبل ودعم وحدات معالجة الرسوميات Blackwell من الجيل التالي من Nvidia.

بشكل عام، تضمن التحديث 3,117 التزامًا من 583 مساهمًا.

🤖

إفصاح الشفافية ومصدر الخبر

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

زيارة المصدر الأصلي المرجعي
إعلان ممول
إعلانات

📰 مقالات وتقارير ذات صلة