ڈیٹا متوازی
ڈیٹا متوازی ایک ماڈل کو بہت سے GPUs میں نقل کر کے تیزی سے تربیت دیتا ہے، ہر GPU ڈیٹا بیچ کے ایک مختلف ٹکڑے پر کارروائی کرتا ہے۔
جائزہ
It is the workhorse technique that lets teams scale to dozens or thousands of accelerators.
گہرا غوطہ
ڈیٹا متوازی میں، ہر GPU ماڈل کے وزن کی ایک جیسی کاپی رکھتا ہے لیکن تربیتی مثالوں کے ایک الگ چھوٹے بیچ پر کارروائی کرتا ہے۔ ہر آلہ ایک فارورڈ اور بیکورڈ پاس کو آزادانہ طور پر شمار کرتا ہے، اس کے اپنے گریڈینٹ کا سیٹ تیار کرتا ہے۔ وزن کو اپ ڈیٹ کرنے سے پہلے، تمام GPUs میں تمام کمیونیکیشن آپریشن کا استعمال کرتے ہوئے گریڈیئنٹس کا اوسط لیا جاتا ہے، لہذا ہر نقل مطابقت پذیر رہتی ہے اور اس طرح برتاؤ کرتی ہے جیسے اسے ایک بڑے مشترکہ بیچ پر تربیت دی گئی ہو۔ یہ مؤثر طریقے سے تھرو پٹ کو بڑھاتا ہے: 8 GPUs فی قدم ڈیٹا کو تقریباً 8x چبا سکتے ہیں۔ کیچ یہ ہے کہ ہر GPU کو پورے ماڈل، اس کے گریڈیئنٹس، اور آپٹیمائزر کی حالت کو میموری میں فٹ کرنا ضروری ہے، اس لیے جب ایک ماڈل ایک ڈیوائس کے لیے بہت بڑا ہو تو سادہ ڈیٹا کی ہم آہنگی مدد نہیں کرتی۔
تکنیکی بصیرت
کلیدی عمل تمام کم کرنا ہے، جو تمام آلات میں گریڈیئنٹس کو جمع کرتا ہے اور نتیجہ کو دوبارہ تقسیم کرتا ہے۔ Ring all-reduce، جو NCCL اور Horovod جیسی لائبریریوں کے ذریعے استعمال کیا جاتا ہے، ایک منطقی رنگ کے گرد گراڈینٹ ٹکڑوں سے گزرتا ہے لہذا کل کمیونیکیشن GPU شمار سے آزاد ہے۔ PyTorch's DistributedDataParallel اس مواصلات کو پسماندہ پاس کے ساتھ اوورلیپ کرتا ہے، ابتدائی پرتوں کے لیے گریڈینٹ سنک کو بند کر دیتا ہے جب کہ بعد کی پرتیں ابھی بھی کمپیوٹنگ کر رہی ہوتی ہیں، نیٹ ورک کی زیادہ تر تاخیر کو چھپاتی ہے۔
اسٹریٹجک اثر
لاگت اور بجٹ
فن تعمیر کے فیصلے سالوں تک کارکردگی اور آپریٹنگ لاگت کو آگے بڑھاتے ہیں۔
واضح فیصلے
تکنیکی تعلیم ٹیموں کو صحیح اسٹیک منتخب کرنے میں مدد کرتی ہے، نہ صرف جدید ترین۔
کوالٹی کنٹرول
انجینئرنگ کے بہتر انتخاب پیداوار میں قابل اعتماد واقعات کو کم کرتے ہیں۔
ڈیٹا متوازی کا مستقبل
ٹریلین پیرامیٹر ماڈلز کی ہائبرڈ 'nD متوازی' حکمت عملیوں میں خالص ڈیٹا کی ہم آہنگی کو تیزی سے شارڈنگ اور ماڈل متوازی کے ساتھ ملایا جا رہا ہے۔ ہوشیار گراڈینٹ کمپریشن، غیر مطابقت پذیر اور اوورلیپڈ کمیونیکیشن، اور ٹوپولوجی سے آگاہ تمام کمی کی توقع کریں جو نوڈ کے اندر تیز NVLink اور نوڈس میں سست InfiniBand کا استحصال کرتی ہے۔ جیسے جیسے کلسٹرز بڑھتے ہیں، ہزاروں GPUs کو مصروف رکھنے کے لیے کمیونیکیشن ٹو کمپیوٹیشن کے تناسب کو کم کرنا مرکزی انجینئرنگ کا چیلنج بنا ہوا ہے۔
حقیقی دنیا کا نفاذ
PyTorch DistributedDataParallel کا استعمال کرتے ہوئے ایک سرور میں 8 GPUs میں ResNet امیج کلاسیفائر کو تربیت دینا، ہر GPU 256-امیج بیچ میں سے 32 کو ہینڈل کرتا ہے۔
ہورووڈ کے ساتھ سیکڑوں GPUs میں BERT کی پیشگی تربیت کو اسکیل کرنا، ہر مرحلے میں گریڈیئنٹس کو سنکرونائز کرنے کے لیے رنگ آل ریڈو کا استعمال کرنا۔
ایک ملٹی نوڈ کلسٹر پر ایک سفارشی ماڈل کو ٹھیک کرنا جہاں ہر نوڈ صارف کے ساتھ تعامل کے مختلف شارڈ پر کارروائی کرتا ہے۔
کم سے کم کوڈ تبدیلیوں کے ساتھ ایک ہی ورک سٹیشن پر متعدد GPUs میں وژن ماڈل کی تربیت پھیلانے کے لیے TensorFlow کی MirroredStrategy کا استعمال۔
خطرات اور گارڈریلز
ایک بینچ مارک کو بہتر بنانا نظام کی وسیع تر کمزوریوں کو چھپا سکتا ہے۔
بنیادی ڈھانچے اور دیکھ بھال کے اخراجات کو اکثر کم سمجھا جاتا ہے۔
سیکورٹی اور مشاہداتی فرق بڑھ سکتا ہے کیونکہ نظام زیادہ پیچیدہ ہو جاتا ہے۔
نفاذ کا روڈ میپ
نفاذ سے پہلے تاخیر، معیار اور لاگت کے اہداف کی وضاحت کریں۔
حقیقت پسندانہ بوجھ اور ڈیٹا کی شرائط کے تحت بینچ مارک۔
غلطیوں، بڑھے ہوئے، اور صارف کے اثرات کے لیے آلے کی نگرانی۔
اسکیلنگ سے پہلے رول بیک اور واقعہ کے ردعمل کے راستے تیار کریں۔
دریافت کرتے رہیں
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
اگلا گائیڈ
AI ڈیٹا گورننس
اکثر پوچھے گئے سوالات
What is Data Parallelism?
ڈیٹا متوازی ایک ماڈل کو بہت سے GPUs میں نقل کر کے تیزی سے تربیت دیتا ہے، ہر GPU ڈیٹا بیچ کے ایک مختلف ٹکڑے پر کارروائی کرتا ہے۔ یہ ورک ہارس تکنیک ہے جو ٹیموں کو درجنوں یا ہزاروں ایکسلریٹر تک پیمانہ کرنے دیتی ہے۔
معیاری ڈیٹا متوازی میں، ہر GPU کیا رکھتا ہے؟
ہر GPU ماڈل کی مکمل نقل رکھتا ہے اور ڈیٹا بیچ کے ایک الگ حصے پر کارروائی کرتا ہے، یہی چیز اسے ماڈل کے متوازی کی بجائے 'ڈیٹا' متوازی بناتی ہے۔
کون سا مواصلاتی آپریشن ماڈل کی نقلوں کو ہر مرحلے میں مطابقت پذیر رکھتا ہے؟
ہر پسماندہ پاس کے بعد، گریڈیئنٹس کو آل-ریڈوس (عام طور پر خلاصہ پھر اوسط کیا جاتا ہے) کے ذریعے آلات پر جوڑ دیا جاتا ہے لہذا ہر نقل ایک ہی اپ ڈیٹ کا اطلاق کرتی ہے۔
سادہ ڈیٹا متوازی کی بنیادی حد کیا ہے؟
چونکہ ہر GPU میں ہر چیز کی مکمل کاپی ہوتی ہے، اس لیے ڈیٹا کی ہم آہنگی اس وقت مدد کرنے کے لیے کچھ نہیں کرتی جب ایک ماڈل ایک ڈیوائس پر فٹ ہونے کے لیے بہت بڑا ہو۔
بڑے GPU شماروں کے لیے رِنگ آل-ریڈوس کیوں پرکشش ہے؟
Ring all-reduce ایک منطقی رنگ کے گرد گراڈینٹ ٹکڑوں سے گزرتا ہے، لہذا ہر GPU کی طرف سے بھیجی جانے والی کل بینڈوتھ مستقل رہتی ہے اس سے قطع نظر کہ کتنے GPUs حصہ لیتے ہیں۔
PyTorch DistributedDataParallel مواصلات میں تاخیر کو کیسے چھپاتا ہے؟
ڈی ڈی پی نے ابتدائی پرتوں کے لیے گریڈیئنٹس کی مطابقت پذیری شروع کردی ہے جب کہ بعد کی پرتوں کی اب بھی گنتی کی جا رہی ہے، نیٹ ورک کمیونیکیشن کو کمپیوٹیشن کے ساتھ اوور لیپ کرنا۔