ٹیکنیکل گائیڈ
الگ الگ پری فل اور ڈی کوڈ سرونگ
ایک پیش کرنے والا فن تعمیر جو بڑے لینگویج ماڈل کو دو الگ الگ مراحل میں تقسیم کرتا ہے — پری فل اور ڈی کوڈ — اور انہیں GPUs کے مختلف پولز پر چلاتا ہے۔
اس گائیڈ کو سنیں۔اے آئی نے بیان کیا۔ · ~2 min
اس صفحہ پر2 منٹ پڑھیں
جائزہ
یہ اہمیت رکھتا ہے کیونکہ ان دو مرحلوں میں ہارڈ ویئر کی بھوک مخالف ہوتی ہے، اور انہیں ایک ہی مشین پر مجبور کرنے سے صلاحیت ضائع ہوتی ہے اور تاخیر کو نقصان پہنچتا ہے۔
گہرا غوطہ
جب LLM جواب دیتا ہے، تو یہ دو مراحل میں کام کرتا ہے۔ پری فل ایک ساتھ پورے پرامپٹ کو پڑھتا ہے اور کلیدی قدر (KV) کیشے بناتا ہے۔ یہ ایک بڑا، متوازی، کمپیوٹ باؤنڈ برسٹ ہے جو GPU کی ریاضی کی اکائیوں کو سیر کرتا ہے۔ ڈی کوڈ پھر ایک وقت میں ایک ایک ٹوکن تیار کرتا ہے، ہر قدم پورے KV کیشے کو پڑھتا ہے—ایک میموری-بینڈوڈتھ-باؤنڈ، ہلکے سے حساب کتاب۔ ایک ساتھ چلائیں، ایک لمبا پری فل ہر ایک کے ڈی کوڈ (ہیڈ آف لائن بلاکنگ) کو روکتا ہے، اور دونوں کو بیچنے سے مداخلت پیدا ہوتی ہے۔ تفریق ایک GPU پول پر پہلے سے بھرتی ہے اور دوسرے پر ڈی کوڈ کرتی ہے، ان کے درمیان KV کیشے کو NVLink یا InfiniBand جیسے تیز انٹرکنیکٹس پر منتقل کرتی ہے۔ ہر پول کو آزادانہ طور پر ٹیون کیا جاتا ہے اور اسکیل کیا جاتا ہے، گڈ پٹ کو بہتر بناتا ہے، ٹیل لیٹینسی کو ہموار کرتا ہے، اور آپریٹرز کو ٹائم ٹو فرسٹ ٹوکن اور ٹائم فی آؤٹ پٹ ٹوکن اہداف کو بیک وقت نشانہ بنانے دیتا ہے۔
حقیقی دنیا کا نفاذ
ایک چیٹ اسسٹنٹ لمبی دستاویز کو کمپیوٹ ہیوی پری فل کلسٹر کی طرف اشارہ کرتا ہے، پھر ٹائپنگ لیٹینسی کو ہموار رکھنے کے لیے میموری سے بہتر ڈیکوڈ کلسٹر سے جوابات جاری کرتا ہے۔
NVIDIA Dynamo اور vLLM آپریٹرز کو علیحدہ پری فل اور ڈی کوڈ ورکر گروپس کو تعینات کرنے دیتے ہیں تاکہ طویل پرامپٹس کا پھٹ جاری نسلوں کو منجمد نہ کرے۔
Mooncake (Moonshot AI's Kimi کے ذریعے استعمال کیا جاتا ہے) پری فل اور ڈی کوڈ کو الگ کرتا ہے اور پیمانے پر فالتو فوری دوبارہ گنتی کو کاٹنے کے لیے تقسیم شدہ KV-cache پول کا اضافہ کرتا ہے۔
کوڈ کی تکمیل کی خدمت مختصر پرامپٹس کے لیے ایک چھوٹا پری فل پول اور ایک بڑے ڈی کوڈ پول کے لیے وقف کرتی ہے، کیونکہ زیادہ تر لاگت بہت سے آؤٹ پٹ ٹوکنز کو اسٹریم کرنے سے آتی ہے۔
الگ الگ پری فل اور ڈی کوڈ سرونگ کا مستقبل
پیداوار کے ڈھیروں میں تفریق کے ڈیفالٹ بننے کی توقع کریں۔ DistServe، Splitwise، اور Mooncake جیسے سسٹمز نے اسے مقبول بنایا، اور vLLM اور NVIDIA Dynamo اب الگ الگ طریقوں کو بھیجتے ہیں۔ تحقیق KV-کیشے کی منتقلی کی اصلاح، درخواستوں میں کیش پولنگ اور دوبارہ استعمال، شفٹنگ ٹریفک کے تحت پری فل/ڈی کوڈ تناسب کے متحرک دوبارہ توازن، اور پریفکس کیشنگ اور چنکڈ پری فل کے ساتھ سخت انضمام کو آگے بڑھا رہی ہے۔ جیسے جیسے سیاق و سباق کی ونڈوز لاکھوں ٹوکنز میں بڑھ رہی ہیں، ان مراحل کو الگ کرنا لاگت سے موثر، کم تاخیر کی خدمت کے لیے تیزی سے ضروری ہو جاتا ہے۔
اسے عملی جامہ پہنانا
یہ کیوں اہمیت رکھتا ہے۔
- لاگت اور بجٹ. فن تعمیر کے فیصلے سالوں تک کارکردگی اور آپریٹنگ لاگت کو آگے بڑھاتے ہیں۔
- واضح فیصلے. تکنیکی تعلیم ٹیموں کو صحیح اسٹیک منتخب کرنے میں مدد کرتی ہے، نہ صرف جدید ترین۔
- کوالٹی کنٹرول. انجینئرنگ کے بہتر انتخاب پیداوار میں قابل اعتماد واقعات کو کم کرتے ہیں۔
پر نگاہ رکھیں
- ایک بینچ مارک کو بہتر بنانا نظام کی وسیع تر کمزوریوں کو چھپا سکتا ہے۔
- بنیادی ڈھانچے اور دیکھ بھال کے اخراجات کو اکثر کم سمجھا جاتا ہے۔
- سیکورٹی اور مشاہداتی فرق بڑھ سکتا ہے کیونکہ نظام زیادہ پیچیدہ ہو جاتا ہے۔
اگلے اقدامات
- نفاذ سے پہلے تاخیر، معیار اور لاگت کے اہداف کی وضاحت کریں۔
- حقیقت پسندانہ بوجھ اور ڈیٹا کی شرائط کے تحت بینچ مارک۔
- غلطیوں، بڑھے ہوئے، اور صارف کے اثرات کے لیے آلے کی نگرانی۔
- اسکیلنگ سے پہلے رول بیک اور واقعہ کے ردعمل کے راستے تیار کریں۔
دریافت کرتے رہیں
مفت نیوز لیٹر
روزانہ AI بریفنگ حاصل کریں
ہر ہفتے کے دن صبح تین تصدیق شدہ AI کہانیاں، سادہ انگریزی میں لکھی گئیں۔ ہمیشہ کے لیے مفت، کوئی اشتہار نہیں۔
ہر ہفتے کے دن ایک ای میل۔ ایک کلک میں ان سبسکرائب کریں۔ ہم کبھی بھی آپ کا پتہ فروخت یا شیئر نہیں کرتے۔
اپنے آپ کو جانچیں۔
Take the Disaggregated Prefill and Decode Serving quiz
ہر جواب پر فوری فیڈبیک، اور کورس پاس کرنے کے بعد قابلِ تصدیق ID کے ساتھ شیئر کرنے کے قابل سرٹیفکیٹ۔
مفت AI تعلیم کی حمایت کریں۔ AI Understanding ایک 501(c)(3) غیر منافع بخش ادارہ ہے — کوئی اشتہار نہیں، کوئی پے وال نہیں، کبھی نہیں۔ عطیہ کریں۔
اکثر پوچھے گئے سوالات
الگ الگ پری فل اور ڈی کوڈ سرونگ کیا ہے؟
ایک پیش کرنے والا فن تعمیر جو بڑے لینگویج ماڈل کو دو الگ الگ مراحل میں تقسیم کرتا ہے — پری فل اور ڈی کوڈ — اور انہیں GPUs کے مختلف پولز پر چلاتا ہے۔ یہ اہمیت رکھتا ہے کیونکہ ان دو مرحلوں میں ہارڈ ویئر کی بھوک مخالف ہوتی ہے، اور انہیں ایک ہی مشین پر مجبور کرنے سے صلاحیت ضائع ہوتی ہے اور تاخیر کو نقصان پہنچتا ہے۔
مختلف GPU پولز پر پری فل اور ڈی کوڈ کو الگ کرنے کی بنیادی ہارڈویئر وجہ کیا ہے؟
پری فل پورے پرامپٹ کو متوازی طور پر پروسیس کرتا ہے اور کمپیوٹ کو سیر کرتا ہے، جبکہ ڈی کوڈ ہر قدم کے وی کیشے کو پڑھتا ہے اور میموری بینڈوڈتھ کے ذریعے محدود ہوتا ہے — مخالف بھوک جو علیحدہ، آزادانہ طور پر ٹیونڈ پول کا جواز پیش کرتے ہیں۔
پری فل ورکرز سے ڈی کوڈ ورکرز کے لیے کون سا ڈیٹا ڈھانچہ منتقل کیا جانا چاہیے؟
پری فل پرامپٹ کے لیے کے وی کیشے بناتا ہے۔ ڈی کوڈ کو اس کیشے کی ضرورت ہوتی ہے تاکہ وہ پیدا ہوتا رہے، اس لیے کیشے کو ڈی کوڈ پول میں ایک تیز انٹرکنیکٹ پر بھیج دیا جاتا ہے۔
مشترکہ-GPU سیٹ اپ میں تفریق خاص طور پر کون سا مسئلہ کم کرتی ہے؟
مشترکہ GPUs پر ایک لمبا پری فل برسٹ جاری ڈی کوڈ مراحل کو روک سکتا ہے۔ ان کو الگ کرنا اس مداخلت کو روکتا ہے اور دم کی تاخیر کو مستحکم کرتا ہے۔
پری فل کو جارحانہ طریقے سے بیچ کیوں کیا جا سکتا ہے لیکن مختلف ٹیوننگ سے فوائد کو ڈی کوڈ کیا جا سکتا ہے؟
پری فل تمام پرامپٹ ٹوکنز کو ایک ساتھ پروسیس کرتا ہے، اس لیے بڑے بیچز ٹینسر کور کو اچھی طرح سے کھلاتے ہیں۔ ڈی کوڈ ایک وقت میں ایک ٹوکن تیار کرتا ہے اور اسے میموری کے ذریعے گیٹ کیا جاتا ہے، اس لیے اس کی پیمائش مختلف ہوتی ہے۔
کن کن کنیکٹس کو عام طور پر کے وی کیشے کو الگ الگ تالابوں کے درمیان منتقل کرنے کے لیے استعمال کیا جاتا ہے؟
اعلی بینڈوتھ، کم لیٹنسی لنکس جیسے NVLink (انٹرا نوڈ) اور InfiniBand (inter-node) کی ضرورت ہے تاکہ KV-cache کی منتقلی نئی رکاوٹ نہ بن جائے۔
سیکھتے رہیں
متعلقہ گائیڈز
اس موضوع کے لیے مزید گائیڈز چنے گئے ہیں۔