Gemma जैसे जनरेटिव आर्टिफ़िशियल इंटेलिजेंस (एआई) मॉडल को फ़ाइन-ट्यून करने से, मॉडल के व्यवहार में बदलाव होता है. आम तौर पर, Gemma को किसी खास टास्क या डोमेन पर बेहतर परफ़ॉर्म करने के लिए फ़ाइन-ट्यून किया जाता है. इसके अलावा, इसे ग्राहक सेवा जैसी भूमिका को बेहतर तरीके से निभाने के लिए भी फ़ाइन-ट्यून किया जाता है. Gemma मॉडल, ओपन वेट के साथ रिलीज़ किए जाते हैं. इसका मतलब है कि आपके पास उन वेट में बदलाव करने का विकल्प होता है. इससे मॉडल के काम करने के तरीके में बदलाव होता है. Gemma मॉडल को बेहतर बनाने के लिए, यह तरीका अपनाएं:
कोई फ़्रेमवर्क चुनें
Gemma मॉडल, एआई ट्यूनिंग के कई फ़्रेमवर्क के साथ काम करते हैं. हर फ़्रेमवर्क के कई फ़ायदे हैं. साथ ही, आम तौर पर यह किसी खास मॉडल फ़ॉर्मैट तक सीमित होता है. यहां अलग-अलग फ़्रेमवर्क के साथ Gemma मॉडल को ट्यून करने के लिए गाइड दी गई हैं:
- LoRA का इस्तेमाल करके Keras
- JAX के लिए Gemma लाइब्रेरी
- Hugging Face
- Google Cloud GKE (HF Transformers के साथ मल्टी-जीपीयू)
- Google Cloud Vertex AI
- Unsloth
- Axolotl
- डिस्ट्रिब्यूटेड ट्यूनिंग का इस्तेमाल करने वाला Keras
पक्का करें कि आपके चुने गए फ़्रेमवर्क में, Keras फ़ॉर्मैट, Safetensors या GGUF जैसे डिप्लॉयमेंट मॉडल फ़ॉर्मैट को आउटपुट के तौर पर इस्तेमाल किया जा सकता हो.
डेटा संग्रहित करें
मॉडल को ट्यून करने के लिए डेटा की ज़रूरत होती है. ट्यूनिंग डेटा में आम तौर पर, इनपुट डेटा के ऐसे जोड़े होते हैं जिनमें अनुमानित जवाब शामिल होता है. अलग-अलग टास्क या आउटपुट के लिए ट्रेनिंग देने के मकसद से, ऑनलाइन कई सार्वजनिक डेटासेट उपलब्ध हैं. उदाहरण के लिए, अगर आपको कार के पुर्जों की जानकारी को पार्ट नंबर में बदलने के लिए, Gemma मॉडल को ट्रेन करना है, तो आपके डेटासेट में यह जानकारी शामिल हो सकती है:
training_data = [
{"input_text": "Part number for A4 brake caliper", "output_text": "4M0615107BS"},
{"input_text": "Part number for Beetle fuel pump", "output_text": "6A127026H"},
{"input_text": "Part number for Camaro cylinder head", "output_text": "12711770"},
]
अगर आपको किसी Gemma मॉडल से कोई खास टास्क करवाना है या उसे कोई भूमिका सौंपनी है, तो आम तौर पर आपको एक ऐसा डेटासेट तैयार करना होगा जिसमें उस टास्क के कई वर्शन दिखाए गए हों. किसी मॉडल को ट्यून करने के लिए, आपको कितना डेटा चाहिए, यह आपके लक्ष्यों पर निर्भर करता है. खास तौर पर, आपको मॉडल से व्यवहार में कितना बदलाव चाहिए और आपको मॉडल से कितना बेहतर परफ़ॉर्म करवाना है. यह इस बात पर निर्भर करता है कि कौनसे टास्क पूरे करने हैं और इनपुट डेटा में कितना अंतर है.
आम तौर पर, आपको टास्क ट्यूनिंग के लिए डेटा के छोटे सेट से शुरुआत करनी चाहिए. इसके बाद, ट्रेनिंग के पैरामीटर में बदलाव करना चाहिए. साथ ही, अपनी ज़रूरत के हिसाब से टास्क परफ़ॉर्मेंस हासिल करने तक डेटा जोड़ते रहना चाहिए. हमारे कुछ उदाहरण ऐप्लिकेशन से पता चलता है कि सिर्फ़ 20 प्रॉम्प्ट और जवाब के जोड़े की मदद से, Gemma मॉडल के व्यवहार को बदला जा सकता है. ज़्यादा जानकारी के लिए, Gemma की मदद से कारोबार के लिए ईमेल लिखने वाला एआई असिस्टेंट बनाना और Gemma की मदद से बोली जाने वाली भाषाओं में टास्क पूरे करना लेख पढ़ें.
मॉडल को ट्यून करना और उसकी जांच करना
ट्यूनिंग फ़्रेमवर्क और ट्यूनिंग डेटा तैयार होने के बाद, Gemma मॉडल को ट्यून करने की प्रोसेस शुरू की जा सकती है. ट्यूनिंग करते समय, आपके पास कुछ विकल्प होते हैं. इनसे यह तय होता है कि आपको ट्यूनिंग कैसे करनी है. साथ ही, इससे यह भी तय होता है कि आपको ट्यूनिंग पूरी करने के लिए किन संसाधनों की ज़रूरत होगी. आपके पास ट्यून किए गए मॉडल की जांच करने के लिए एक प्लान भी होना चाहिए. इससे यह पता लगाया जा सकता है कि ट्यूनिंग के बाद, मॉडल आपकी उम्मीद के मुताबिक परफ़ॉर्म कर रहा है या नहीं.
पैरामीटर-इफ़िशिएंट ट्यूनिंग
Gemma जैसे ओपन वेट मॉडल को फ़ाइन-ट्यून करते समय, आपके पास ये विकल्प होते हैं: मॉडल के सभी पैरामीटर को ट्यून करें या संसाधन की कम खपत करने वाली, पैरामीटर को बेहतर तरीके से ट्यून करने की तकनीक का इस्तेमाल करें. इससे पैरामीटर के सबसेट अपडेट होते हैं. पूरी तरह से ट्यून करने का मतलब है कि ट्यूनिंग डेटा लागू करते समय, मॉडल के सभी पैरामीटर के लिए नए वेट कैलकुलेट किए जाते हैं. इस तरीके में, ज़्यादा कंप्यूटिंग और मेमोरी की ज़रूरत होती है, क्योंकि आपको अरबों पैरामीटर के लिए ये कैलकुलेशन करनी होती हैं. पैरामीटर एफ़िशिएंट फ़ाइन-ट्यूनिंग (पीईएफ़टी) जैसे कम रिसोर्स का इस्तेमाल करने वाले ट्यूनिंग के तरीकों का इस्तेमाल करके, कम कंप्यूट रिसोर्स में मिलते-जुलते नतीजे पाए जा सकते हैं. इनमें लो रैंक अडैप्टर (एलओआरए) ट्यूनिंग जैसी तकनीकें शामिल हैं. LoRA का इस्तेमाल करके, कम संसाधनों में ट्यूनिंग करने के तरीके के बारे में जानने के लिए, LoRA का इस्तेमाल करके Keras में Gemma मॉडल को फ़ाइन-ट्यून करना और Hugging Face में Gemma मॉडल को फ़ाइन-ट्यून करना लेख पढ़ें.
फ़ाइन-ट्यून किए गए मॉडल की टेस्टिंग
किसी मॉडल को किसी खास टास्क के लिए ट्यून करने के बाद, आपको उसकी परफ़ॉर्मेंस को उन टास्क के सेट के हिसाब से टेस्ट करना चाहिए जिन्हें आपको उससे पूरा करवाना है. आपको अपने मॉडल की जांच ऐसे टास्क या अनुरोधों के साथ करनी चाहिए जिनके लिए उसे खास तौर पर ट्रेन नहीं किया गया था. ट्यून किए गए मॉडल की जांच करने का तरीका, इस बात पर निर्भर करता है कि आपको उससे कौनसे टास्क पूरे कराने हैं. साथ ही, इस बात पर भी निर्भर करता है कि मॉडल के इनपुट और आउटपुट को कितनी बारीकी से मैनेज किया जाता है. जनरेटिव मॉडल की टेस्टिंग को मैनेज करने का एक सामान्य तरीका यह है कि सफलता, असफलता, और बॉर्डरलाइन मामलों का इस्तेमाल किया जाए:
- सक्सेस टेस्ट: ऐसे अनुरोध जिन्हें ट्यून किए गए मॉडल को हमेशा पूरा करना चाहिए.
- फ़ेल होने वाले टेस्ट: ऐसे अनुरोध जिन्हें ट्यून किए गए मॉडल को कभी भी पूरा नहीं करना चाहिए या अनुरोध किए जाने पर साफ़ तौर पर मना कर देना चाहिए.
- सीमा से जुड़े टेस्ट: ऐसे अनुरोध जिनसे यह पता चलता है कि ट्यून किया गया मॉडल, तय की गई सीमा या सीमाओं के सेट के अंदर आने पर, स्वीकार्य आउटपुट देने से जुड़ी कार्रवाइयां कर सकता है या नहीं.
जनरेटिव एआई ऐप्लिकेशन की टेस्टिंग के दौरान, अगर कोई गड़बड़ी होती है या सीमा से जुड़ी कोई समस्या आती है, तो आपको जनरेटिव एआई की सुरक्षा से जुड़े तरीके, तकनीकें, और टूल भी इस्तेमाल करने चाहिए. इनके बारे में ज़िम्मेदारी के साथ जनरेटिव एआई का इस्तेमाल करने से जुड़े टूलकिट में बताया गया है.
मॉडल डिप्लॉय करना
ट्यूनिंग और टेस्टिंग पूरी होने के बाद, अब मॉडल को डिप्लॉय करने का समय है. आम तौर पर, ट्यून किए गए मॉडल को डिप्लॉय करने का तरीका जानने के लिए, चुने गए फ़्रेमवर्क के दस्तावेज़ देखें.
अगर आपको LoRA के साथ ट्यून किए गए वेट वाला मॉडल डिप्लॉय करना है, तो ध्यान दें कि इस तकनीक की मदद से, आम तौर पर ओरिजनल मॉडल और उसके वेट, दोनों डिप्लॉय किए जाते हैं. साथ ही, LoRA वेट को मॉडल के लिए अतिरिक्त कैलकुलेशन लेयर के तौर पर इस्तेमाल किया जाता है.