Gemini API की मदद से बेहतर बनाना

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

इस पेज पर, Gemini API टेक्स्ट सेवा के टेक्स्ट मॉडल को बेहतर बनाने के बारे में जानकारी दी गई है.

शॉर्ट वीडियो को बेहतर बनाने की सुविधा कैसे काम करती है

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

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

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

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

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

फ़ॉर्मैट

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

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

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

ट्रेनिंग के लिए डेटा का साइज़

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

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

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

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

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

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

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

cURL

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

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

ट्यूनिंग जॉब बनाते समय, आप नीचे दी गई बेहतर सेटिंग तय कर सकते हैं:

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

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

हाइपर पैरामीटर डिफ़ॉल्ट वैल्यू सुझाए गए बदलाव
युग (एपक) 5

अगर 5 epoch से पहले इसकी वैल्यू में गिरावट शुरू होती है, तो कम वैल्यू का इस्तेमाल करें.

अगर नुकसान की वैल्यू एक जैसी है और अनुमानित नहीं है, तो ज़्यादा वैल्यू इस्तेमाल करें.

बैच का साइज़ 4
सीखने की दर 0.001 छोटे डेटासेट के लिए कम वैल्यू का इस्तेमाल करें.

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

मॉडल के लॉस कर्व को दिखाने वाला लाइन चार्ट. यह लाइन पहले और दूसरे युग के बीच
बढ़ती है और फिर तेज़ी से घटकर करीब 0 तक पहुंच जाती है
और तीन युगों के बाद बाहर निकल जाती है.

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

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

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

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

पुष्टि करना

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

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

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

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

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