कम समय में प्रॉम्प्ट दिखाने जैसी प्रॉम्प्ट डिज़ाइन की रणनीति से, यह ज़रूरी नहीं है कि आपको चाहिए. बेहतर बनाना एक ऐसी प्रोसेस है जिससे खास टास्क पर आपके मॉडल की परफ़ॉर्मेंस को बेहतर बनाया जा सकता है. इसके अलावा, जब निर्देश काफ़ी नहीं होते और आपके पास ऐसे उदाहरणों का एक सेट होता है जो आपको मिलने वाले आउटपुट को दिखाते हैं, तो मॉडल को आउटपुट की खास ज़रूरतों को पूरा करने में मदद मिलती है.
इस पेज पर, Gemini API की टेक्स्ट सेवा के पीछे मौजूद टेक्स्ट मॉडल को बेहतर बनाने के बारे में खास जानकारी दी गई है. ट्यूनिंग शुरू करने के लिए, बेहतर ट्यूनिंग का ट्यूटोरियल देखें. अगर आपको इस्तेमाल के खास उदाहरणों के लिए, एलएलएम को पसंद के मुताबिक बनाने के बारे में बुनियादी जानकारी. आउट एलएलएम: फ़ाइन-ट्यूनिंग, डिस्टिलेशन, और प्रॉम्प्ट इंजीनियरिंग में मशीन लर्निंग क्रैश कोर्स.
शॉर्ट वीडियो को बेहतर बनाने की सुविधा कैसे काम करती है
इन टूल को बेहतर बनाने का मकसद, कोई टास्क चुनें. मॉडल को बेहतर बनाने के लिए, उसे ट्रेनिंग दी जाती है डेटासेट में टास्क के कई उदाहरण शामिल हैं. खास कामों के लिए, मॉडल को कुछ उदाहरणों के हिसाब से ट्यून करके, मॉडल की परफ़ॉर्मेंस में काफ़ी सुधार किया जा सकता है. इस तरह की मॉडल ट्यूनिंग को कभी-कभी सुपरवाइज़्ड फ़ाइन-ट्यूनिंग कहा जाता है, ताकि इसे अन्य तरह की फ़ाइन-ट्यूनिंग से अलग किया जा सके.
आपका ट्रेनिंग डेटा, उदाहरण के तौर पर दिया जाना चाहिए. इस उदाहरण में, प्रॉम्प्ट इनपुट और अनुमानित रिस्पॉन्स आउटपुट. Google AI Studio में, उदाहरण के तौर पर दिए गए डेटा का इस्तेमाल करके भी मॉडल को ट्यून किया जा सकता है. इसका मकसद, मॉडल को मनचाहे व्यवहार की नकल करना सिखाना है या टास्क को उस व्यक्ति के व्यवहार या टास्क के बारे में कई उदाहरण देकर.
जब ट्यूनिंग जॉब चलाया जाता है, तो मॉडल अतिरिक्त पैरामीटर सीख लेता है, जो इसकी मदद करता है आपको जो टास्क चाहिए उसे पूरा करने के लिए, ज़रूरी जानकारी को कोड में बदलें व्यवहार. इसके बाद, इन पैरामीटर का इस्तेमाल अनुमान लगाने के समय किया जा सकता है. इसका आउटपुट ट्यूनिंग जॉब एक नया मॉडल है, जो सीखे गए पैरामीटर और ओरिजनल मॉडल.
अपना डेटासेट तैयार करना
इससे पहले कि आप मॉडल को बेहतर बनाएं, आपको मॉडल को ट्यून करने के लिए एक डेटासेट की ज़रूरत होगी. सबसे अच्छी परफ़ॉर्मेंस के लिए, डेटासेट में मौजूद उदाहरणों की क्वालिटी अच्छी होनी चाहिए. साथ ही, वे अलग-अलग तरह के होने चाहिए और असल इनपुट और आउटपुट के बारे में बताने चाहिए.
फ़ॉर्मैट
आपके डेटासेट में शामिल उदाहरण, आपके अनुमानित प्रोडक्शन से मेल खाने चाहिए ट्रैफ़िक कम कर सकता है. अगर आपके डेटासेट में खास फ़ॉर्मैटिंग, कीवर्ड, निर्देश, या जानकारी के लिए, प्रोडक्शन डेटा को उसी तरह से फ़ॉर्मैट किया जाना चाहिए और एक जैसे निर्देश हों.
उदाहरण के लिए, अगर आपके डेटासेट के उदाहरणों में "question:"
और a
"context:"
, प्रोडक्शन ट्रैफ़िक को भी फ़ॉर्मैट किया जाना चाहिए, ताकि
"question:"
और "context:"
, उसी क्रम में हों जैसा डेटासेट में दिखता है
उदाहरण. अगर संदर्भ को बाहर रखा जाता है, तो मॉडल पैटर्न की पहचान नहीं कर सकता. भले ही, डेटासेट में उस सवाल का उदाहरण दिया गया हो.
दूसरे उदाहरण के तौर पर, यहां ऐसे ऐप्लिकेशन के लिए Python ट्रेनिंग का डेटा दिया गया है जो क्रम में अगली संख्या जनरेट करता है:
training_data = [
{"text_input": "1", "output": "2"},
{"text_input": "3", "output": "4"},
{"text_input": "-3", "output": "-2"},
{"text_input": "twenty two", "output": "twenty three"},
{"text_input": "two hundred", "output": "two hundred one"},
{"text_input": "ninety nine", "output": "one hundred"},
{"text_input": "8", "output": "9"},
{"text_input": "-98", "output": "-97"},
{"text_input": "1,000", "output": "1,001"},
{"text_input": "10,100,000", "output": "10,100,001"},
{"text_input": "thirteen", "output": "fourteen"},
{"text_input": "eighty", "output": "eighty one"},
{"text_input": "one", "output": "two"},
{"text_input": "three", "output": "four"},
{"text_input": "seven", "output": "eight"},
]
अपने डेटासेट में हर उदाहरण के लिए प्रॉम्प्ट या शुरुआती जानकारी जोड़ने से भी, ट्यून किए गए मॉडल की परफ़ॉर्मेंस को बेहतर बनाने में मदद मिल सकती है. ध्यान दें, अगर आपके डेटासेट में कोई प्रॉम्प्ट या प्रीऐबल शामिल है, तो अनुमान लगाने के समय, उसे ट्यून किए गए मॉडल के प्रॉम्प्ट में भी शामिल किया जाना चाहिए.
सीमाएं
ध्यान दें: Gemini 1.5 Flash के लिए डेटासेट को बेहतर बनाने की सुविधा में ये सीमाएं हैं:
- हर उदाहरण के लिए, इनपुट का ज़्यादा से ज़्यादा साइज़ 40,000 वर्ण हो सकता है.
- हर उदाहरण के लिए, आउटपुट साइज़ ज़्यादा से ज़्यादा 5,000 वर्ण हो सकता है.
ट्रेनिंग के लिए डेटा का साइज़
आप कम से कम 20 उदाहरणों के साथ किसी मॉडल को बेहतर बना सकते हैं. ज़्यादा डेटा से, आम तौर पर जवाबों की क्वालिटी बेहतर होती है. आपको अपने ऐप्लिकेशन के हिसाब से, 100 से 500 उदाहरणों को टारगेट करना चाहिए. यहां दी गई टेबल में, आम तौर पर किए जाने वाले अलग-अलग टास्क के लिए, टेक्स्ट मॉडल को बेहतर बनाने के लिए सुझाए गए डेटासेट के साइज़ की जानकारी दी गई है:
टास्क | डेटासेट में उदाहरणों की संख्या |
---|---|
कैटगरी | 100+ |
खास जानकारी | 100-500+ |
दस्तावेज़ खोजें | 100+ |
ट्यूनिंग डेटासेट अपलोड करना
डेटा को एपीआई का इस्तेमाल करके इनलाइन या Google AI Studio में अपलोड की गई फ़ाइलों के ज़रिए पास किया जाता है.
क्लाइंट लाइब्रेरी का इस्तेमाल करने के लिए, createTunedModel
कॉल में डेटा फ़ाइल दें.
फ़ाइल का साइज़ 4 एमबी से ज़्यादा नहीं होना चाहिए. देखें
Python की मदद से बेहतर ट्यूनिंग वाले क्विकस्टार्ट
'प्रॉडक्ट एक्सप्लोर करें' में जाकर
Reader Revenue Manager चुनें.
cURL का इस्तेमाल करके REST API को कॉल करने के लिए, JSON फ़ॉर्मैट में ट्रेनिंग के उदाहरण
training_data
आर्ग्युमेंट. देखें
cURL की मदद से क्विकस्टार्ट ट्यून करना
'प्रॉडक्ट एक्सप्लोर करें' में जाकर
Reader Revenue Manager चुनें.
ट्यूनिंग की बेहतर सेटिंग
ट्यूनिंग जॉब बनाते समय, आप नीचे दी गई बेहतर सेटिंग तय कर सकते हैं:
- Epoch: पूरे ट्रेनिंग सेट के लिए एक पूरा ट्रेनिंग पास, जैसे कि हर एक को उदाहरण को एक बार प्रोसेस कर दिया गया है.
- बैच साइज़: एक ट्रेनिंग इटरेशन में इस्तेमाल किए जाने वाले उदाहरणों का सेट. बैच के साइज़ से, बैच में मौजूद उदाहरणों की संख्या तय होती है.
- लर्निंग रेट: एक फ़्लोटिंग-पॉइंट नंबर, जो एल्गोरिदम को यह बताता है कि का इस्तेमाल हर इटरेशन पर मॉडल पैरामीटर को अडजस्ट करने के लिए किया जाता है. उदाहरण के लिए, 0.3 की लर्निंग रेट, 0.1 की लर्निंग रेट की तुलना में वज़न और बायस में तीन गुना ज़्यादा बदलाव करेगी. ज़्यादा और कम लर्निंग रेट के अपने अलग-अलग फ़ायदे और नुकसान होते हैं. इसलिए, इनमें अपने इस्तेमाल के हिसाब से बदलाव किया जाना चाहिए.
- लर्निंग रेट मल्टीप्लायर: रेट मल्टीप्लायर, मॉडल के ओरिजनल लर्निंग रेट. अगर वैल्यू 1 है, तो वैल्यू के तौर पर मॉडल. एक से ज़्यादा वैल्यू देने पर, सीखने की दर और वैल्यू एक के बीच बढ़ जाती है और 0 सीखने की दर कम हो जाती है.
सुझाए गए कॉन्फ़िगरेशन
नीचे दी गई टेबल में, फ़ाउंडेशन मॉडल को बेहतर बनाने के लिए सुझाए गए कॉन्फ़िगरेशन दिखाए गए हैं:
हाइपर पैरामीटर | डिफ़ॉल्ट वैल्यू | सुझाए गए बदलाव |
---|---|---|
युग (एपक) | 5 |
अगर पांच एपिसोड से पहले लॉस प्लैटफ़ॉर्म पर आ जाता है, तो छोटी वैल्यू का इस्तेमाल करें. अगर नुकसान की वैल्यू एक जैसी है और अनुमानित नहीं है, तो ज़्यादा वैल्यू इस्तेमाल करें. |
बैच का साइज़ | 4 | |
सीखने की दर | 0.001 | छोटे डेटासेट के लिए, कम वैल्यू का इस्तेमाल करें. |
लॉस कर्व दिखाता है कि मॉडल का अनुमान, आदर्श से कितना भटका
सुझाव दिए गए हैं. आम तौर पर, आपको ट्रेनिंग को कर्व के सबसे निचले हिस्से पर, प्लैटफ़ॉर्म पर पहुंचने से ठीक पहले रोकना चाहिए. उदाहरण के लिए,
नीचे दिए गए ग्राफ़ में epoch 4-6 का लॉस कर्व प्लेटिंग दिखाया गया है जिसका मतलब है
Epoch
पैरामीटर को 4 पर सेट करके भी, पहले जैसा ही परफ़ॉर्म किया जा सकता है.
ट्यूनिंग की स्थिति देखना
Google AI Studio में, मेरी लाइब्रेरी टैब में जाकर या Gemini API में ट्यून किए गए मॉडल की metadata
प्रॉपर्टी का इस्तेमाल करके, ट्यूनिंग की स्थिति देखी जा सकती है.
गड़बड़ियां ठीक करना
इस सेक्शन में, ट्यून किया गया मॉडल बनाते समय होने वाली गड़बड़ियों को हल करने के बारे में सलाह दी गई है.
पुष्टि करना
एपीआई और क्लाइंट लाइब्रेरी का इस्तेमाल करके ट्यून करने के लिए, पुष्टि करना ज़रूरी है. आप API कुंजी (सुझाया गया) या OAuth का इस्तेमाल करके पुष्टि करने की सुविधा सेट अप करें क्रेडेंशियल डालें. एपीआई पासकोड सेट अप करने से जुड़े दस्तावेज़ देखने के लिए, यहां देखें एपीआई पासकोड सेट अप करें.
अगर आपको 'PermissionDenied: 403 Request had insufficient authentication
scopes'
गड़बड़ी का कोड दिखता है, तो हो सकता है कि आपको OAuth क्रेडेंशियल का इस्तेमाल करके, उपयोगकर्ता की पुष्टि करने की सुविधा सेट अप करनी पड़े. Python के लिए OAuth क्रेडेंशियल कॉन्फ़िगर करने के लिए, यहां जाएं
OAuth सेटअप ट्यूटोरियल.
रद्द किए गए मॉडल
फ़ाइन-ट्यूनिंग की प्रोसेस पूरी होने से पहले, उसे कभी भी रद्द किया जा सकता है. हालांकि, रद्द किए गए मॉडल की अनुमान लगाने की परफ़ॉर्मेंस का अनुमान नहीं लगाया जा सकता. खास तौर पर, अगर ट्यूनिंग की प्रोसेस को ट्रेनिंग के शुरुआती दौर में रद्द कर दिया जाता है. अगर आपने ट्रेनिंग को किसी पुराने युग पर रोकने के लिए रद्द किया है, तो आपको एक नई ट्यूनिंग जॉब बनानी चाहिए और युग को कम वैल्यू पर सेट करना चाहिए.
ट्यून किए गए मॉडल की सीमाएं
ध्यान दें: ट्यून किए गए मॉडल में ये सीमाएं होती हैं:
- ट्यून किए गए Gemini 1.5 Flash मॉडल के इनपुट की सीमा, 40,000 वर्ण है.
- ट्यून किए गए मॉडल के साथ JSON मोड काम नहीं करता.
- सिर्फ़ टेक्स्ट इनपुट का इस्तेमाल किया जा सकता है.
आगे क्या करना है
बेहतर बनाने के ट्यूटोरियल देखना शुरू करें: