ایکٹیویشن ری کمپیوٹیشن ٹریڈ آفس
ایکٹیویشن ری کمپیوٹیشن (گریڈینٹ یا ایکٹیویشن چیک پوائنٹنگ) فارورڈ پاس میں انٹرمیڈیٹ ایکٹیویشنز کو رد کرکے اور بیک ورڈ پاس کے دوران ان کی دوبارہ گنتی کرکے تربیت کے دوران GPU میموری کو بچاتا ہے۔
جائزہ
It trades extra compute for the ability to train larger models or longer sequences on the same hardware.
گہرا غوطہ
بیک پروپیگیشن کو گریڈینٹ کی گنتی کرنے کے لیے فارورڈ پاس ایکٹیویشن کی ضرورت ہوتی ہے، اس لیے پہلے سے طے شدہ طور پر ہر پرت کے آؤٹ پٹس کو محفوظ کیا جاتا ہے - ایک بہت بڑی میموری لاگت جو ماڈل سائز، بیچ سائز، اور ترتیب کی لمبائی کے ساتھ بڑھتی ہے۔ ایکٹیویشن کی دوبارہ گنتی صرف چند 'چیک پوائنٹ' ٹینسر رکھتی ہے (اکثر صرف پرت کی حدود) اور باقی کو پھینک دیتی ہے۔ پسماندہ پاس کے دوران، یہ چیک پوائنٹس کے درمیان فارورڈ کمپیوٹیشن کو دوبارہ چلاتا ہے تاکہ ڈیمانڈ پر ضائع شدہ ایکٹیویشنز کو دوبارہ تخلیق کیا جا سکے۔ کلاسک نتیجہ یہ ہے کہ چیک پوائنٹس کے ساتھ ہر sqrt(N) پرتیں رکھی جاتی ہیں، میموری تقریباً O(sqrt(N)) تک گر جاتی ہے جبکہ تقریباً ایک اضافی فارورڈ پاس (~33% زیادہ کمپیوٹ) کا اضافہ ہوتا ہے۔ سلیکٹیو ویریئنٹس صرف سستے لیکن میموری والے ہیوی آپس (جیسے توجہ یا ڈراپ آؤٹ) کی دوبارہ گنتی کرتے ہیں جبکہ مہنگے کو کیش کرتے ہوئے، زیادہ تر میموری کی بچت بہت کم دوبارہ گنتی والے اوور ہیڈ کے لیے حاصل کرتے ہیں۔
تکنیکی بصیرت
بنیادی تجارت میموری بمقابلہ FLOPs ہے۔ مکمل دوبارہ گنتی فی قدم ایک اضافی فارورڈ پاس کا اضافہ کرتی ہے (~ 30-40% آہستہ) لیکن شدت کے حکم سے ایکٹیویشن میموری کو کاٹ سکتی ہے۔ سمارٹ اقدام سلیکٹیو چیک پوائنٹنگ ہے: ایسے آپریشنز کی نشاندہی کریں جو میموری کے لحاظ سے بڑے لیکن کمپیوٹ کے لحاظ سے سستے ہیں (سافٹ میکس، لیئر نارم، جی ایل یو، توجہ کے اسکور) اور صرف ان کی دوبارہ گنتی کریں، جبکہ مہنگے جی ای ایم ایم کے نتائج کو کیشڈ رکھتے ہوئے — ضائع شدہ کمپیوٹ کو کم سے کم کریں۔
اسٹریٹجک اثر
لاگت اور بجٹ
فن تعمیر کے فیصلے سالوں تک کارکردگی اور آپریٹنگ لاگت کو آگے بڑھاتے ہیں۔
واضح فیصلے
تکنیکی تعلیم ٹیموں کو صحیح اسٹیک منتخب کرنے میں مدد کرتی ہے، نہ صرف جدید ترین۔
کوالٹی کنٹرول
انجینئرنگ کے بہتر انتخاب پیداوار میں قابل اعتماد واقعات کو کم کرتے ہیں۔
ایکٹیویشن ری کمپیوٹیشن ٹریڈ آفس کا مستقبل
دوبارہ گنتی تیزی سے خودکار اور منتخب ہو رہی ہے۔ فریم ورک اب ہر ایک کی میموری اور FLOP لاگت کو زیادہ سے زیادہ چیک پوائنٹس کا انتخاب کرنے کے لیے پروفائل کرتے ہیں، اور CPU/NVMe پر ایکٹیویشن آف لوڈنگ اور متوازی حکمت عملی کے ساتھ دوبارہ گنتی کو جوڑتے ہیں۔ جیسا کہ سیاق و سباق کی لمبائی اور ماڈل کے سائز میں اضافہ ہوتا رہتا ہے، کمپائلر سے چلنے والی پالیسیوں کی توقع کریں (PyTorch، JAX/XLA میں) جو خود بخود فی-آپ دوبارہ گنتی کے فیصلوں کا انتخاب کرتی ہیں، نیز مواصلات کے ساتھ دوبارہ گنتی کا سخت اوورلیپ تاکہ اضافی FLOPs جزوی طور پر پوشیدہ ہوں۔
حقیقی دنیا کا نفاذ
ایک بڑے ٹرانسفارمر کو تربیت دینا جو دوسری صورت میں ہر ایک پرت کے بلاک کو چیک کر کے فٹ نہیں کرے گا۔
ٹرانسفارمر بلاکس کو لپیٹنے اور ایکٹیویشن میموری کو کاٹنے کے لیے PyTorch کے torch.utils.checkpoint کا استعمال
کم سے کم سست روی کے ساتھ میموری کو بچانے کے لیے Megatron-LM میں توجہ/softmax کی منتخب دوبارہ گنتی
ایک مقررہ GPU بجٹ پر ان کو اسٹور کرنے کے بجائے ایکٹیویشنز کو دوبارہ کمپیوٹنگ کرکے طویل ترتیب کی لمبائی کو فعال کرنا
خطرات اور گارڈریلز
ایک بینچ مارک کو بہتر بنانا نظام کی وسیع تر کمزوریوں کو چھپا سکتا ہے۔
بنیادی ڈھانچے اور دیکھ بھال کے اخراجات کو اکثر کم سمجھا جاتا ہے۔
سیکورٹی اور مشاہداتی فرق بڑھ سکتا ہے کیونکہ نظام زیادہ پیچیدہ ہو جاتا ہے۔
نفاذ کا روڈ میپ
نفاذ سے پہلے تاخیر، معیار اور لاگت کے اہداف کی وضاحت کریں۔
حقیقت پسندانہ بوجھ اور ڈیٹا کی شرائط کے تحت بینچ مارک۔
غلطیوں، بڑھے ہوئے، اور صارف کے اثرات کے لیے آلے کی نگرانی۔
اسکیلنگ سے پہلے رول بیک اور واقعہ کے ردعمل کے راستے تیار کریں۔
دریافت کرتے رہیں
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 Activation Recomputation Tradeoffs 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 Activation Recomputation Tradeoffs?
ایکٹیویشن ری کمپیوٹیشن (گریڈینٹ یا ایکٹیویشن چیک پوائنٹنگ) فارورڈ پاس میں انٹرمیڈیٹ ایکٹیویشنز کو رد کرکے اور بیک ورڈ پاس کے دوران ان کی دوبارہ گنتی کرکے تربیت کے دوران GPU میموری کو بچاتا ہے۔ یہ ایک ہی ہارڈ ویئر پر بڑے ماڈلز یا لمبی ترتیبوں کو تربیت دینے کی صلاحیت کے لیے اضافی کمپیوٹ کا کاروبار کرتا ہے۔
یادداشت کو بچانے کے لیے ایکٹیویشن ری کمپیوٹیشن کیا تجارت کرتا ہے؟
دوبارہ گنتی ذخیرہ شدہ ایکٹیویشنز کو رد کر دیتی ہے اور انہیں پسماندہ پاس میں دوبارہ تخلیق کرتی ہے، میموری کے استعمال کو کم کرنے کے لیے اضافی کمپیوٹ خرچ کرتی ہے۔
فارورڈ پاس ایکٹیویشنز کو عام طور پر کیوں ذخیرہ کیا جاتا ہے؟
پسماندہ پاس گریڈیئنٹس کی گنتی کرنے کے لیے فارورڈ ایکٹیویشنز کا استعمال کرتا ہے، اس لیے بطور ڈیفالٹ انہیں میموری میں رکھا جاتا ہے جب تک کہ بیک ورڈ پاس نہیں چلتا۔
مکمل ایکٹیویشن ری کمپیوٹیشن عام طور پر کتنا اضافی کمپیوٹ شامل کرتا ہے؟
مکمل دوبارہ گنتی بیک ورڈ پاس کے دوران فارورڈ کمپیوٹیشن کو دوبارہ چلاتی ہے، جس میں تقریباً ایک اضافی فارورڈ پاس کا اضافہ ہوتا ہے — 30-40% زیادہ کمپیوٹ کے آرڈر پر۔
منتخب (مکمل نہیں) دوبارہ گنتی کے پیچھے کیا خیال ہے؟
منتخب دوبارہ گنتی کے اہداف ایسے آپریشنز کو نشانہ بناتے ہیں جو بہت زیادہ میموری استعمال کرتے ہیں لیکن بہت کم کمپیوٹ کرتے ہیں (جیسے سافٹ میکس یا لیئر نارم)، جبکہ ضائع ہونے والے FLOPs کو کم کرنے کے لیے مہنگے GEMM نتائج کو کیش کرتے ہیں۔
مزید میموری کو بچانے کے لیے کون سی تکمیلی تکنیک کو اکثر دوبارہ گنتی کے ساتھ ملایا جاتا ہے؟
ایکٹیویشن آف لوڈنگ کچھ ایکٹیویشنز کو CPU/NVMe سٹوریج میں لے جاتی ہے، اور اکثر میموری کی مزید بچت کے لیے دوبارہ گنتی اور ہم آہنگی کے ساتھ مل جاتی ہے۔