Gemma मॉडल को रन करने के लिए, दो अहम फ़ैसले लेने होते हैं: 1) आपको Gemma का कौनसा वैरिएंट रन करना है और 2) इसे रन करने के लिए, आपको एआई एक्ज़ीक्यूशन का कौनसा फ़्रेमवर्क इस्तेमाल करना है? इन दोनों फ़ैसलों को लेने में एक अहम समस्या यह है कि मॉडल को रन करने के लिए, आपके और आपके उपयोगकर्ताओं के पास कौनसा हार्डवेयर उपलब्ध है.
इस खास जानकारी से, आपको ये फ़ैसले लेने और Gemma मॉडल के साथ काम करना शुरू करने में मदद मिलती है. Gemma मॉडल को रन करने के सामान्य तरीके यहां दिए गए हैं:
- रन करने के लिए कोई फ़्रेमवर्क चुनना
- Gemma का कोई वैरिएंट चुनना
- कॉन्टेंट जनरेट करने और इंटरफ़ेस के लिए अनुरोध रन करना
कोई फ़्रेमवर्क चुनना
Gemma मॉडल, इकोसिस्टम के कई टूल के साथ काम करते हैं. सही टूल चुनने के लिए, यह देखना ज़रूरी है कि आपके पास कौनसा हार्डवेयर उपलब्ध है (क्लाउड जीपीयू बनाम लोकल लैपटॉप) और आपको कौनसा इंटरफ़ेस चाहिए (Python कोड बनाम डेस्कटॉप ऐप्लिकेशन).
अपनी ज़रूरत के हिसाब से सबसे सही टूल की पहचान करने के लिए, यह टेबल देखें:
| अगर आपको यह करना है... | सुझाया गया फ़्रेमवर्क | इनके लिए सर्वश्रेष्ठ: |
|---|---|---|
| Chat यूज़र इंटरफ़ेस (यूआई) की मदद से, स्थानीय तौर पर रन करना | - LM Studio - Ollama |
नए उपयोगकर्ताओं या ऐसे उपयोगकर्ताओं के लिए जो अपने लैपटॉप पर "Gemini जैसा" अनुभव चाहते हैं. |
| Edge पर असरदार तरीके से रन करना | - LiteRT-LM - llama.cpp - MLX |
कम संसाधनों में, स्थानीय तौर पर इंटरफ़ेस की सुविधा का बेहतर इस्तेमाल. |
| Python में बनाना/ट्रेन करना | - Tunix (Tune-in-JAX) - Hugging Face Transformers - Keras - Unsloth |
रिसर्च करने वाले लोग और डेवलपर, कस्टम ऐप्लिकेशन बना रहे हैं या मॉडल को बेहतर बना रहे हैं. |
| प्रोडक्शन / एंटरप्राइज़ में डिप्लॉय करना | - Google Cloud Kubernetes Engine (GKE) - Gemini Enterprise Agent Platform - vLLM - SGLang |
एंटरप्राइज़-ग्रेड की सुरक्षा और MLOps की सहायता के साथ, मैनेज किया गया क्लाउड डिप्लॉयमेंट. |
फ़्रेमवर्क की जानकारी
यहां, Gemma मॉडल को रन करने के लिए गाइड दी गई हैं. इन्हें आपके डिप्लॉयमेंट एनवायरमेंट के हिसाब से कैटगरी में बांटा गया है.
1. डेस्कटॉप और स्थानीय तौर पर इंटरफ़ेस (बेहतर परफ़ॉर्मेंस)
इन टूल की मदद से, उपभोक्ता हार्डवेयर (लैपटॉप, डेस्कटॉप) पर Gemma को रन किया जा सकता है. इसके लिए, ऑप्टिमाइज़ किए गए फ़ॉर्मैट (जैसे, GGUF) या खास हार्डवेयर ऐक्सेलरेटर का इस्तेमाल किया जाता है.
- LM Studio: यह एक डेस्कटॉप ऐप्लिकेशन है. इसकी मदद से, Gemma मॉडल को डाउनलोड किया जा सकता है और उपयोगकर्ता के लिए आसान इंटरफ़ेस में उनसे चैट की जा सकती है. इसके लिए, किसी कोडिंग की ज़रूरत नहीं होती.
- llama.cpp: यह Llama (और Gemma) का एक लोकप्रिय ओपन-सोर्स C++ पोर्ट है. यह सीपीयू और Apple Silicon पर बहुत तेज़ी से काम करता है.
- LiteRT-LM: यह डेस्कटॉप
(Windows, Linux, macOS) पर ऑप्टिमाइज़ किए गए
.litertlmGemma मॉडल को रन करने के लिए, कमांड-लाइन इंटरफ़ेस (CLI) उपलब्ध कराता है. यह LiteRT (पहले इसे TFLite कहा जाता था) पर काम करता है. - MLX: यह फ़्रेमवर्क, खास तौर पर Apple Silicon पर मशीन लर्निंग के लिए डिज़ाइन किया गया है. यह Mac उपयोगकर्ताओं के लिए सबसे सही है, जो इन-बिल्ट परफ़ॉर्मेंस चाहते हैं.
- Ollama: यह स्थानीय तौर पर ओपन एलएलएम को रन करने का एक टूल है. इसका इस्तेमाल अक्सर अन्य ऐप्लिकेशन को पावर देने के लिए किया जाता है.
2. Python डेवलपमेंट (रिसर्च और फ़ाइन-ट्यूनिंग)
एआई डेवलपर, ऐप्लिकेशन, पाइपलाइन या ट्रेनिंग मॉडल बनाने के लिए, स्टैंडर्ड फ़्रेमवर्क का इस्तेमाल करते हैं.
- Hugging Face Transformers: यह मॉडल और पाइपलाइन को तुरंत ऐक्सेस करने के लिए, इंडस्ट्री का स्टैंडर्ड है.
- Unsloth: यह एलएलएम को फ़ाइन-ट्यून करने के लिए, ऑप्टिमाइज़ की गई लाइब्रेरी है. इसकी मदद से, Gemma मॉडल को 2 से 5 गुना तेज़ी से ट्रेन किया जा सकता है.साथ ही, इसमें काफ़ी कम मेमोरी की ज़रूरत होती है. इससे, उपभोक्ता जीपीयू (जैसे, Google Colab के मुफ़्त टियर) पर फ़ाइन-ट्यून किया जा सकता है.
- Keras / Tunix (Tune-in-JAX): ये डीप लर्निंग रिसर्च और कस्टम आर्किटेक्चर लागू करने के लिए, मुख्य लाइब्रेरी हैं.
3. मोबाइल और Edge डिप्लॉयमेंट (डिवाइस पर)
ये फ़्रेमवर्क, एलएलएम को सीधे उपयोगकर्ता के डिवाइसों (Android, iOS, वेब) पर, इंटरनेट कनेक्टिविटी के बिना रन करने के लिए डिज़ाइन किए गए हैं. इनमें अक्सर एनपीयू (न्यूरल प्रोसेसिंग यूनिट) का इस्तेमाल किया जाता है.
- LiteRT-LM: यह डिवाइस पर एलएलएम डेवलपमेंट के लिए, पूरी तरह से ओपन-सोर्स फ़्रेमवर्क है. यह बेहतर परफ़ॉर्मेंस और फ़ाइन-ग्रेन कंट्रोल उपलब्ध कराता है. साथ ही, Android और iOS पर सीपीयू, जीपीयू, और एनपीयू ऐक्सेलरेटर के लिए डायरेक्ट सपोर्ट उपलब्ध कराता है.
4. क्लाउड और प्रोडक्शन डिप्लॉयमेंट
ये मैनेज की गई सेवाएं हैं. इनकी मदद से, अपने ऐप्लिकेशन को हज़ारों उपयोगकर्ताओं के लिए स्केल किया जा सकता है या बड़े पैमाने पर कंप्यूट पावर को ऐक्सेस किया जा सकता है.
- Gemini Enterprise Agent Platform: यह Google Cloud का पूरी तरह से मैनेज किया गया एआई प्लैटफ़ॉर्म है. यह एंटरप्राइज़ ऐप्लिकेशन के लिए सबसे सही है. इसके लिए, एसएलए और स्केलिंग की ज़रूरत होती है.
- Google Cloud Kubernetes Engine (GKE): यह आपके खुद के सर्विंग क्लस्टर को ऑर्केस्ट्रेट करने के लिए है.
- vLLM: यह हाई-थ्रूपुट और मेमोरी-एफ़िशिएंट इंटरफ़ेस और सर्विंग इंजन है. इसका इस्तेमाल अक्सर क्लाउड डिप्लॉयमेंट में किया जाता है.
- SGLang: यह बड़े लैंग्वेज और मल्टीमॉडल मॉडल के लिए, हाई-परफ़ॉर्मेंस सर्विंग फ़्रेमवर्क है.
पक्का करें कि आपके चुने गए फ़्रेमवर्क में, डिप्लॉयमेंट के लिए इस्तेमाल किया जाने वाला Gemma मॉडल फ़ॉर्मैट काम करता हो. जैसे, Keras का इन-बिल्ट फ़ॉर्मैट, Safetensors या GGUF.
Gemma का कोई वैरिएंट चुनना
Gemma मॉडल, कई वैरिएंट और साइज़ में उपलब्ध हैं. इनमें फ़ाउंडेशन या कोर Gemma मॉडल, और ज़्यादा खास मॉडल वैरिएंट शामिल हैं. जैसे, PaliGemma और DataGemma. इसके अलावा, एआई डेवलपर कम्यूनिटी ने Kaggle और Hugging Face जैसी साइटों पर कई वैरिएंट बनाए हैं. अगर आपको यह तय नहीं है कि आपको कौनसा वैरिएंट चुनना चाहिए, तो पैरामीटर की सबसे कम संख्या वाला, निर्देश के हिसाब से ट्यून किया गया (आईटी) Gemma का नया कोर मॉडलचुनें. इस तरह के Gemma मॉडल के लिए, कम कंप्यूट की ज़रूरत होती है. साथ ही, यह बिना किसी अतिरिक्त डेवलपमेंट के, कई तरह के प्रॉम्प्ट का जवाब दे सकता है.
Gemma का कोई वैरिएंट चुनते समय, इन बातों का ध्यान रखें:
- Gemma कोर और अन्य वैरिएंट फ़ैमिली, जैसे कि PaliGemma, CodeGemma: हमारा सुझाव है कि Gemma (कोर) का इस्तेमाल करें. कोर वर्शन के अलावा, Gemma के अन्य वैरिएंट का आर्किटेक्चर, कोर मॉडल जैसा ही होता है. इन्हें खास टास्क को बेहतर तरीके से करने के लिए ट्रेन किया जाता है. अगर आपका ऐप्लिकेशन या लक्ष्य, Gemma के किसी खास वैरिएंट की विशेषज्ञता के मुताबिक नहीं है, तो हमारा सुझाव है कि Gemma कोर या बेस मॉडल से शुरुआत करें.
- निर्देश के हिसाब से ट्यून किया गया (आईटी), पहले से ट्रेन किया गया (पीटी), फ़ाइन-ट्यून किया गया (एफ़टी), मिक्स
(मिक्स): हमारा सुझाव है कि आईटी का इस्तेमाल करें.
- Gemma के निर्देश के हिसाब से ट्यून किए गए (आईटी) वैरिएंट, ऐसे मॉडल होते हैं जिन्हें मानवीय भाषा में, कई तरह के निर्देशों या अनुरोधों का जवाब देने के लिए ट्रेन किया गया है. इन मॉडल वैरिएंट से शुरुआत करना सबसे सही है, क्योंकि ये मॉडल को और ट्रेन किए बिना ही प्रॉम्प्ट का जवाब दे सकते हैं.
- Gemma के पहले से ट्रेन किए गए (पीटी) वैरिएंट, ऐसे मॉडल होते हैं जिन्हें भाषा या अन्य डेटा के बारे में इंटरफ़ेस बनाने के लिए ट्रेन किया गया है. हालांकि, इन्हें मानवीय निर्देशों का पालन करने के लिए ट्रेन नहीं किया गया है. इन मॉडल को टास्क को असरदार तरीके से करने के लिए, अतिरिक्त ट्रेनिंग या ट्यूनिंग की ज़रूरत होती है. ये मॉडल, रिसर्च करने वाले लोगों या डेवलपर के लिए होते हैं. ये लोग, मॉडल की क्षमताओं और उसके आर्किटेक्चर का अध्ययन करना या उन्हें बेहतर बनाना चाहते हैं.
- Gemma के फ़ाइन-ट्यून किए गए (एफ़टी) वैरिएंट को आईटी वैरिएंट माना जा सकता है. हालांकि, इन्हें आम तौर पर किसी खास टास्क को करने या जनरेटिव एआई के किसी खास बेंचमार्क पर बेहतर परफ़ॉर्म करने के लिए ट्रेन किया जाता है. PaliGemma वैरिएंट फ़ैमिली में, एफ़टी के कई वैरिएंट शामिल हैं.
- Gemma के मिक्स (मिक्स) वैरिएंट, PaliGemma मॉडल के ऐसे वर्शन हैं जिन्हें कई तरह के निर्देशों के हिसाब से ट्यून किया गया है. ये सामान्य इस्तेमाल के लिए सही हैं.
- पैरामीटर: हमारा सुझाव है कि उपलब्ध पैरामीटर की सबसे कम संख्या वाला मॉडल चुनें. आम तौर पर, जिस मॉडल में जितने ज़्यादा पैरामीटर होते हैं, वह उतना ही बेहतर होता है. हालांकि, बड़े मॉडल को रन करने के लिए, बड़े और ज़्यादा जटिल कंप्यूट संसाधनों की ज़रूरत होती है. साथ ही, इससे आम तौर पर एआई ऐप्लिकेशन का डेवलपमेंट धीमा हो जाता है. अगर आपने पहले से यह तय नहीं किया है कि Gemma का कोई छोटा मॉडल आपकी ज़रूरतों को पूरा नहीं कर सकता, तो कम पैरामीटर वाला मॉडल चुनें.
- क्वांटाइज़ेशन लेवल: हमारा सुझाव है कि ट्यूनिंग के अलावा, हाफ़ प्रिसिशन (16-बिट) का इस्तेमाल करें. क्वांटाइज़ेशन एक जटिल विषय है. इसका मतलब है कि डेटा का साइज़ और प्रिसिशन क्या है. साथ ही, जनरेटिव एआई मॉडल, कैलकुलेशन और जवाब जनरेट करने के लिए कितनी मेमोरी का इस्तेमाल करता है. किसी मॉडल को हाई-प्रिसिशन डेटा से ट्रेन करने के बाद, आम तौर पर यह 32-बिट फ़्लोटिंग पॉइंट डेटा होता है, Gemma जैसे मॉडल को 16, 8 या 4-बिट साइज़ जैसे कम प्रिसिशन वाले डेटा का इस्तेमाल करने के लिए बदला जा सकता है. क्वांटाइज़ किए गए ये Gemma मॉडल, टास्क की जटिलता के हिसाब से अब भी बेहतर परफ़ॉर्म कर सकते हैं. साथ ही, इनमें काफ़ी कम कंप्यूट और मेमोरी संसाधनों का इस्तेमाल होता है. हालांकि, क्वांटाइज़ किए गए मॉडल को ट्यून करने के लिए टूल सीमित हैं. साथ ही, हो सकता है कि ये आपके चुने गए एआई डेवलपमेंट फ़्रेमवर्क में उपलब्ध न हों. आम तौर पर, आपको Gemma जैसे मॉडल को पूरी प्रिसिशन पर फ़ाइन-ट्यून करना होगा. इसके बाद, नतीजे के तौर पर मिले मॉडल को क्वांटाइज़ करना होगा.
Google ने पब्लिश किए गए मुख्य Gemma मॉडल की सूची के लिए, Gemma मॉडल इस्तेमाल करना शुरू करें, Gemma मॉडल की सूची देखें.
कॉन्टेंट जनरेट करने और इंटरफ़ेस के लिए अनुरोध रन करना
एआई एक्ज़ीक्यूशन फ़्रेमवर्क और Gemma का कोई वैरिएंट चुनने के बाद, मॉडल को रन किया जा सकता है. साथ ही, इससे कॉन्टेंट जनरेट करने या टास्क पूरे करने के लिए कहा जा सकता है. किसी खास फ़्रेमवर्क की मदद से Gemma को रन करने के बारे में ज़्यादा जानने के लिए, गाइड देखें. ये गाइड कोई फ़्रेमवर्क चुनना सेक्शन में लिंक की गई हैं.
प्रॉम्प्ट फ़ॉर्मैटिंग
निर्देश के हिसाब से ट्यून किए गए Gemma के सभी वैरिएंट के लिए, प्रॉम्प्ट फ़ॉर्मैटिंग की खास ज़रूरतें होती हैं. Gemma मॉडल को रन करने के लिए इस्तेमाल किए जाने वाले फ़्रेमवर्क से, फ़ॉर्मैटिंग की इनमें से कुछ ज़रूरतें अपने-आप पूरी हो जाती हैं. हालांकि, जब प्रॉम्प्ट डेटा को सीधे टोकनाइज़र को भेजा जाता है, तो आपको खास टैग जोड़ने होंगे. साथ ही, टैग करने की ज़रूरतें, इस्तेमाल किए जा रहे Gemma के वैरिएंट के हिसाब से बदल सकती हैं. Gemma के वैरिएंट के प्रॉम्प्ट फ़ॉर्मैटिंग और सिस्टम के निर्देशों के बारे में जानने के लिए, ये गाइड देखें: