توازي البيانات
يعمل توازي البيانات على تدريب نموذج واحد بشكل أسرع عن طريق تكراره عبر العديد من وحدات معالجة الرسومات، حيث تقوم كل وحدة معالجة رسومات بمعالجة شريحة مختلفة من مجموعة البيانات.
نظرة عامة
It is the workhorse technique that lets teams scale to dozens or thousands of accelerators.
الغوص العميق
في توازي البيانات، تحتفظ كل وحدة معالجة رسومات بنسخة متطابقة من أوزان النموذج ولكنها تعالج مجموعة صغيرة مميزة من أمثلة التدريب. يحسب كل جهاز التمريرة الأمامية والخلفية بشكل مستقل، مما ينتج عنه مجموعته الخاصة من التدرجات. قبل تحديث الأوزان، يتم حساب متوسط التدرجات عبر جميع وحدات معالجة الرسومات باستخدام عملية اتصال شاملة، بحيث تظل كل نسخة متزامنة وتتصرف كما لو أنها تم تدريبها على دفعة واحدة كبيرة مجمعة. يؤدي هذا إلى مضاعفة الإنتاجية بشكل فعال: يمكن لـ 8 وحدات معالجة رسوميات مضغ ما يقرب من 8 أضعاف البيانات في كل خطوة. المشكلة هي أن كل وحدة معالجة رسومات يجب أن تناسب النموذج بأكمله، وتدرجاته، وحالة المُحسِّن في الذاكرة، لذا فإن التوازي البسيط للبيانات لا يساعد عندما يكون النموذج كبيرًا جدًا بالنسبة لجهاز واحد.
البصيرة الفنية
العملية الرئيسية هي تقليل الكل، والتي تجمع التدرجات عبر الأجهزة وتعيد توزيع النتيجة. يقوم كل تقليل الحلقة، الذي تستخدمه مكتبات مثل NCCL وHorovod، بتمرير أجزاء متدرجة حول حلقة منطقية بحيث يكون إجمالي الاتصال مستقلاً عن عدد وحدات معالجة الرسومات. يتداخل DistributedDataParallel الخاص بـ PyTorch مع هذا الاتصال مع التمرير الخلفي، مما يؤدي إلى إطلاق مزامنة التدرج للطبقات المبكرة بينما لا تزال الطبقات اللاحقة تقوم بالحوسبة، مما يخفي الكثير من زمن وصول الشبكة.
التأثير الاستراتيجي
التكلفة والميزانية
تؤدي قرارات الهندسة المعمارية إلى زيادة الأداء وتكلفة التشغيل لسنوات.
قرارات أوضح
يساعد التعليم الفني الفرق على اختيار المجموعة المناسبة، وليس فقط المجموعة الأحدث.
مراقبة الجودة
تعمل الخيارات الهندسية الأفضل على تقليل حوادث الموثوقية في الإنتاج.
مستقبل توازي البيانات
يتم دمج توازي البيانات النقية بشكل متزايد مع التجزئة والتوازي النموذجي في استراتيجيات "التوازي nD" الهجينة لنماذج تريليون معلمة. توقع ضغطًا متدرجًا أكثر ذكاءً، واتصالات غير متزامنة ومتداخلة، وتقليلًا شاملاً مدركًا للهيكل يستغل NVLink السريع داخل العقدة وInfiniBand الأبطأ عبر العقد. مع نمو المجموعات، يظل تقليل نسبة الاتصال إلى الحساب هو التحدي الهندسي المركزي لإبقاء الآلاف من وحدات معالجة الرسومات مشغولة.
التنفيذ في العالم الحقيقي
تدريب مصنف صور ResNet عبر 8 وحدات معالجة رسوميات في خادم واحد باستخدام PyTorch DistributedDataParallel، حيث تتعامل كل وحدة معالجة رسومات مع 32 مجموعة من 256 صورة.
توسيع نطاق التدريب المسبق لـ BERT عبر مئات من وحدات معالجة الرسومات باستخدام Horovod، باستخدام تقليل الحلقة بالكامل لمزامنة التدرجات في كل خطوة.
ضبط نموذج التوصية على مجموعة متعددة العقد حيث تقوم كل عقدة بمعالجة أجزاء مختلفة من تفاعل المستخدم.
استخدام استراتيجية MirroredStrategy الخاصة بـ TensorFlow لنشر التدريب على نموذج الرؤية عبر وحدات معالجة الرسومات المتعددة على محطة عمل واحدة مع الحد الأدنى من تغييرات التعليمات البرمجية.
المخاطر والدرابزين
يمكن أن يؤدي تحسين معيار واحد إلى إخفاء نقاط ضعف النظام الأوسع.
غالبًا ما يتم التقليل من تكاليف البنية التحتية والصيانة.
يمكن أن تنمو الفجوات الأمنية وقابلية المراقبة عندما تصبح الأنظمة أكثر تعقيدًا.
خارطة طريق التنفيذ
تحديد الكمون والجودة وأهداف التكلفة قبل التنفيذ.
المعيار في ظل ظروف التحميل والبيانات الواقعية.
مراقبة الأدوات للأخطاء والانجراف وتأثير المستخدم.
قم بإعداد مسارات التراجع والاستجابة للحوادث قبل القياس.
استمر في الاستكشاف
Free newsletter
Get the daily AI briefing
Three verified AI stories every weekday morning, written in plain English. Free forever, no ads.
One email each weekday. Unsubscribe in one click. We never sell or share your address.
Test yourself
Take the Data Parallelism quiz
Instant feedback on every answer, and a shareable certificate with a verifiable ID once you pass a course.
Support free AI education. AI Understanding is a 501(c)(3) nonprofit — no ads, no paywall, ever. Make a donation
الدليل التالي
حوكمة بيانات الذكاء الاصطناعي
الأسئلة المتداولة
What is Data Parallelism?
يعمل توازي البيانات على تدريب نموذج واحد بشكل أسرع عن طريق تكراره عبر العديد من وحدات معالجة الرسومات، حيث تقوم كل وحدة معالجة رسومات بمعالجة شريحة مختلفة من مجموعة البيانات. إنها تقنية العمود الفقري التي تتيح للفرق التوسع إلى عشرات أو آلاف المسرعات.
في موازاة البيانات القياسية، ما الذي تحمله كل وحدة معالجة رسومات؟
تحتفظ كل وحدة معالجة رسومات بنسخة طبق الأصل كاملة من النموذج وتعالج جزءًا مميزًا من مجموعة البيانات، وهو ما يجعلها موازية "للبيانات" بدلاً من توازى النموذج.
ما هي عملية الاتصال التي تحافظ على مزامنة النسخ المتماثلة للنموذج في كل خطوة؟
بعد كل تمريرة للخلف، يتم دمج التدرجات عبر الأجهزة عبر التصغير الشامل (عادةً ما يتم جمعها ثم حساب متوسطها) بحيث تطبق كل نسخة متماثلة نفس التحديث.
ما هو القيد الرئيسي لتوازي البيانات العادية؟
نظرًا لأن كل وحدة معالجة رسومات تحتوي على نسخة كاملة من كل شيء، فإن توازي البيانات لا يساعد شيئًا عندما يكون النموذج كبيرًا جدًا بحيث لا يمكن احتواؤه على جهاز واحد.
لماذا يعد تقليل الحلقة أمرًا جذابًا بالنسبة لأعداد وحدات معالجة الرسومات الكبيرة؟
يقوم كل تقليل الحلقة بتمرير قطع متدرجة حول حلقة منطقية، وبالتالي فإن إجمالي النطاق الترددي الذي ترسله كل وحدة معالجة رسومات يظل ثابتًا بغض النظر عن عدد وحدات معالجة الرسومات المشاركة.
كيف يخفي PyTorch DistributedDataParallel زمن انتقال الاتصال؟
يبدأ DDP في مزامنة التدرجات للطبقات السابقة بينما لا يزال يتم حساب الطبقات اللاحقة، مما يؤدي إلى تداخل اتصال الشبكة مع الحساب.