मॉडल ट्यूनिंग के बारे में जानकारी

जल्दी से डिज़ाइन करने की रणनीति से, ज़रूरी नहीं कि कभी-कभी मनमुताबिक नतीजे न मिलें. जैसे, कुछ शॉट के लिए प्रॉम्प्ट देना. मॉडल ट्यूनिंग का इस्तेमाल, खास टास्क पर मॉडल की परफ़ॉर्मेंस को बेहतर बनाने के लिए करें. इसके अलावा, जब निर्देश काफ़ी न हों, तब मॉडल को आउटपुट की खास ज़रूरतों का पालन करने में मदद करें और आपके पास ऐसे उदाहरणों का सेट हो जो आपको पसंद के आउटपुट दिखाते हों.

इस पेज पर, Gemini API की टेक्स्ट सेवा वाले टेक्स्ट मॉडल को ट्यून करने के बारे में दिशा-निर्देश दिए गए हैं.

मॉडल ट्यूनिंग कैसे काम करती है

मॉडल ट्यूनिंग का मकसद, आपके खास टास्क के लिए मॉडल की परफ़ॉर्मेंस को और बेहतर बनाना है. मॉडल ट्यूनिंग, मॉडल को एक ट्रेनिंग डेटासेट देकर काम करती है. इसमें टास्क के कई उदाहरण होते हैं. खास टास्क के लिए, मॉडल की परफ़ॉर्मेंस को बहुत बेहतर बनाया जा सकता है. इसके लिए, इस मॉडल को छोटे-छोटे उदाहरणों से ट्यून करें.

आपकी ट्रेनिंग का डेटा, उदाहरण के तौर पर तैयार किया जाना चाहिए. इसमें प्रॉम्प्ट के इनपुट और मिलने वाले रिस्पॉन्स के आउटपुट के बारे में बताया जाना चाहिए. सीधे Google AI Studio में जाकर, उदाहरण के तौर पर दिए गए डेटा का इस्तेमाल करके भी मॉडल को ट्यून किया जा सकता है. इसका मकसद मॉडल को, मनचाहा व्यवहार या काम की नकल करना सिखाना है. ऐसा करने के लिए, मॉडल को उस व्यवहार या टास्क के बारे में कई उदाहरण दिए जाते हैं.

ट्यूनिंग जॉब चलाने पर, मॉडल कुछ और पैरामीटर भी सीखता है. इनसे मॉडल को मनचाहे काम को करने या व्यवहार को समझने के लिए, ज़रूरी जानकारी को कोड में बदलने में मदद मिलती है. इसके बाद, अनुमान के समय इन पैरामीटर का इस्तेमाल किया जा सकता है. ट्यूनिंग जॉब का आउटपुट एक नया मॉडल है, जो असरदार तरीके से सीखे गए नए पैरामीटर और ओरिजनल मॉडल का कॉम्बिनेशन है.

इस्तेमाल किए जा सकने वाले मॉडल

नीचे दिए गए फ़ाउंडेशन मॉडल, मॉडल ट्यूनिंग के साथ काम करते हैं. सिर्फ़ एक-टर्न वाले टेक्स्ट को ही पूरा किया जा सकता है.

  • Gemini 1.0 Pro
  • text-bison-001

मॉडल ट्यूनिंग के लिए वर्कफ़्लो

मॉडल ट्यूनिंग वर्कफ़्लो इस तरह का है:

  1. अपना डेटासेट तैयार करें.
  2. Google AI Studio का इस्तेमाल करने पर, डेटासेट इंपोर्ट करें.
  3. ट्यूनिंग का काम शुरू करें.

मॉडल ट्यूनिंग पूरा होने के बाद, आपके ट्यून किए गए मॉडल का नाम दिखता है. इसे Google AI Studio में मॉडल के तौर पर भी चुना जा सकता है, ताकि नया प्रॉम्प्ट बनाते समय इसका इस्तेमाल किया जा सके.

अपना डेटासेट तैयार करना

ट्यूनिंग शुरू करने से पहले, आपको मॉडल को ट्यून करने के लिए डेटासेट की ज़रूरत होगी. बेहतर परफ़ॉर्मेंस के लिए, डेटासेट में मौजूद उदाहरण अच्छी क्वालिटी के होने चाहिए. साथ ही, इनमें अलग-अलग तरह के और रीयल इनपुट और आउटपुट के तौर पर दिए गए उदाहरण होने चाहिए.

फ़ॉर्मैट

