WEBioDD Logo
WEBioDD
📁 تطوير البرمجيات ومصادر مفتوحة••⏱️ 4 دقيقة قراءة

PyTorch 2.15 يتصدى لمشكلة 'وحدة معالجة الرسوميات المعيبة'

W

شبكة WEBioDD

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

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

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

أبرز النقاط

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

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

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

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

لماذا كانت واجهة NCCL القديمة فوضوية للغاية؟

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

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

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

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

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

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

ما هي أصول Nvidia؟

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

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

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

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

ما هو الدعم الإضافي لأجهزة Apple ووحدات معالجة الرسوميات القادمة من Nvidia؟

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

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

جرّب الأداة: منسق ومتحقق JSON

🤖

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

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

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

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