ٹیکنیکل گائیڈ
مکمل طور پر شارڈ ڈیٹا متوازی
مکمل طور پر شارڈڈ ڈیٹا پیریلل (FSDP) ایک تقسیم شدہ تربیتی تکنیک ہے جو ماڈل کے پیرامیٹرز، گریڈیئنٹس، اور آپٹیمائزر اسٹیٹس کو بہت سے GPUs میں تقسیم کرتی ہے لہذا ہر ڈیوائس میں صرف ایک ٹکڑا ہوتا ہے۔
اس گائیڈ کو سنیں۔اے آئی نے بیان کیا۔ · ~2 min
اس صفحہ پر2 منٹ پڑھیں
جائزہ
It makes training huge models possible on hardware that could never fit the whole model in one GPU's memory.
گہرا غوطہ
روایتی ڈیٹا کی ہم آہنگی ہر GPU پر ماڈل کی مکمل کاپی رکھتی ہے، جو میموری اور کیپس ماڈل سائز کو ضائع کرتی ہے۔ FSDP، Meta کے PyTorch سے مقبول اور Microsoft کے ZeRO سے متاثر، اس کے بجائے آلات پر تین چیزوں کو شارڈ کرتا ہے: پیرامیٹرز، گریڈیئنٹس، اور آپٹیمائزر اسٹیٹس۔ فارورڈ پاس کے دوران، ہر GPU عارضی طور پر اس پرت کے لیے مکمل وزن اکٹھا کرتا ہے جسے وہ آل گیدر کے ذریعے کمپیوٹنگ کر رہا ہے، کمپیوٹیشن چلاتا ہے، پھر فوراً جمع شدہ کاپی کو آزاد کر دیتا ہے۔ پسماندہ پاس اسی طرح کام کرتا ہے، اس کے بعد ایک کم بکھرتا ہے جو گریڈینٹ سلائسز کو ان کے اپنے GPUs میں تقسیم کرتا ہے۔ چونکہ ہر آلہ ماڈل کا صرف ایک حصہ مستقل طور پر ذخیرہ کرتا ہے، اس لیے میموری کا استعمال GPUs کی تعداد کے ساتھ تقریباً لکیری طور پر گر جاتا ہے، جس سے ٹیموں کو دسیوں یا سینکڑوں ارب پیرامیٹرز کے ساتھ ماڈلز کی تربیت دی جاتی ہے۔
حقیقی دنیا کا نفاذ
70-بلین پیرامیٹر لاما ماڈل کو 8 GPUs میں ٹھیک کرنا جو انفرادی طور پر پورا وزن نہیں رکھ سکتا۔
سیکڑوں ایکسلریٹروں میں AI لیبز میں آپٹیمائزر سٹیٹس (جو ایڈم کے ساتھ میموری پر حاوی ہیں) کو شارڈنگ کرکے زبان کے بڑے ماڈلز کو پہلے سے تربیت دینا۔
فلیگ شپ 80GB GPUs خریدے بغیر یونیورسٹی کے کلسٹر پر وژن ٹرانسفارمرز کو تربیت دینے کے لیے PyTorch کا FSDP ریپر استعمال کرنے والے محققین۔
FSDP کو مکسڈ پریسجن bfloat16 کے ساتھ ملا کر میموری کو تقریباً نصف کرنا اور ملٹی موڈل ماڈلز پر ٹریننگ تھرو پٹ کو تیز کرنا۔
مکمل طور پر مشترکہ ڈیٹا متوازی کا مستقبل
FSDP کھلے بڑے ماڈل کی تربیت کے لیے ڈیفالٹ بن رہا ہے، PyTorch میں FSDP2 کے ساتھ استعمال کی اہلیت اور فی پیرامیٹر شارڈنگ کو بہتر بنا رہا ہے۔ ٹریلین پیرامیٹر ماڈلز کے لیے ٹینسر اور پائپ لائن کے ہم آہنگی کے ساتھ سخت انضمام کی توقع کریں، مخلوط درستگی اور fp8 کے لیے بہتر تعاون، اور آپ کے لیے شارڈنگ باؤنڈریز کو منتخب کرنے والی ہوشیار خودکار ریپنگ۔ جیسے جیسے NVLink اور InfiniBand جیسے انٹر-GPU آپس میں جڑتے جاتے ہیں، شارڈنگ کی کمیونیکیشن لاگت سکڑتی رہتی ہے، جو اسے ہمیشہ بڑے پیمانے پر عملی بناتی ہے۔
اسے عملی جامہ پہنانا
یہ کیوں اہمیت رکھتا ہے۔
- لاگت اور بجٹ. فن تعمیر کے فیصلے سالوں تک کارکردگی اور آپریٹنگ لاگت کو آگے بڑھاتے ہیں۔
- واضح فیصلے. تکنیکی تعلیم ٹیموں کو صحیح اسٹیک منتخب کرنے میں مدد کرتی ہے، نہ صرف جدید ترین۔
- کوالٹی کنٹرول. انجینئرنگ کے بہتر انتخاب پیداوار میں قابل اعتماد واقعات کو کم کرتے ہیں۔
پر نگاہ رکھیں
- ایک بینچ مارک کو بہتر بنانا نظام کی وسیع تر کمزوریوں کو چھپا سکتا ہے۔
- بنیادی ڈھانچے اور دیکھ بھال کے اخراجات کو اکثر کم سمجھا جاتا ہے۔
- سیکورٹی اور مشاہداتی فرق بڑھ سکتا ہے کیونکہ نظام زیادہ پیچیدہ ہو جاتا ہے۔
اگلے اقدامات
- نفاذ سے پہلے تاخیر، معیار اور لاگت کے اہداف کی وضاحت کریں۔
- حقیقت پسندانہ بوجھ اور ڈیٹا کی شرائط کے تحت بینچ مارک۔
- غلطیوں، بڑھے ہوئے، اور صارف کے اثرات کے لیے آلے کی نگرانی۔
- اسکیلنگ سے پہلے رول بیک اور واقعہ کے ردعمل کے راستے تیار کریں۔
دریافت کرتے رہیں
مفت نیوز لیٹر
روزانہ AI بریفنگ حاصل کریں
ہر ہفتے کے دن صبح تین تصدیق شدہ AI کہانیاں، سادہ انگریزی میں لکھی گئیں۔ ہمیشہ کے لیے مفت، کوئی اشتہار نہیں۔
ہر ہفتے کے دن ایک ای میل۔ ایک کلک میں ان سبسکرائب کریں۔ ہم کبھی بھی آپ کا پتہ فروخت یا شیئر نہیں کرتے۔
اپنے آپ کو جانچیں۔
Take the Fully Sharded Data Parallel quiz
ہر جواب پر فوری فیڈبیک، اور کورس پاس کرنے کے بعد قابلِ تصدیق ID کے ساتھ شیئر کرنے کے قابل سرٹیفکیٹ۔
مفت AI تعلیم کی حمایت کریں۔ AI Understanding ایک 501(c)(3) غیر منافع بخش ادارہ ہے — کوئی اشتہار نہیں، کوئی پے وال نہیں، کبھی نہیں۔ عطیہ کریں۔
اکثر پوچھے گئے سوالات
What is Fully Sharded Data Parallel?
مکمل طور پر شارڈڈ ڈیٹا پیریلل (FSDP) ایک تقسیم شدہ تربیتی تکنیک ہے جو ماڈل کے پیرامیٹرز، گریڈیئنٹس، اور آپٹیمائزر اسٹیٹس کو بہت سے GPUs میں تقسیم کرتی ہے لہذا ہر ڈیوائس میں صرف ایک ٹکڑا ہوتا ہے۔ یہ ہارڈ ویئر پر بڑے ماڈلز کی تربیت ممکن بناتا ہے جو کبھی بھی ایک GPU کی میموری میں پورے ماڈل کو فٹ نہیں کر سکتے ہیں۔
جی پی یوز میں FSDP کیا شارڈ کرتا ہے جو معیاری ڈیٹا متوازی نہیں کرتا ہے؟
FSDP ماڈل کے پیرامیٹرز، گریڈیئنٹس، اور آپٹیمائزر سٹیٹس کو آلات پر شارڈ کرتا ہے، جبکہ معیاری ڈیٹا کی ہم آہنگی ہر GPU پر مکمل ماڈل کی نقل تیار کرتی ہے۔
FSDP کسی پرت کے مکمل وزن کو کمپیوٹنگ کرنے سے پہلے کس اجتماعی آپریشن کا استعمال کرتا ہے؟
ایک پرت کے چلنے سے پہلے، FSDP تمام شارڈز سے مکمل پیرامیٹرز کو عارضی طور پر جمع کرنے کے لیے ایک آل گیدر انجام دیتا ہے، پھر بعد میں انہیں آزاد کر دیتا ہے۔
FSDP ایک پرت کی گنتی کے فوراً بعد جمع کیے گئے پورے وزن کو کیوں خالی کر دیتا ہے؟
صرف ایک شارڈ کو مستقل طور پر پکڑنا اور عارضی طور پر پورا وزن اکٹھا کرنا وہی ہے جو میموری کے استعمال کو کم رکھتا ہے اور ماڈل کے ایک حصے کے تناسب سے۔
FSDP بڑی حد تک پہلے کی میموری کو بہتر بنانے کے طریقہ کار سے متاثر تھا؟
FSDP کی پیرامیٹرز، گریڈینٹ، اور آپٹیمائزر سٹیٹس کی شارڈنگ ڈیپ اسپیڈ لائبریری سے Microsoft کے زیرو میں متعارف کرائے گئے آئیڈیاز کی قریب سے پیروی کرتی ہے۔
FSDP نیٹ ورک کی زیادہ تر تاخیر کو وزن جمع کرنے سے کیسے چھپاتا ہے؟
FSDP اگلی پرت کے پیرامیٹرز کو پہلے سے تیار کرتا ہے جبکہ موجودہ پرت ابھی بھی کمپیوٹنگ کر رہی ہے، مفید کام کے ساتھ تمام جمع مواصلات کو اوور لیپ کر رہی ہے۔
سیکھتے رہیں
متعلقہ گائیڈز
اس موضوع کے لیے مزید گائیڈز چنے گئے ہیں۔