LLM समाकलनासाठी API चा वापर
LLM ला कोडबेसमध्ये समाकलित करण्याचे विविध मार्ग आहेत, परंतु उत्पादन उपयोजनांसाठी OpenAI-सुसंगत API वापरण्याची अत्यंत शिफारस केली जाते. हा दृष्टीकोन मॉडेलच्या वेगाने बदलणाऱ्या परिदृश्यानुसार जुळवून घेण्याची लवचिकता प्रदान करतो. काही महिन्यांपूर्वी अत्याधुनिक मानले जाणारे मॉडेल्स लवकरच कालबाह्य होऊ शकतात.
2022 मध्ये ChatGPT पासून सुरू झालेल्या AI तेजीमुळे, OpenAI चा API इंटरफेस ॲप्लिकेशन्सना LLM शी जोडण्यासाठी एक मानक म्हणून उदयास आला आहे. हे मानक विकासकांना नोटबुकवर Llama.cpp मध्ये Mistral 7B ने सुरुवात करणे आणि उत्पादन उपयोजनासाठी Mistral AI च्या API सर्व्हरवर अखंडपणे संक्रमण करणे यासारख्या उपलब्ध संसाधनांचा वापर करून ॲप्लिकेशन्स तयार करण्यास अनुमती देते. यामुळे तुम्ही एकाच मॉडेल, अनुमान इंजिन किंवा API प्रदात्यामध्ये अडकून पडत नाही.
क्लाउड-आधारित अनुमान सेवा AI उपयोजनांना स्केल करण्यासाठी भांडवली खर्च (capex) अनुकूल साधन प्रदान करतात. या सेवा हार्डवेअर व्यवस्थापन आणि मॉडेल कॉन्फिगरेशनची आवश्यकता दूर करतात, त्याऐवजी ॲप्लिकेशन समाकलनासाठी API प्रदान करतात.
प्रमुख मॉडेल निर्मात्यांकडून API ऑफरिंग व्यतिरिक्त, AI इन्फ्रास्ट्रक्चर स्टार्टअप्सची वाढती संख्या ओपन-वेट मॉडेल्ससाठी अनुमान-ॲज-ए-सर्व्हिस देतात. हे प्रदाते त्यांच्या दृष्टिकोनानुसार भिन्न आहेत. SambaNova, Cerebras आणि Groq सारखे काही, वेगवान अनुमानासाठी विशिष्ट हार्डवेअर किंवा स्पेक्युलेटिव्ह डीकोडिंगसारख्या तंत्रांचा वापर करतात, परंतु मॉडेल्सची लहान निवड देतात. Fireworks AI सारखे इतर, लो रँक ॲडॉप्टेशन (LoRA) ॲडॉप्टर वापरून सानुकूल फाइन-ट्यून केलेल्या मॉडेल्सच्या उपयोजनास समर्थन देतात. AI इकोसिस्टममधील विविधतेमुळे विशिष्ट प्रदात्यासाठी वचनबद्ध होण्यापूर्वी संपूर्ण संशोधन करणे आवश्यक आहे.
ऑन-प्रिमाइसेस LLM उपयोजन विचार
ज्या परिस्थितीत गोपनीयता, नियामक किंवा पूर्व-विद्यमान पायाभूत सुविधा (उदा. कंपनीने GPU सर्व्हरमध्ये आधीच गुंतवणूक केली आहे) निर्बंधांमुळे क्लाउड-आधारित दृष्टीकोन शक्य नाही, तेथे ऑन-प्रिमाइसेस उपयोजन आवश्यक होते. हे अनेक आव्हाने उभे करू शकते. उद्भवणारे काही सामान्य प्रश्न खालीलप्रमाणे आहेत:
- मॉडेल निवड: योग्य मॉडेल विशिष्ट वापराच्या प्रकरणावर अवलंबून असते. ग्राहक सेवा चॅटबॉटसाठी डिझाइन केलेले मॉडेल पुनर्प्राप्ती-संवर्धित जनरेशन किंवा कोड सहाय्यक म्हणून वापरल्या जाणार्या मॉडेलपेक्षा वेगळे असेल. गरजा पूर्ण करणारे मॉडेल ओळखण्यासाठी API प्रदात्यांसोबत वेळ घालवण्याची शिफारस केली जाते.
- हार्डवेअर आवश्यकता: आवश्यक हार्डवेअर निश्चित करणे महत्वाचे आहे, कारण GPUs महाग आहेत आणि ते मिळवणे कठीण होऊ शकते. मॉडेल स्वतः ते चालवण्यासाठी आवश्यक असलेल्या हार्डवेअरमध्ये अंतर्दृष्टी प्रदान करू शकते. मोठ्या मॉडेल्सना अधिक हार्डवेअरची आवश्यकता असते. किमान GPU मेमरीचा अंदाजे अंदाज पॅरामीटर संख्या (अब्जावधीमध्ये) 16-बिट अचूकतेवर प्रशिक्षित केलेल्या मॉडेल्ससाठी 2GB ने गुणाकार करून मोजला जाऊ शकतो. 8-बिट मॉडेल्ससाठी, प्रति अब्ज पॅरामीटर्स 1GB आवश्यक आहे. प्रमाणीकरण (Quantization) सारख्या मॉडेल कॉम्प्रेशन तंत्रामुळे हे प्रमाण 512MB प्रति अब्ज पॅरामीटर्सपर्यंत कमी होऊ शकते. ही एक निम्न मर्यादा आहे. की-व्हॅल्यू कॅशेमुळे एकाच वेळी अनेक वापरकर्त्यांना मॉडेल देण्यासाठी अतिरिक्त मेमरी आवश्यक आहे, जी मॉडेलची अल्प-मुदतीची मेमरी म्हणून कार्य करते. Nvidia चे सपोर्ट मॅट्रिक्स विविध मॉडेल्स चालवण्यासाठी आवश्यक असलेल्या GPUs बद्दल मार्गदर्शन करते.
- अनावश्यकता (Redundancy): मॉडेलसाठी हार्डवेअर आकारण्याव्यतिरिक्त, अनावश्यकतेचा विचार करणे आवश्यक आहे. एकच GPU नोड अयशस्वी होण्यास असुरक्षित आहे, त्यामुळे फेलओवर आणि लोड बॅलेंसिंगसाठी दोन किंवा अधिक सिस्टम तैनात करणे महत्वाचे आहे.
- उपयोजन पद्धती: LLM ला विविध पद्धती वापरून उत्पादनात उपयोजित आणि सर्व्ह केले जाऊ शकते: लोड बॅलेंसरसह बेअर मेटल, व्हर्च्युअल मशीन किंवा Docker किंवा Kubernetes मध्ये कंटेनर. Kubernetes कंटेनर तयार करणे, नेटवर्किंग आणि लोड बॅलेंसिंग स्वयंचलित करून मोठ्या प्रमाणात उपयोजना सुलभ करते.
LLM उपयोजनासाठी Kubernetes
Kubernetes कंटेनर तयार करणे, नेटवर्किंग आणि लोड बॅलेंसिंग स्वयंचलित करून मोठ्या प्रमाणात उपयोजनाशी संबंधित बरीच गुंतागुंत कमी करते. बर्याच उद्योगांनी Kubernetes आधीच स्वीकारले आणि समजून घेतले आहे. Nvidia, Hugging Face आणि इतर सामान्य वर्कलोड्स आणि उपयोजनांसाठी प्रीकॉन्फिगर केलेल्या Nvidia Inference Microservices (NIMs) आणि Hugging Face Generative AI Services (HUGS) सह कंटेनरीकृत वातावरणास प्राधान्य देतात.
अनुमान इंजिन
मॉडेल्स चालवण्यासाठी विविध अनुमान इंजिन उपलब्ध आहेत, ज्यात Ollama आणि Llama.cpp यांचा समावेश आहे, जे हार्डवेअरच्या विस्तृत श्रेणीशी सुसंगत आहेत. मॉडेल्स स्केल करण्यासाठी, vLLM, TensorRT LLM, SGLang आणि PyTorch सारख्या लायब्ररी अनेकदा वापरल्या जातात. हे मार्गदर्शक vLLM वापरून मॉडेल्स तैनात करण्यावर लक्ष केंद्रित करते, कारण ते लोकप्रिय मॉडेल्सची विस्तृत निवड पुरवते आणि Nvidia, AMD आणि इतर हार्डवेअरमध्ये विस्तृत समर्थन आणि सुसंगतता प्रदान करते.
Kubernetes वातावरण तयार करणे
GPU सह कार्य करण्यासाठी Kubernetes वातावरण सेट करण्यासाठी सामान्य Kubernetes सेटअपच्या तुलनेत अतिरिक्त ड्राइव्हर्स आणि अवलंबित्व आवश्यक आहेत. AMD आणि Nvidia हार्डवेअरसाठी सेटअप प्रक्रिया भिन्न असेल.
हे मार्गदर्शक सिंगल-नोड कॉन्फिगरेशनमध्ये K3S वापरते. मूलभूत पायऱ्या मल्टी-नोड वातावरणासारख्याच आहेत, परंतु अवलंबित्व प्रत्येक GPU वर्कर नोडवर पूर्ण करणे आवश्यक आहे आणि स्टोरेज कॉन्फिगरेशनमध्ये समायोजनाची आवश्यकता असू शकते.
उत्पादन-अनुकूल पद्धतीने अनुमान वर्कलोड्स तैनात करण्यासाठी एक मजबूत आधार प्रदान करणे हे ध्येय आहे. यासाठी खालील आवश्यकता आहेत:
- किमान एक सपोर्टेड AMD किंवा Nvidia GPU बोर्ड असलेला सर्व्हर किंवा वर्कस्टेशन
- Ubuntu 24.04 LTS ची ताजी स्थापना
Nvidia अवलंबित्व
Nvidia-प्रवेगित K3S वातावरण सेट करण्यासाठी CUDA ड्राइव्हर्स फॅब्रिक मॅनेजर आणि हेडलैस सर्व्हर ड्राइव्हर्स स्थापित करणे आवश्यक आहे. ड्राइव्हर समस्या डीबग करण्यासाठी Nvidia ची सर्व्हर युटिलिटीज स्थापित करा.