جس ٹیم نے پروڈکشن گریڈ انفرنس سروس بنائی، اس نے 48 گھنٹوں تک DigitalOcean Inference پر چھ لینگویج ماڈلز کا تجربہ کیا۔ $0.20 فی ماہ والا "tiny" ماڈل مہنگے آپشنز سے بہتر ثابت ہوا۔ یہ ان کے ڈراپلیٹس (droplets) کی 8 GB میموری کی حد کے اندر رہا اور ان کریشز سے بچا جنہوں نے 70B ورژن کو ناکام کر دیا تھا، اور کم لاگت میں قابل استعمال لیٹنسی اور ایکوریسی فراہم کی۔
یہ ٹیسٹ کیوں اہم ہے
وہ ادارے جو لارج لینگویج ماڈلز (LLMs) کو APIs کے طور پر پیش کرتے ہیں، اکثر یہ فرض کر لیتے ہیں کہ بڑے اور مہنگے ماڈلز بہترین تجربہ کی ضمانت دیتے ہیں۔ حقیقت میں، پروڈکشن ماحول میں میموری، کنکرنسی (concurrency) اور اپ ٹائم کی ضمانتوں کے درمیان توازن برقرار رکھنا پڑتا ہے۔ ایک ماڈل جو کاغذ پر اچھا نظر آتا ہے، وہ اس وقت نقصان دہ بن سکتا ہے جب وہ آؤٹ آف میموری (OOM) کِلز کا باعث بنے یا کولڈ اسٹارٹس (cold starts) کے دوران سروس کو روک دے۔ یہ عملی تجربہ ظاہر کرتا ہے کہ معمولی ہارڈ ویئر پر ایک سستا ماڈل ہی واحد قابل عمل آپشن ہو سکتا ہے۔
چھ مقابلے کے امیدوار
| ماڈل | ماہانہ لاگت | اوسط لیٹنسی | ایکوریسی* | RAM کا استعمال / کریش |
|---|---|---|---|---|
| mistral-tiny | $0.20 | 120 ms | 88 % | 1.2 GB |
| mistral-small | $0.80 | 180 ms | 91 % | 2.4 GB |
| mistral-medium | $2.50 | 250 ms | 93 % | 4.1 GB |
| mistral-large | $5.00 | 300 ms | 94 % | 6.8 GB |
| llama-70b | $8.00 | 450 ms | 95 % | CRASH |
| mixtral-8x7b | $10.00 | 500 ms | 96 % | CRASH |
*ایکوریسی ٹیم کے اندرونی بینچ مارک سوٹ پر ماڈلز کی کارکردگی کی عکاسی کرتی ہے۔
"tiny" ماڈل کی ماہانہ لاگت ایک ڈالر کے چوتھائی حصے سے بھی کم تھی اور یہ 8 GB میموری کی حد کے اندر رہا۔ دو سب سے بڑے ماڈلز—llama-70b اور mixtral-8x7b—اس حد سے تجاوز کر گئے اور بار بار ہوسٹ کو کریش کر دیا، جس کی وجہ سے زیادہ ایکوریسی اسکورز کے باوجود وہ ناقابل استعمال ہو گئے۔
وہ مسائل جنہوں نے بڑے ماڈلز کو ناکام کر دیا
- ہارڈ کوڈڈ اینڈ پوائنٹس (Hard-coded endpoints) – اصل آرکیٹیکچر ہر درخواست کو ایک ہی ماڈل پر بھیجتا تھا۔ جب وہ ماڈل ناکام ہوتا، تو پوری API بند ہو جاتی تھی۔
- میموری کی حد کا نہ ہونا (No memory caps) – بڑے ماڈلز تمام دستیاب RAM استعمال کر لیتے تھے، جس سے بغیر کسی وارننگ کے OOM کِلز ہو جاتے تھے۔
- کولڈ اسٹارٹ لیٹنسی (Cold-start latency) – ایک نئے ماڈل کے لیے پہلی درخواستوں میں کئی سیکنڈ لگ جاتے تھے، جس سے رسپانس کی رفتار متاثر ہوتی تھی۔
- غیر محدود کنکرنسی (Unbounded concurrency) – بیک وقت آنے والی درخواستوں کے دباؤ نے میموری اور CPU کو بھر دیا، جس سے نظامی ناکامیاں (systemic failures) ہوئیں۔
اگر سروس حقیقت پسندانہ لوڈ کے تحت آن لائن نہ رہ سکے تو خام کارکردگی کے اعداد و شمار کا کوئی مطلب نہیں رہتا۔
ڈائنامک روٹنگ کا حل
انجینئرز نے تین اصولوں کی بنیاد پر ریکوسٹ پاتھ کو دوبارہ لکھا:
- رن ٹائم ماڈل سلیکشن (Runtime model selection) – روٹر اسٹیٹک اینڈ پوائنٹ کے بجائے ہر درخواست کے لیے ایک ماڈل کا انتخاب کرتا ہے۔
- ہارڈ ویئر آگاہی (Hardware awareness) – ہر درخواست کو میموری کا بجٹ دیا جاتا ہے؛ روٹر صرف ان ماڈلز کو بھیجتا ہے جو بقیہ RAM میں سما سکیں۔
- فال بیک چینز (Fallback chains) – اگر منتخب کردہ ماڈل ناکام ہو جائے یا ٹائم آؤٹ ہو جائے، تو روٹر خود بخود اگلے بہترین ماڈل کے ساتھ دوبارہ کوشش کرتا ہے۔
نظر ثانی شدہ آرکیٹیکچر چار ٹھوس حفاظتی اقدامات شامل کرتا ہے:
- محدود کنکرنسی (Bounded concurrency) – ایک سیمافور (semaphore) متوازی انفرنسز کو محدود کرتا ہے، جس سے میموری کے ختم ہونے کا خطرہ ٹل جاتا ہے۔
- فیل فاسٹ ٹائم آؤٹس (Fail-fast timeouts) – ہر درخواست کے لیے سخت ٹائمرز لگائے گئے ہیں جو سست ماڈلز کو پورے عمل کو روکنے سے پہلے ہی منسوخ کر دیتے ہیں۔
- میموری بفرز (Memory buffers) – سسٹم ڈراپلیٹ کی RAM پر 20% اضافی جگہ (headroom) محفوظ رکھتا ہے، تاکہ OS کے بوجھ اور اچانک اضافے کے لیے جگہ موجود رہے۔
- پری ورمنگ (Pre-warming) – اسٹارٹ اپ کے وقت ہر ماڈل پر فرضی (dummy) درخواستیں بھیجی جاتی ہیں، تاکہ ابتدائی کولڈ اسٹارٹ کے نقصان کو ختم کیا جا سکے۔
ان اقدامات نے ایک کمزور پائپ لائن کو ایک مستحکم سروس میں بدل دیا جو ایکوریسی پر زیادہ سمجھوتہ کیے بغیر معمولی 8 GB ڈراپلیٹس پر ٹریفک کو سنبھال سکتی ہے۔
آگے کیا دیکھنا ہے
- ہارڈ ویئر اسکیلنگ (Hardware scaling) – جیسے جیسے کلاؤڈ فراہم کنندگان کم قیمتوں پر بڑی میموری والے ڈراپلیٹس پیش کریں گے، بڑے ماڈلز کے لیے بریک ایون پوائنٹ تبدیل ہو سکتا ہے۔
- ماڈل کمپریشن (Model compression) – کوانٹائزیشن (Quantization) یا نالج ڈسٹلیشن (knowledge distillation) اعلیٰ ایکوریسی والے ماڈلز کے RAM کے استعمال کو کم کر سکتے ہیں، جس سے انہیں چھوٹی مشینوں پر چلانا ممکن ہو سکے گا۔
- ایڈاپٹیو روٹنگ (Adaptive routing) – مستقبل کے روٹرز ریئل ٹائم میں یہ سیکھ سکتے ہیں کہ کسی مخصوص سوال کے لیے کون سا ماڈل بہترین توازن فراہم کرتا ہے، جس سے ایکوریسی اور لاگت کا توازن مزید خودکار ہو جائے گا۔
خلاصہ سادہ ہے: پروڈکشن میں، وہ ماڈل جو دباؤ کے تحت کام کرتا رہتا ہے، اس ماڈل سے زیادہ اہمیت رکھتا ہے جو کاغذ پر بہترین نظر آتا ہے۔ ماڈل کا انتخاب اپنی ڈیپلائمنٹ کی حدود کی بنیاد پر کریں، نہ کہ صرف اس کی ایکوریسی دیکھ کر۔
