مکمل طور پر شارڈ ڈیٹا متوازی
مکمل طور پر شارڈڈ ڈیٹا پیریلل (FSDP) ایک تقسیم شدہ تربیتی تکنیک ہے جو ماڈل کے پیرامیٹرز، گریڈیئنٹس، اور آپٹیمائزر اسٹیٹس کو بہت سے GPUs میں تقسیم کرتی ہے لہذا ہر ڈیوائس میں صرف ایک ٹکڑا ہوتا ہے۔
جائزہ
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 کی تعداد کے ساتھ تقریباً لکیری طور پر گر جاتا ہے، جس سے ٹیموں کو دسیوں یا سینکڑوں ارب پیرامیٹرز کے ساتھ ماڈلز کی تربیت دی جاتی ہے۔
تکنیکی بصیرت
FSDP میموری کی بچت کے لیے اضافی مواصلات کا کاروبار کرتا ہے۔ ہر پرت کے وزن کو استعمال سے پہلے آل گیدر کے ساتھ ڈیمانڈ پر دوبارہ تشکیل دیا جاتا ہے اور اس کے فوراً بعد رد کر دیا جاتا ہے، جب کہ گریڈیئنٹس کو جوڑ کر کم-سکیٹر کے ساتھ تقسیم کیا جاتا ہے۔ موجودہ پرت کے چلنے کے دوران، نیٹ ورک کی زیادہ تر تاخیر کو چھپاتے ہوئے، اگلی پرت کے پیرامیٹرز کو پہلے سے لے کر کمیونیکیشن کو کمپیوٹیشن کے ساتھ اوورلیپ کیا جا سکتا ہے۔ شارڈنگ گرینولریٹی (ریپنگ پالیسی) کو ٹیوننگ کرنے سے کمیونیکیشن اوور ہیڈ کے خلاف میموری فٹ پرنٹ کو متوازن کرتا ہے۔
اسٹریٹجک اثر
لاگت اور بجٹ
فن تعمیر کے فیصلے سالوں تک کارکردگی اور آپریٹنگ لاگت کو آگے بڑھاتے ہیں۔
واضح فیصلے
تکنیکی تعلیم ٹیموں کو صحیح اسٹیک منتخب کرنے میں مدد کرتی ہے، نہ صرف جدید ترین۔
کوالٹی کنٹرول
انجینئرنگ کے بہتر انتخاب پیداوار میں قابل اعتماد واقعات کو کم کرتے ہیں۔
مکمل طور پر مشترکہ ڈیٹا متوازی کا مستقبل
FSDP کھلے بڑے ماڈل کی تربیت کے لیے ڈیفالٹ بن رہا ہے، PyTorch میں FSDP2 کے ساتھ استعمال کی اہلیت اور فی پیرامیٹر شارڈنگ کو بہتر بنا رہا ہے۔ ٹریلین پیرامیٹر ماڈلز کے لیے ٹینسر اور پائپ لائن کے ہم آہنگی کے ساتھ سخت انضمام کی توقع کریں، مخلوط درستگی اور fp8 کے لیے بہتر تعاون، اور آپ کے لیے شارڈنگ باؤنڈریز کو منتخب کرنے والی ہوشیار خودکار ریپنگ۔ جیسے جیسے NVLink اور InfiniBand جیسے انٹر-GPU آپس میں جڑتے جاتے ہیں، شارڈنگ کی کمیونیکیشن لاگت سکڑتی رہتی ہے، جو اسے ہمیشہ بڑے پیمانے پر عملی بناتی ہے۔
حقیقی دنیا کا نفاذ
70-بلین پیرامیٹر لاما ماڈل کو 8 GPUs میں ٹھیک کرنا جو انفرادی طور پر پورا وزن نہیں رکھ سکتا۔
سیکڑوں ایکسلریٹروں میں AI لیبز میں آپٹیمائزر سٹیٹس (جو ایڈم کے ساتھ میموری پر حاوی ہیں) کو شارڈنگ کرکے زبان کے بڑے ماڈلز کو پہلے سے تربیت دینا۔
فلیگ شپ 80GB GPUs خریدے بغیر یونیورسٹی کے کلسٹر پر وژن ٹرانسفارمرز کو تربیت دینے کے لیے PyTorch کا FSDP ریپر استعمال کرنے والے محققین۔
FSDP کو مکسڈ پریسجن bfloat16 کے ساتھ ملا کر میموری کو تقریباً نصف کرنا اور ملٹی موڈل ماڈلز پر ٹریننگ تھرو پٹ کو تیز کرنا۔
خطرات اور گارڈریلز
ایک بینچ مارک کو بہتر بنانا نظام کی وسیع تر کمزوریوں کو چھپا سکتا ہے۔
بنیادی ڈھانچے اور دیکھ بھال کے اخراجات کو اکثر کم سمجھا جاتا ہے۔
سیکورٹی اور مشاہداتی فرق بڑھ سکتا ہے کیونکہ نظام زیادہ پیچیدہ ہو جاتا ہے۔
نفاذ کا روڈ میپ
نفاذ سے پہلے تاخیر، معیار اور لاگت کے اہداف کی وضاحت کریں۔
حقیقت پسندانہ بوجھ اور ڈیٹا کی شرائط کے تحت بینچ مارک۔
غلطیوں، بڑھے ہوئے، اور صارف کے اثرات کے لیے آلے کی نگرانی۔
اسکیلنگ سے پہلے رول بیک اور واقعہ کے ردعمل کے راستے تیار کریں۔
دریافت کرتے رہیں
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 Fully Sharded Data Parallel 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 Fully Sharded Data Parallel?
مکمل طور پر شارڈڈ ڈیٹا پیریلل (FSDP) ایک تقسیم شدہ تربیتی تکنیک ہے جو ماڈل کے پیرامیٹرز، گریڈیئنٹس، اور آپٹیمائزر اسٹیٹس کو بہت سے GPUs میں تقسیم کرتی ہے لہذا ہر ڈیوائس میں صرف ایک ٹکڑا ہوتا ہے۔ یہ ہارڈ ویئر پر بڑے ماڈلز کی تربیت ممکن بناتا ہے جو کبھی بھی ایک GPU کی میموری میں پورے ماڈل کو فٹ نہیں کر سکتے ہیں۔
جی پی یوز میں FSDP کیا شارڈ کرتا ہے جو معیاری ڈیٹا متوازی نہیں کرتا ہے؟
FSDP ماڈل کے پیرامیٹرز، گریڈیئنٹس، اور آپٹیمائزر سٹیٹس کو آلات پر شارڈ کرتا ہے، جبکہ معیاری ڈیٹا کی ہم آہنگی ہر GPU پر مکمل ماڈل کی نقل تیار کرتی ہے۔
FSDP کسی پرت کے مکمل وزن کو کمپیوٹنگ کرنے سے پہلے کس اجتماعی آپریشن کا استعمال کرتا ہے؟
ایک پرت کے چلنے سے پہلے، FSDP تمام شارڈز سے مکمل پیرامیٹرز کو عارضی طور پر جمع کرنے کے لیے ایک آل گیدر انجام دیتا ہے، پھر بعد میں انہیں آزاد کر دیتا ہے۔
FSDP ایک پرت کی گنتی کے فوراً بعد جمع کیے گئے پورے وزن کو کیوں خالی کر دیتا ہے؟
صرف ایک شارڈ کو مستقل طور پر پکڑنا اور عارضی طور پر پورا وزن اکٹھا کرنا وہی ہے جو میموری کے استعمال کو کم رکھتا ہے اور ماڈل کے ایک حصے کے تناسب سے۔
FSDP بڑی حد تک پہلے کی میموری کو بہتر بنانے کے طریقہ کار سے متاثر تھا؟
FSDP کی پیرامیٹرز، گریڈینٹ، اور آپٹیمائزر سٹیٹس کی شارڈنگ ڈیپ اسپیڈ لائبریری سے Microsoft کے زیرو میں متعارف کرائے گئے آئیڈیاز کی قریب سے پیروی کرتی ہے۔
FSDP نیٹ ورک کی زیادہ تر تاخیر کو وزن جمع کرنے سے کیسے چھپاتا ہے؟
FSDP اگلی پرت کے پیرامیٹرز کو پہلے سے تیار کرتا ہے جبکہ موجودہ پرت ابھی بھی کمپیوٹنگ کر رہی ہے، مفید کام کے ساتھ تمام جمع مواصلات کو اوور لیپ کر رہی ہے۔