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

مسلسل بیچنگ

مسلسل بیچنگ ایک پیش کرنے والی تکنیک ہے جو پورے فکسڈ بیچ کے ختم ہونے کا انتظار کرنے کے بجائے، ایک چلتے ہوئے بیچ ٹوکن ٹوکن سے درخواستوں کو جوڑتی اور ہٹاتی ہے۔

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

جائزہ

It keeps the GPU constantly busy and sharply increases how many users an AI model can serve at once.

گہرا غوطہ

GPUs سب سے تیز ہوتے ہیں جب وہ ایک بیچ میں ایک ساتھ بہت سی درخواستوں پر کارروائی کرتے ہیں۔ سادہ طریقہ، جامد بیچنگ، درخواستوں کے ایک مقررہ سیٹ کو گروپ کرتا ہے، ان سب کو مکمل کرنے کے لیے چلاتا ہے، پھر اگلا بیچ شروع کرتا ہے۔ مسئلہ: لینگویج ماڈل کے آؤٹ پٹ لمبائی میں مختلف ہوتے ہیں، اس لیے مختصر درخواستیں جلد ختم ہو جاتی ہیں اور ان کے سلاٹس بیکار رہتے ہیں جب کہ بیچ سب سے طویل انتظار کرتا ہے، GPU سائیکل ضائع کرتا ہے اور نئی آمد میں تاخیر ہوتی ہے۔ مسلسل بیچنگ (جسے اِن فلائٹ یا اٹیریشن لیول بیچنگ بھی کہا جاتا ہے، جسے Orca پیپر کے ذریعے مقبول بنایا گیا ہے اور vLLM، TensorRT-LLM، اور TGI میں استعمال کیا جاتا ہے) ایک ہی ضابطہ کشائی کے مرحلے کی گرانولریٹی پر کام کرتا ہے۔ ہر ٹوکن کے تیار ہونے کے بعد، تیار شدہ سلسلے بیچ سے باہر نکل جاتے ہیں اور تازہ موصول ہونے والی درخواستوں کو فوری طور پر سلاٹ کیا جاتا ہے۔ اس سے بیچ بھرا رہتا ہے اور GPU سیر ہوتا ہے، اکثر انتظار کرنے والے صارفین کے لیے کم تاخیر کے ساتھ تھرو پٹ کو کئی بار بڑھاتا ہے۔

تکنیکی بصیرت

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

اسٹریٹجک اثر

لاگت اور بجٹ

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

واضح فیصلے

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

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

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

مسلسل بیچنگ کا مستقبل

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

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

ایک چیٹ API نئے آنے والے صارف کے پیغامات کو اگلے بیچ کے لیے قطار میں لگانے کے بجائے فوری طور پر چلتے ہوئے بیچ میں داخل کرتا ہے۔

ایک مختصر مکمل جواب کو بیچ کے بیچ سے نکالنا اور اس کے سلاٹ کو بیک فل کرنا تاکہ GPU طویل جنریشن کے انتظار میں کبھی بیکار نہ رہے۔

vLLM کے PagedAttention کے ساتھ لگاتار بیچنگ کو یکجا کرنا ہر ڈی کوڈ قدم پر سستے انداز میں ترتیب داخل کرنے اور ہٹانا

کوڈ کی تکمیل کی خدمت جو بیچ کو مکمل رکھ کر برسٹی، متغیر لمبائی والی ٹریفک کے تحت اعلی ٹوکن فی سیکنڈ کو برقرار رکھتی ہے

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

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

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

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

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

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 Continuous Batching 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

اگلا گائیڈ

ML ورک بوجھ کے لیے Kubernetes

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

What is Continuous Batching?

مسلسل بیچنگ ایک پیش کرنے والی تکنیک ہے جو پورے فکسڈ بیچ کے ختم ہونے کا انتظار کرنے کے بجائے، ایک چلتے ہوئے بیچ ٹوکن ٹوکن سے درخواستوں کو جوڑتی اور ہٹاتی ہے۔ یہ GPU کو مسلسل مصروف رکھتا ہے اور تیزی سے اس میں اضافہ کرتا ہے کہ ایک AI ماڈل ایک ساتھ کتنے صارفین کی خدمت کر سکتا ہے۔

ایل ایل ایم سرونگ کے لیے جامد (فکسڈ) بیچنگ کی بنیادی کمزوری کیا ہے؟

چونکہ آؤٹ پٹ کی لمبائی مختلف ہوتی ہے، تیار شدہ ترتیب اس وقت تک بیکار رہتی ہے جب تک کہ سب سے سست مکمل نہ ہو جائے، GPU سائیکل ضائع ہوتے ہیں اور نئی درخواستوں میں تاخیر ہوتی ہے۔

مسلسل بیچنگ درخواستوں کو کس گرانولیریٹی میں شامل اور ہٹاتی ہے؟

مسلسل (دوبارہ سطح) بیچنگ ہر ایک ڈی کوڈ قدم کے بعد فعال سیٹ کو اپ ڈیٹ کرتی ہے، لہذا یہ پوری درخواست کے بجائے ٹوکن بہ ٹوکن چلاتا ہے۔

جب ایک تسلسل مسلسل بیچنگ کے تحت مڈ بیچ کو ختم کرتا ہے، تو اس کے سلاٹ کا کیا ہوتا ہے؟

مکمل ترتیب کو بے دخل کر دیا جاتا ہے اور انتظار کی درخواستوں کو فوری طور پر سلاٹ کر دیا جاتا ہے، بیچ کو مکمل اور GPU کو مصروف رکھتے ہوئے۔

کون سی تکنیک قدرتی طور پر لگاتار بیچنگ کے ساتھ جوڑتی ہے تاکہ ترتیب کو داخل کرنا/ہٹانا سستا ہو؟

PagedAttention ہر ترتیب کے KV کیشے کو آزاد بلاکس میں محفوظ کرتا ہے، اس لیے کسی ترتیب کو درمیانی پرواز کے شامل کرنے یا ہٹانے سے دوسروں کی یادداشت میں خلل نہیں پڑتا ہے۔

کس تحقیقی مقالے کو عام طور پر تکرار کی سطح (مسلسل) بیچنگ کو مقبول بنانے کا سہرا دیا جاتا ہے؟

اورکا پیپر نے تکرار کی سطح کا شیڈولنگ متعارف کرایا، اور یہ خیال vLLM، TGI، اور TensorRT-LLM جیسے نظاموں کو پیش کرتے ہوئے اپنایا گیا۔