ٹیکنیکل گائیڈ

تدریجی جمع

گریڈینٹ جمع آپ کو وزن کو اپ ڈیٹ کرنے سے پہلے کئی چھوٹے چھوٹے بیچوں پر گریڈیئنٹس کا خلاصہ کرکے محدود GPU میموری پر بڑے بیچ سائز کی نقل کرنے دیتا ہے۔

اس گائیڈ کو سنیں۔اے آئی نے بیان کیا۔ · ~2 min

اس صفحہ پر2 منٹ پڑھیں
  1. جائزہ
  2. گہرا غوطہ
  3. حقیقی دنیا کا نفاذ
  4. تدریجی جمع کا مستقبل
  5. اسے عملی جامہ پہنانا
  6. دریافت کرتے رہیں
  7. اکثر پوچھے گئے سوالات

جائزہ

It is the standard workaround for training big models when memory is the bottleneck.

گہرا غوطہ

عام طور پر ایک تربیتی مرحلہ ایک بیچ پر کارروائی کرتا ہے، گریڈیئنٹس کی گنتی کرتا ہے، اور فوری طور پر پیرامیٹرز کو اپ ڈیٹ کرتا ہے۔ گراڈینٹ جمع کرنے کے ساتھ، آپ چھوٹے مائیکرو بیچوں پر کئی آگے اور پیچھے والے پاس چلاتے ہیں، ان کے گریڈینٹ کو پیرامیٹر بفرز میں ایک ساتھ شامل کرتے ہیں، اور N مائیکرو بیچز کے بعد صرف آپٹیمائزر سٹیپ (اور گراڈینٹ صفر) کو کال کرتے ہیں۔ مؤثر بیچ کا سائز مائیکرو بیچ کے سائز کے اوقات N بن جاتا ہے، حالانکہ چوٹی میموری میں صرف ایکٹیویشن کا ایک مائیکرو بیچ ہوتا ہے۔ یہ اہمیت رکھتا ہے کیونکہ بہت سی تربیتی ترکیبیں مستحکم اعدادوشمار کے لیے بڑے بیچوں کو فرض کرتی ہیں، اور اس لیے کہ بڑے ٹرانسفارمرز جیسے ماڈلز کسی ایک ڈیوائس پر مکمل ہدف والے بیچ کو فٹ نہیں کر سکتے۔ کیچ: بیچ نارملائزیشن کے اعدادوشمار فی مائیکرو بیچ کے حساب سے کیے جاتے ہیں، اس لیے لیئر نارمل یا گروپ نارمل جوڑی جمع ہونے کے ساتھ بہتر ہے، اور آپ کو سیکھنے کی مؤثر شرح کو درست رکھنے کے لیے نقصان کو درست طریقے سے پیمانہ کرنا چاہیے۔

حقیقی دنیا کا نفاذ

سیکڑوں کی ایک موثر کھیپ تک پہنچنے کے لیے 8 یا 16 مائیکرو بیچز سے زیادہ جمع کرکے ایک واحد صارف GPU پر ایک بڑے زبان کے ماڈل کو ٹھیک کرنا۔

ہائی ریزولوشن ویژن یا سیگمنٹیشن ماڈلز کی تربیت جہاں 2 کا بیچ بھی فٹ بیٹھتا ہے، لیکن نسخہ کے لیے 32 کے موثر بیچ کی ضرورت ہے۔

Hugging Face Trainer اور PyTorch Lightning ایک gradient_accumulation_steps کی ترتیب کو بے نقاب کرتا ہے جو محدود VRAM سیٹ اپ میں معمول کے مطابق استعمال ہوتا ہے۔

جمع کے ذریعے مؤثر بیچ سائز کو ملا کر چھوٹے ہارڈ ویئر پر کاغذ کے بڑے بیچ کے نتائج کو دوبارہ تیار کرنا۔

تدریجی جمع کا مستقبل

گریڈینٹ جمع ایک ڈیفالٹ لیور رہے گا کیونکہ ماڈل کے سائز سنگل ڈیوائس میموری کو پیچھے چھوڑ دیتے ہیں۔ یہ تیزی سے ڈیپ اسپیڈ اور ایف ایس ڈی پی جیسے فریم ورک میں مخلوط درستگی، ایکٹیویشن چیک پوائنٹنگ، زیرو شارڈنگ، اور پائپ لائن کے متوازی کے ساتھ یکجا ہوتا ہے۔ سخت آٹومیشن کی توقع کریں جہاں لائبریریاں میموری بجٹ میں خود کار طریقے سے جمع ہونے کے اقدامات کرتی ہیں، اور معمولی ہارڈ ویئر پر بڑے ماڈلز کو ٹھیک کرنے کے لیے مسلسل اہمیت رکھتی ہے، بشمول صارف GPUs جہاں یہ تربیت کو غیر مقفل کرتا ہے جو کہ دوسری صورت میں ناممکن ہوگا۔