आपके डेटासेट में शामिल उदाहरण, प्रोडक्शन के अनुमानित ट्रैफ़िक से मेल खाने चाहिए. अगर आपके डेटासेट में खास फ़ॉर्मैटिंग, कीवर्ड, निर्देश या जानकारी है, तो प्रोडक्शन डेटा को भी एक ही तरह से फ़ॉर्मैट किया जाना चाहिए. साथ ही, उसमें एक जैसे निर्देश भी होने चाहिए.

उदाहरण के लिए, अगर आपके डेटासेट में मौजूद उदाहरणों में "question:" और "context:" शामिल हैं, तो प्रोडक्शन ट्रैफ़िक को भी "question:" और "context:" को उसी क्रम में शामिल करने के लिए फ़ॉर्मैट किया जाना चाहिए जिस क्रम में डेटासेट के उदाहरणों में दिखाया गया है. अगर कॉन्टेक्स्ट को बाहर रखा जाता है, तो मॉडल पैटर्न की पहचान नहीं कर पाएगा. भले ही, वही सवाल डेटासेट के किसी उदाहरण में दिया गया हो.

अपने डेटासेट में हर उदाहरण के लिए प्रॉम्प्ट या शुरुआती जानकारी जोड़ने से, ट्यून किए गए मॉडल की परफ़ॉर्मेंस बेहतर हो सकती है. ध्यान दें, अगर आपके डेटासेट में कोई प्रॉम्प्ट या प्रीएंबल शामिल है, तो उसे अनुमान के समय पर ट्यून किए गए मॉडल के प्रॉम्प्ट में भी शामिल किया जाना चाहिए.

ट्रेनिंग में उपलब्ध डेटा का साइज़

किसी मॉडल को 20 उदाहरणों से ट्यून किया जा सकता है. आम तौर पर, अतिरिक्त डेटा मिलने से रिस्पॉन्स की क्वालिटी बेहतर हो जाती है. आपको अपने ऐप्लिकेशन के हिसाब से 100 से 500 उदाहरणों के बीच टारगेट करना चाहिए. नीचे दी गई टेबल में, अलग-अलग सामान्य टास्क के लिए टेक्स्ट मॉडल को ट्यून करने के लिए, डेटासेट के सुझाए गए साइज़ दिखाए गए हैं:

टास्क डेटासेट में उदाहरणों की संख्या
कैटगरी 100+
संक्षेपण 100-500+
दस्तावेज़ खोजें 100+

ट्यूनिंग डेटासेट अपलोड करें

डेटा को एपीआई का इस्तेमाल करके या Google AI Studio में अपलोड की गई फ़ाइलों के ज़रिए इनलाइन भेजा जाता है.

किसी फ़ाइल से डेटा इंपोर्ट करने के लिए, इंपोर्ट करें बटन का इस्तेमाल करें या ट्यूनिंग डेटासेट के तौर पर इंपोर्ट करने के लिए, उदाहरणों के साथ स्ट्रक्चर्ड प्रॉम्प्ट चुनें.

क्लाइंट लाइब्रेरी

क्लाइंट लाइब्रेरी का इस्तेमाल करने के लिए, createTunedModel कॉल में मौजूद डेटा फ़ाइल दें. फ़ाइल का साइज़ चार एमबी से ज़्यादा नहीं होना चाहिए. Python के साथ क्विकस्टार्ट ट्यूनिंग का तरीका देखें.

कर्ल

कर्ल का इस्तेमाल करके REST API को कॉल करने के लिए, training_data आर्ग्युमेंट के लिए, JSON फ़ॉर्मैट में ट्रेनिंग के उदाहरण दें. शुरू करने के लिए, Curl के साथ क्विकस्टार्ट ट्यूनिंग देखें.

ट्यूनिंग की बेहतर सेटिंग

