प्रोडक्शन-ग्रेड इन्फरन्स सर्व्हिस (production-grade inference service) तयार करणाऱ्या टीमने DigitalOcean Inference वर ४८ तासांसाठी सहा लँग्वेज मॉडेल्स चालवले. महिन्याला $०.२० खर्च असलेले "tiny" मॉडेल महागड्या पर्यायांपेक्षा सरस ठरले. ते त्यांच्या ड्रॉपलेट्सच्या (droplets) ८ GB मेमरी मर्यादेत राहिले आणि ७० B व्हेरिएंटमुळे होणारे क्रॅश टाळले, ज्यामुळे कमी खर्चात वापरण्यायोग्य लेटन्सी (latency) आणि अचूकता (accuracy) मिळाली.
ही चाचणी का महत्त्वाची आहे
मोठ्या लँग्वेज मॉडेल्सना (LLMs) API म्हणून उपलब्ध करून देणाऱ्या कंपन्या सहसा असे मानतात की मोठे आणि महागडे मॉडेल्स सर्वोत्तम अनुभव देतील. प्रत्यक्षात, प्रोडक्शन एन्व्हायरनमेंटमध्ये मेमरी, कॉनकरन्सी (concurrency) आणि अपटाइम (uptime) या गोष्टींचा समतोल साधावा लागतो. कागदावर चांगले दिसणारे मॉडेल जेव्हा आउट-ऑफ-मेमरी (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" मॉडेलचा खर्च महिन्याला एक डॉलरच्या पावत्यापेक्षाही कमी होता आणि ते ८ GB मेमरी मर्यादेच्या आत राहिले. llama-70b आणि mixtral-8x7b ही दोन सर्वात मोठी मॉडेल्स त्या मर्यादेच्या पलीकडे गेली आणि वारंवार होस्ट क्रॅश करत होती, ज्यामुळे उच्च अचूकता स्कोअर असूनही ती वापरण्यायोग्य नव्हती.
मोठ्या मॉडेल्सना अपयशी ठरवणारे मुख्य अडथळे
- हार्ड-कोडेड एंडपॉइंट्स (Hard-coded endpoints) – मूळ आर्किटेक्चरने प्रत्येक विनंती (request) एकाच मॉडेलकडे पाठवली होती. जेव्हा ते मॉडेल फेल झाले, तेव्हा संपूर्ण API बंद पडले.
- मेमरी कॅप्सचा अभाव (No memory caps) – मोठ्या मॉडेल्सनी उपलब्ध असलेली सर्व RAM वापरली, ज्यामुळे कोणतीही पूर्वसूचना न देता OOM क्रॅश झाले.
- कोल्ड-स्टार्ट लेटन्सी (Cold-start latency) – नवीन मॉडेलसाठी केलेल्या पहिल्या विनंत्यांना काही सेकंद लागतात, ज्यामुळे प्रतिसादाचा वेग कमी होतो.
- अनबाउंडेड कॉनकरन्सी (Unbounded concurrency) – एकाच वेळी आलेल्या विनंत्यांच्या भडिमारामुळे मेमरी आणि CPU वर ताण आला, ज्यामुळे सिस्टिममध्ये बिघाड झाला.
जर सर्व्हिस वास्तववादी लोडखाली ऑनलाइन राहू शकत नसेल, तर केवळ परफॉर्मन्सचे आकडे काहीही कामाचे नाहीत.
डायनॅमिक राउटिंग उपाय (The Dynamic Routing Fix)
इंजिनिअर्सनी तीन तत्त्वांच्या आधारे विनंतीचा मार्ग (request path) पुन्हा लिहिला:
- रनटाइम मॉडेल सिलेक्शन (Runtime model selection) – राउटर स्टॅटिक एंडपॉइंट वापरण्याऐवजी प्रत्येक विनंतीसाठी एक मॉडेल निवडतो.
- हार्डवेअर अवेअरनेस (Hardware awareness) – प्रत्येक विनंतीला मेमरी बजेट दिले जाते; राउटर फक्त अशाच मॉडेल्सना विनंती पाठवतो जी उपलब्ध RAM मध्ये बसू शकतात.
- फॉलबॅक चेन्स (Fallback chains) – जर निवडलेले मॉडेल फेल झाले किंवा टाईमआउट झाले, तर राउटर आपोआप पुढच्या सर्वोत्तम मॉडेलसह पुन्हा प्रयत्न करतो.
सुधारित आर्किटेक्चरमध्ये चार ठोस सुरक्षा उपाय जोडले आहेत:
- बाउंडेड कॉनकरन्सी (Bounded concurrency) – सेमाफोर (semaphore) समांतर इन्फरन्सवर मर्यादा आणतो, ज्यामुळे मेमरी संपण्यापासून बचाव होतो.
- फेल-फास्ट टाईमआउट्स (Fail-fast timeouts) – प्रत्येक विनंतीसाठी कडक टाइमर लावल्यामुळे, मॉडेल संपूर्ण प्रक्रिया थांबवण्यापूर्वीच ते रद्द केले जाते.
- मेमरी बफर्स (Memory buffers) – सिस्टिम ड्रॉपलेटच्या RAM मध्ये २०% अतिरिक्त जागा राखून ठेवते, ज्यामुळे OS ओव्हरहेड आणि अचानक वाढणाऱ्या लोडसाठी जागा सुनिश्चित होते.
- प्री-वॉर्मिंग (Pre-warming) – स्टार्टअपच्या वेळी प्रत्येक मॉडेलला डमी विनंत्या पाठवल्या जातात, ज्यामुळे सुरुवातीचा कोल्ड-स्टार्टचा त्रास कमी होतो.
या उपायांमुळे एक नाजूक पाईपलाईन एका लवचिक (resilient) सर्व्हिसमध्ये बदलली, जी अचूकतेशी फारसा तडजोड न करता ८ GB च्या ड्रॉपलेट्सवर ट्रॅफिक हाताळू शकते.
पुढे काय पाहावे
- हार्डवेअर स्केलिंग (Hardware scaling) – क्लाउड प्रोव्हायडर्स कमी किमतीत मोठी मेमरी ड्रॉपलेट्स उपलब्ध करून देत असल्याने, मोठ्या मॉडेल्ससाठीचा ब्रेकइव्हन पॉईंट (breakeven point) बदलू शकतो.
- मॉडेल कॉम्प्रेशन (Model compression) – क्वांटायझेशन (Quantization) किंवा नॉलेज डिस्टिलेशनमुळे (knowledge distillation) उच्च-अचूकता असलेल्या मॉडेल्सचा RAM वापर कमी होऊ शकतो, ज्यामुळे ती लहान मशीनवर चालू शकतील.
- अडॅप्टिव्ह राउटिंग (Adaptive routing) – भविष्यातील राउटर रिअल-टाइममध्ये शिकू शकतील की कोणत्या क्वेरीसाठी कोणते मॉडेल सर्वोत्तम आहे, ज्यामुळे अचूकता आणि खर्च यांचा समतोल अधिक स्वयंचलित होईल.
याचा सारांश साधा आहे: प्रोडक्शनमध्ये, जो मॉडेल दबावाखाली चालू राहतो, तो कागदावर सर्वोत्तम दिसणाऱ्या मॉडेलपेक्षा जास्त मूल्य देतो. केवळ हेडलाईन अचूकतेवर न जाता तुमच्या डिप्लॉयमेंटच्या मर्यादांवर आधारित मॉडेल निवडा.
