اگلااگلا گائیڈ
LLMs کے لیے درکار GPU میموری کا تخمینہ لگانا
تکنیکی
ٹیکنیکل گائیڈ
AI فریم ورک کس طرح GPU پر محدود میموری کو مختص، دوبارہ استعمال، اور دوبارہ دعویٰ کرتے ہیں، اور کیوں بچا ہوا خلا (فریکمنٹیشن) میموری سے باہر کی خرابیوں کا سبب بن سکتا ہے یہاں تک کہ جب تکنیکی طور پر کافی مقدار میں میموری باقی رہتی ہے۔
اس گائیڈ کو سنیں۔اے آئی نے بیان کیا۔ · ~2 min
Understanding it is key to fitting big models and avoiding mysterious crashes.
GPU میموری فکسڈ اور قیمتی ہے: ایک کارڈ میں کل 24، 80، یا 192 GB ہو سکتا ہے، جو ماڈل کے وزن، ایکٹیویشنز، گریڈیئنٹس، آپٹیمائزر سٹیٹس، اور عارضی بفرز کے ذریعے شیئر کیا جاتا ہے۔ ڈرائیور کو ہر آپریشن پر میموری مختص کرنے کے لیے کال کرنا سست ہوگا، اس لیے PyTorch جیسے فریم ورک ایک کیشنگ ایلوکیٹر کا استعمال کرتے ہیں جو سامنے والے بڑے بلاکس کو پکڑتا ہے اور ذیلی ٹکڑوں کو دے دیتا ہے، پھر آزاد شدہ ٹکڑوں کو دوبارہ استعمال کے لیے پول میں رکھتا ہے۔ کیچ فریگمنٹیشن ہے: چونکہ مختلف سائز کے ٹینسر مختص اور آزاد ہوتے ہیں، خالی جگہ بکھرے ہوئے حصوں میں ٹوٹ جاتی ہے۔ آپ مجموعی طور پر 5 جی بی مفت حاصل کر سکتے ہیں لیکن پھر بھی متصل 2 جی بی ٹینسر مختص کرنے میں ناکام رہتے ہیں کیونکہ کوئی بھی فرق اتنا بڑا نہیں ہے۔ یہی وجہ ہے کہ بظاہر دستیاب ہیڈ روم کے باوجود تربیت یادداشت سے باہر کی غلطیوں کے ساتھ کریش ہو سکتی ہے۔
A training team examines allocator statistics before testing expandable segments on a variable-batch workload.
A developer uses memory_summary and a memory snapshot to investigate active tensors and inactive split blocks.
An inference team uses vLLM’s paged KV-cache management to reduce cache-allocation waste.
A training team lowers batch size or checkpoints activations after confirming live tensor memory is the limiting factor.
آپریٹنگ سسٹمز سے متاثر ہو کر میموری کا نظم و نسق زیادہ ہوشیار اور زیادہ صفحات والا ہوتا جا رہا ہے۔ ورچوئل میموری طرز کے مختص کرنے والے اور صفحہ بندی کی توجہ (تخصیص کے دوران KV کیش کو منظم کرنے کے لیے استعمال کیا جاتا ہے) جیسی تکنیکیں فضلہ اور ٹکڑے ہونے کو ڈرامائی طور پر کم کرتی ہیں۔ توقع کریں کہ فریم ورک کو ڈیفالٹ کرنے کے قابل توسیعی، ڈیفراگمنٹنگ مختص کرنے والوں، بلٹ ان پروفائلرز کے ذریعے بہتر مرئیت، اور آف لوڈنگ اور دوبارہ گنتی کے ساتھ سخت جوڑے کی توقع ہے تاکہ سسٹم GPU، CPU، اور ڈسک میموری کو خود بخود جگائے تاکہ استعمال کو زیادہ رکھا جا سکے اور نایاب کریش ہوں۔
مفت نیوز لیٹر
ہر ہفتے کے دن صبح تین تصدیق شدہ AI کہانیاں، سادہ انگریزی میں لکھی گئیں۔ ہمیشہ کے لیے مفت، کوئی اشتہار نہیں۔
ہر ہفتے کے دن ایک ای میل۔ ایک کلک میں ان سبسکرائب کریں۔ ہم کبھی بھی آپ کا پتہ فروخت یا شیئر نہیں کرتے۔
اپنے آپ کو جانچیں۔
ہر جواب پر فوری فیڈبیک، اور کورس پاس کرنے کے بعد قابلِ تصدیق ID کے ساتھ شیئر کرنے کے قابل سرٹیفکیٹ۔
مفت AI تعلیم کی حمایت کریں۔ AI Understanding ایک 501(c)(3) غیر منافع بخش ادارہ ہے — کوئی اشتہار نہیں، کوئی پے وال نہیں، کبھی نہیں۔ عطیہ کریں۔
AI فریم ورک کس طرح GPU پر محدود میموری کو مختص، دوبارہ استعمال، اور دوبارہ دعویٰ کرتے ہیں، اور کیوں بچا ہوا خلا (فریکمنٹیشن) میموری سے باہر کی خرابیوں کا سبب بن سکتا ہے یہاں تک کہ جب تکنیکی طور پر کافی مقدار میں میموری باقی رہتی ہے۔ اسے سمجھنا بڑے ماڈلز کو فٹ کرنے اور پراسرار حادثات سے بچنے کی کلید ہے۔
فریگمنٹیشن کا مطلب ہے کہ کل مفت میموری کافی ہے، لیکن اسے ٹکڑوں میں توڑ دیا گیا ہے، اس لیے کوئی ایک خلا بھی بڑے ٹینسر کے لیے کافی نہیں ہے۔
ہر آپشن کے لیے cudaMalloc/cudaFree کال کرنا سست ہے، اس لیے کیشنگ ایلوکیٹر بڑے بلاکس کو پکڑتا ہے اور پول سے آزاد کردہ کو دوبارہ استعمال کرتا ہے۔
Allocator statistics and snapshots help distinguish fragmentation from live tensors or other allocations. The error alone does not prove a single cause.
Expandable segments can reduce waste for selected allocation patterns. Availability and benefit depend on allocator configuration and workload.
PagedAttention KV کیش کو فکسڈ سائز کے صفحات جیسے OS ورچوئل میموری، فریگمنٹیشن کو کاٹنا اور بہت سی درخواستوں کو مؤثر طریقے سے پیش کرتا ہے۔
سیکھتے رہیں
اس موضوع کے لیے مزید گائیڈز چنے گئے ہیں۔
اگلااگلا گائیڈ
LLMs کے لیے درکار GPU میموری کا تخمینہ لگانا
تکنیکی