ट्यूनिंग जॉब बनाते समय, ये ऐडवांस सेटिंग तय की जा सकती हैं:

  • Epoch - पूरे ट्रेनिंग सेट के लिए एक पूरा ट्रेनिंग पास, जैसे कि हर उदाहरण को एक बार प्रोसेस किया जा चुका हो.
  • बैच साइज़ - उदाहरणों का एक सेट, जिन्हें एक ट्रेनिंग में इस्तेमाल किया जाता है. बैच का साइज़, बैच में उदाहरणों की संख्या तय करता है.
  • लर्निंग रेट - एक फ़्लोटिंग-पॉइंट नंबर, जो एल्गोरिदम को यह बताता है कि हर इटरेशन पर मॉडल पैरामीटर को कितने अच्छे से बदला है. उदाहरण के लिए, 0.3 की सीखने की दर, 0.1 की लर्निंग दर की तुलना में वेट और बायस को तीन गुना ज़्यादा बेहतर तरीके से अडजस्ट करेगी. ज़्यादा और कम लर्निंग रेट की अपनी-अपनी ज़रूरतें होती हैं. इनमें आपके इस्तेमाल के उदाहरण के हिसाब से बदलाव किए जाने चाहिए.
  • लर्निंग रेट के लिए मल्टीप्लायर - रेट मल्टीप्लायर, मॉडल के सीखने की मूल दर में बदलाव करता है. 1 वैल्यू, मॉडल की ओरिजनल लर्निंग रेट का इस्तेमाल करती है. एक से ज़्यादा मान सीखने की दर को बढ़ाते हैं और 1 से 0 के बीच के मान सीखने की दर को कम करते हैं.

नीचे दी गई टेबल में, फ़ाउंडेशन मॉडल को ट्यून करने के लिए सुझाए गए कॉन्फ़िगरेशन दिए गए हैं:

हाइपर पैरामीटर डिफ़ॉल्ट वैल्यू सुझाए गए बदलाव
युग (एपक) 5 अगर नुकसान पांच युग से पहले समतल होने शुरू होता है, तो छोटी वैल्यू का इस्तेमाल करें.
अगर नुकसान एक जैसा लग रहा है और यह समतल नहीं लग रहा है, तो ज़्यादा वैल्यू का इस्तेमाल करें.
बैच का साइज़ 4
सीखने की दर 0.001 छोटे डेटासेट के लिए छोटी वैल्यू का इस्तेमाल करें.

लॉस कर्व से पता चलता है कि मॉडल का अनुमान, हर epoch के बाद ट्रेनिंग के उदाहरणों के सही अनुमान से कितना कम या ज़्यादा होता है. आम तौर पर, आपको कर्व में सबसे कम पॉइंट पर ट्रेनिंग बंद करने का सुझाव दिया जाता है. उदाहरण के लिए, नीचे दिया गया ग्राफ़, epoch 4-6 के बारे में बताता है. इसका मतलब है कि Epoch पैरामीटर को 4 पर सेट करके भी वही परफ़ॉर्मेंस मिल सकती है.

लॉस कर्व

ट्यूनिंग जॉब की स्थिति देखें

Google AI Studio के यूज़र इंटरफ़ेस (यूआई) में, मेरी लाइब्रेरी टैब में या Gemini API में ट्यून किए गए मॉडल की metadata प्रॉपर्टी का इस्तेमाल करके, अपने ट्यूनिंग जॉब की स्थिति देखी जा सकती है.

गड़बड़ियां ठीक करना

इस सेक्शन में, ट्यून किया गया मॉडल बनाते समय होने वाली गड़बड़ियों को ठीक करने के तरीके के बारे में सलाह दी गई है.

पुष्टि करना

एपीआई और क्लाइंट लाइब्रेरी का इस्तेमाल करके ट्यून करने के लिए, उपयोगकर्ता की पुष्टि करना ज़रूरी होता है. सिर्फ़ एक एपीआई पासकोड ही काफ़ी नहीं होता. अगर आपको 'PermissionDenied: 403 Request had insufficient authentication scopes' गड़बड़ी दिखती है, तो आपको उपयोगकर्ता की पुष्टि करने की सुविधा सेट अप करनी होगी.

Python के लिए OAuth क्रेडेंशियल कॉन्फ़िगर करने के लिए, OAuth सेटअप करने का ट्यूटोरियल देखें.

रद्द किए गए मॉडल

जॉब खत्म होने से पहले, मॉडल ट्यूनिंग जॉब को किसी भी समय रद्द किया जा सकता है. हालांकि, रद्द किए गए मॉडल की अनुमानित परफ़ॉर्मेंस का अनुमान नहीं लगाया जा सकता. खास तौर पर तब, जब ट्रेनिंग के दौरान ही ट्यूनिंग का काम रद्द कर दिया जाता है. अगर आपने ट्रेनिंग को इसलिए रद्द किया, क्योंकि आपको पिछले epoch में बंद करना है, तो आपको एक नया ट्यूनिंग जॉब बनाना होगा और epoch की वैल्यू को कम पर सेट करना होगा.

आगे क्या करना है