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

الگ الگ پری فل اور ڈی کوڈ سرونگ

ایک پیش کرنے والا فن تعمیر جو بڑے لینگویج ماڈل کو دو الگ الگ مراحل میں تقسیم کرتا ہے — پری فل اور ڈی کوڈ — اور انہیں GPUs کے مختلف پولز پر چلاتا ہے۔

2 منٹ پڑھیںآخری بار اپ ڈیٹ کیا گیا۔

جائزہ

It matters because these two phases have opposite hardware appetites, and forcing them onto the same machines wastes capacity and hurts latency.

گہرا غوطہ

جب LLM جواب دیتا ہے، تو یہ دو مراحل میں کام کرتا ہے۔ پری فل ایک ساتھ پورے پرامپٹ کو پڑھتا ہے اور کلیدی قدر (KV) کیشے بناتا ہے۔ یہ ایک بڑا، متوازی، کمپیوٹ باؤنڈ برسٹ ہے جو GPU کی ریاضی کی اکائیوں کو سیر کرتا ہے۔ ڈی کوڈ پھر ایک وقت میں ایک ایک ٹوکن تیار کرتا ہے، ہر قدم پورے KV کیشے کو پڑھتا ہے—ایک میموری-بینڈوڈتھ-باؤنڈ، ہلکے سے حساب کتاب۔ ایک ساتھ چلائیں، ایک لمبا پری فل ہر ایک کے ڈی کوڈ (ہیڈ آف لائن بلاکنگ) کو روکتا ہے، اور دونوں کو بیچنے سے مداخلت پیدا ہوتی ہے۔ تفریق ایک GPU پول پر پہلے سے بھرتی ہے اور دوسرے پر ڈی کوڈ کرتی ہے، ان کے درمیان KV کیشے کو NVLink یا InfiniBand جیسے تیز انٹرکنیکٹس پر منتقل کرتی ہے۔ ہر پول کو آزادانہ طور پر ٹیون کیا جاتا ہے اور اسکیل کیا جاتا ہے، گڈ پٹ کو بہتر بناتا ہے، ٹیل لیٹینسی کو ہموار کرتا ہے، اور آپریٹرز کو ٹائم ٹو فرسٹ ٹوکن اور ٹائم فی آؤٹ پٹ ٹوکن اہداف کو بیک وقت نشانہ بنانے دیتا ہے۔

تکنیکی بصیرت

دونوں مراحل ان کی رکاوٹ میں مختلف ہیں۔ پری فل تمام پرامپٹ ٹوکنز کو متوازی طور پر پروسیس کرتا ہے، اس لیے اس کے FLOPs پرامپٹ لمبائی کے ساتھ اسکیل کرتے ہیں اور یہ ٹینسر کور کو زیادہ سے زیادہ کرتا ہے۔ ڈی کوڈ خود بخود ہے: ہر نئے ٹوکن کو ایک فارورڈ پاس کی ضرورت ہوتی ہے جو HBM سے مکمل KV کیشے کو دوبارہ پڑھتا ہے، لہذا تھرو پٹ کو میموری بینڈوڈتھ کے ذریعے گیٹ کیا جاتا ہے، نہ کہ کمپیوٹ۔ تفریق ہر پول کے لیے سائز، بیچنگ، اور یہاں تک کہ مختلف ہم آہنگی کا انتخاب کر کے اس کا فائدہ اٹھاتی ہے، پھر KV کیشے کو پری فل ورکرز سے ڈی کوڈ کرنے کے لیے بھیجتی ہے۔

اسٹریٹجک اثر

لاگت اور بجٹ

فن تعمیر کے فیصلے سالوں تک کارکردگی اور آپریٹنگ لاگت کو آگے بڑھاتے ہیں۔

واضح فیصلے

تکنیکی تعلیم ٹیموں کو صحیح اسٹیک منتخب کرنے میں مدد کرتی ہے، نہ صرف جدید ترین۔

کوالٹی کنٹرول

انجینئرنگ کے بہتر انتخاب پیداوار میں قابل اعتماد واقعات کو کم کرتے ہیں۔

الگ الگ پری فل اور ڈی کوڈ سرونگ کا مستقبل

پیداوار کے ڈھیروں میں تفریق کے ڈیفالٹ بننے کی توقع کریں۔ DistServe، Splitwise، اور Mooncake جیسے سسٹمز نے اسے مقبول بنایا، اور vLLM اور NVIDIA Dynamo اب الگ الگ طریقوں کو بھیجتے ہیں۔ تحقیق KV-کیشے کی منتقلی کی اصلاح، درخواستوں میں کیش پولنگ اور دوبارہ استعمال، شفٹنگ ٹریفک کے تحت پری فل/ڈی کوڈ تناسب کے متحرک دوبارہ توازن، اور پریفکس کیشنگ اور چنکڈ پری فل کے ساتھ سخت انضمام کو آگے بڑھا رہی ہے۔ جیسے جیسے سیاق و سباق کی ونڈوز لاکھوں ٹوکنز میں بڑھ رہی ہیں، ان مراحل کو الگ کرنا لاگت سے موثر، کم تاخیر کی خدمت کے لیے تیزی سے ضروری ہو جاتا ہے۔

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