اسے عملی جامہ پہنانا

یہ کیوں اہمیت رکھتا ہے۔

  • لاگت اور بجٹ. فن تعمیر کے فیصلے سالوں تک کارکردگی اور آپریٹنگ لاگت کو آگے بڑھاتے ہیں۔
  • واضح فیصلے. تکنیکی تعلیم ٹیموں کو صحیح اسٹیک منتخب کرنے میں مدد کرتی ہے، نہ صرف جدید ترین۔
  • کوالٹی کنٹرول. انجینئرنگ کے بہتر انتخاب پیداوار میں قابل اعتماد واقعات کو کم کرتے ہیں۔

پر نگاہ رکھیں

  • ایک بینچ مارک کو بہتر بنانا نظام کی وسیع تر کمزوریوں کو چھپا سکتا ہے۔
  • بنیادی ڈھانچے اور دیکھ بھال کے اخراجات کو اکثر کم سمجھا جاتا ہے۔
  • سیکورٹی اور مشاہداتی فرق بڑھ سکتا ہے کیونکہ نظام زیادہ پیچیدہ ہو جاتا ہے۔

اگلے اقدامات

  1. نفاذ سے پہلے تاخیر، معیار اور لاگت کے اہداف کی وضاحت کریں۔
  2. حقیقت پسندانہ بوجھ اور ڈیٹا کی شرائط کے تحت بینچ مارک۔
  3. غلطیوں، بڑھے ہوئے، اور صارف کے اثرات کے لیے آلے کی نگرانی۔
  4. اسکیلنگ سے پہلے رول بیک اور واقعہ کے ردعمل کے راستے تیار کریں۔

دریافت کرتے رہیں

مفت نیوز لیٹر

روزانہ AI بریفنگ حاصل کریں

ہر ہفتے کے دن صبح تین تصدیق شدہ AI کہانیاں، سادہ انگریزی میں لکھی گئیں۔ ہمیشہ کے لیے مفت، کوئی اشتہار نہیں۔

ہر ہفتے کے دن ایک ای میل۔ ایک کلک میں ان سبسکرائب کریں۔ ہم کبھی بھی آپ کا پتہ فروخت یا شیئر نہیں کرتے۔

اپنے آپ کو جانچیں۔

Take the Gradient Accumulation quiz

ہر جواب پر فوری فیڈبیک، اور کورس پاس کرنے کے بعد قابلِ تصدیق ID کے ساتھ شیئر کرنے کے قابل سرٹیفکیٹ۔

کوئز شروع کریں۔

مفت AI تعلیم کی حمایت کریں۔ AI Understanding ایک 501(c)(3) غیر منافع بخش ادارہ ہے — کوئی اشتہار نہیں، کوئی پے وال نہیں، کبھی نہیں۔ عطیہ کریں۔

اکثر پوچھے گئے سوالات

What is Gradient Accumulation?

گریڈینٹ جمع آپ کو وزن کو اپ ڈیٹ کرنے سے پہلے کئی چھوٹے چھوٹے بیچوں پر گریڈیئنٹس کا خلاصہ کرکے محدود GPU میموری پر بڑے بیچ سائز کی نقل کرنے دیتا ہے۔ بڑے ماڈلز کو تربیت دینے کے لیے یہ ایک معیاری حل ہے جب میموری رکاوٹ ہے۔

میلان جمع بنیادی طور پر آپ کو کیا کرنے دیتا ہے؟

اپ ڈیٹ کرنے سے پہلے کئی مائیکرو بیچوں پر گریڈیئنٹس کا خلاصہ کرکے، آپ ایک بڑے بیچ کو ایک ساتھ میموری میں رکھے بغیر نقل کرتے ہیں۔

With an accumulation factor N, when should optimizer.step() and zero_grad() occur?

Accumulate gradients across N micro-batches, call optimizer.step() once for the effective batch, then clear gradients before the next window; begin training with cleared buffers.

کونسی نارملائزیشن پرت میلان جمع کے ساتھ زیادہ صاف طور پر جوڑتی ہے؟

بیچ نارم فی مائیکرو بیچ کے اعدادوشمار کی گنتی کرتا ہے، اس لیے پرت یا گروپ نارمل چھوٹے مائیکرو بیچوں کے ساتھ مماثلت سے بچتا ہے۔

Why may four micro-batches with BatchNorm behave differently from one physical batch of the same total size?

Batch-dependent forward computations break exact equivalence.

سیکھتے رہیں

متعلقہ گائیڈز

اس موضوع کے لیے مزید گائیڈز چنے گئے ہیں۔

مفت AI سرٹیفکیٹ حاصل کریں۔ایک مختصر مفت کورس اور امتحان۔ کوئی قیمت نہیں، کوئی کارڈ نہیں۔ تقریباً 2.5 گھنٹے۔مفت شروع کریں →