ایک چیٹ اسسٹنٹ لمبی دستاویز کو کمپیوٹ ہیوی پری فل کلسٹر کی طرف اشارہ کرتا ہے، پھر ٹائپنگ لیٹینسی کو ہموار رکھنے کے لیے میموری سے بہتر ڈیکوڈ کلسٹر سے جوابات جاری کرتا ہے۔

NVIDIA Dynamo اور vLLM آپریٹرز کو علیحدہ پری فل اور ڈی کوڈ ورکر گروپس کو تعینات کرنے دیتے ہیں تاکہ طویل پرامپٹس کا پھٹ جاری نسلوں کو منجمد نہ کرے۔

Mooncake (Moonshot AI's Kimi کے ذریعے استعمال کیا جاتا ہے) پری فل اور ڈی کوڈ کو الگ کرتا ہے اور پیمانے پر فالتو فوری دوبارہ گنتی کو کاٹنے کے لیے تقسیم شدہ KV-cache پول کا اضافہ کرتا ہے۔

کوڈ کی تکمیل کی خدمت مختصر پرامپٹس کے لیے ایک چھوٹا پری فل پول اور ایک بڑے ڈی کوڈ پول کے لیے وقف کرتی ہے، کیونکہ زیادہ تر لاگت بہت سے آؤٹ پٹ ٹوکنز کو اسٹریم کرنے سے آتی ہے۔

خطرات اور گارڈریلز

ایک بینچ مارک کو بہتر بنانا نظام کی وسیع تر کمزوریوں کو چھپا سکتا ہے۔

بنیادی ڈھانچے اور دیکھ بھال کے اخراجات کو اکثر کم سمجھا جاتا ہے۔

سیکورٹی اور مشاہداتی فرق بڑھ سکتا ہے کیونکہ نظام زیادہ پیچیدہ ہو جاتا ہے۔

نفاذ کا روڈ میپ

1

نفاذ سے پہلے تاخیر، معیار اور لاگت کے اہداف کی وضاحت کریں۔

2

حقیقت پسندانہ بوجھ اور ڈیٹا کی شرائط کے تحت بینچ مارک۔

3

غلطیوں، بڑھے ہوئے، اور صارف کے اثرات کے لیے آلے کی نگرانی۔

4

اسکیلنگ سے پہلے رول بیک اور واقعہ کے ردعمل کے راستے تیار کریں۔

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

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 Disaggregated Prefill and Decode Serving 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

اگلا گائیڈ

Kubernetes پر KServe اور ماڈل سرونگ

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

What is Disaggregated Prefill and Decode Serving?

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

مختلف GPU پولز پر پری فل اور ڈی کوڈ کو الگ کرنے کی بنیادی ہارڈویئر وجہ کیا ہے؟

پری فل پورے پرامپٹ کو متوازی طور پر پروسیس کرتا ہے اور کمپیوٹ کو سیر کرتا ہے، جبکہ ڈی کوڈ ہر قدم کے وی کیشے کو پڑھتا ہے اور میموری بینڈوڈتھ کے ذریعے محدود ہوتا ہے — مخالف بھوک جو علیحدہ، آزادانہ طور پر ٹیونڈ پول کا جواز پیش کرتے ہیں۔

پری فل ورکرز سے ڈی کوڈ ورکرز کے لیے کون سا ڈیٹا ڈھانچہ منتقل کیا جانا چاہیے؟

پری فل پرامپٹ کے لیے کے وی کیشے بناتا ہے۔ ڈی کوڈ کو اس کیشے کی ضرورت ہوتی ہے تاکہ وہ پیدا ہوتا رہے، اس لیے کیشے کو ڈی کوڈ پول میں ایک تیز انٹرکنیکٹ پر بھیج دیا جاتا ہے۔

مشترکہ-GPU سیٹ اپ میں تفریق خاص طور پر کون سا مسئلہ کم کرتی ہے؟

مشترکہ GPUs پر ایک لمبا پری فل برسٹ جاری ڈی کوڈ مراحل کو روک سکتا ہے۔ ان کو الگ کرنا اس مداخلت کو روکتا ہے اور دم کی تاخیر کو مستحکم کرتا ہے۔

پری فل کو جارحانہ طریقے سے بیچ کیوں کیا جا سکتا ہے لیکن مختلف ٹیوننگ سے فوائد کو ڈی کوڈ کیا جا سکتا ہے؟

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

کن کن کنیکٹس کو عام طور پر کے وی کیشے کو الگ الگ تالابوں کے درمیان منتقل کرنے کے لیے استعمال کیا جاتا ہے؟

اعلی بینڈوتھ، کم لیٹنسی لنکس جیسے NVLink (انٹرا نوڈ) اور InfiniBand (inter-node) کی ضرورت ہے تاکہ KV-cache کی منتقلی نئی رکاوٹ نہ بن جائے۔