Gemini के कई मॉडल, 10 लाख या इससे ज़्यादा टोकन वाली बड़ी कॉन्टेक्स्ट विंडो के साथ उपलब्ध हैं. पहले, लार्ज लैंग्वेज मॉडल (एलएलएम) में एक बार में सिर्फ़ सीमित मात्रा में टेक्स्ट (या टोकन) डाला जा सकता था. Gemini की लंबी कॉन्टेक्स्ट विंडो की मदद से, कई नए इस्तेमाल के उदाहरण और डेवलपर पैराडाइम का इस्तेमाल किया जा सकता है.
टेक्स्ट जनरेट करने या मल्टीमॉडल इनपुट जैसे मामलों के लिए, पहले से इस्तेमाल किया जा रहा कोड, लंबे कॉन्टेक्स्ट के साथ बिना किसी बदलाव के काम करेगा.
इस दस्तावेज़ में, 10 लाख और उससे ज़्यादा टोकन वाली कॉन्टेक्स्ट विंडो वाले मॉडल का इस्तेमाल करके, किए जा सकने वाले कामों के बारे में खास जानकारी दी गई है. इस पेज पर, कॉन्टेक्स्ट विंडो के बारे में खास जानकारी दी गई है. साथ ही, इसमें यह भी बताया गया है कि डेवलपर को लंबे कॉन्टेक्स्ट के बारे में कैसे सोचना चाहिए. इसमें लंबे कॉन्टेक्स्ट के अलग-अलग इस्तेमाल के उदाहरण और लंबे कॉन्टेक्स्ट के इस्तेमाल को ऑप्टिमाइज़ करने के तरीके भी बताए गए हैं.
कुछ मॉडल की कॉन्टेक्स्ट विंडो के साइज़ के बारे में जानने के लिए, मॉडल पेज देखें.
कॉन्टेक्स्ट विंडो क्या होती है?
Gemini मॉडल का इस्तेमाल करने का बुनियादी तरीका यह है कि मॉडल को जानकारी (कॉन्टेक्स्ट) दी जाए. इसके बाद, मॉडल जवाब जनरेट करेगा. कॉन्टेक्स्ट विंडो की तुलना शॉर्ट टर्म मेमोरी से की जा सकती है. किसी व्यक्ति की शॉर्ट टर्म मेमोरी में सीमित जानकारी सेव की जा सकती है. जनरेटिव मॉडल के साथ भी ऐसा ही होता है.
हमारे जनरेटिव मॉडल गाइड में, मॉडल के काम करने के तरीके के बारे में ज़्यादा जानकारी दी गई है.
लंबे कॉन्टेक्स्ट का इस्तेमाल शुरू करना
जनरेटिव मॉडल के पुराने वर्शन, एक बार में सिर्फ़ 8,000 टोकन प्रोसेस कर सकते थे. नए मॉडल में, 32,000 या 1,28,000 टोकन स्वीकार किए जा सकते हैं. Gemini, 10 लाख टोकन स्वीकार करने वाला पहला मॉडल है.
असल में, 10 लाख टोकन कुछ इस तरह दिखेंगे:
- कोड की 50,000 लाइनें (हर लाइन में 80 वर्ण)
- पिछले पांच सालों में भेजे गए सभी टेक्स्ट मैसेज
- औसत लंबाई वाले आठ अंग्रेज़ी उपन्यास
- औसतन 200 से ज़्यादा पॉडकास्ट एपिसोड की ट्रांसक्रिप्ट
कई अन्य मॉडल में कॉन्टेक्स्ट विंडो छोटी होती है. इसलिए, उनमें अक्सर टोकन बचाने के लिए, पुरानी बातचीत को हटाना, कॉन्टेंट की खास जानकारी देना, वेक्टर डेटाबेस के साथ RAG का इस्तेमाल करना या प्रॉम्प्ट को फ़िल्टर करना जैसी रणनीतियों की ज़रूरत होती है.
ये तकनीकें कुछ खास स्थितियों में अब भी काम की हैं. हालाँकि, Gemini की बड़ी कॉन्टेक्स्ट विंडो की वजह से, अब सीधे तौर पर जानकारी दी जा सकती है. इसका मतलब है कि प्रॉम्प्ट में ही सभी ज़रूरी जानकारी दी जा सकती है. Gemini मॉडल को खास तौर पर, बड़े कॉन्टेक्स्ट को समझने की क्षमता के साथ बनाया गया है. इसलिए, ये कॉन्टेक्स्ट के हिसाब से सीखने की बेहतर क्षमता दिखाते हैं. उदाहरण के लिए, सिर्फ़ कॉन्टेक्स्ट के हिसाब से निर्देश देने वाले मटीरियल (500 पेज की रेफ़रंस व्याकरण, एक शब्दकोश, और ≈400 समानांतर वाक्य) का इस्तेमाल करके, Gemini ने अंग्रेज़ी से कलामंग में अनुवाद करना सीखा. कलामंग, पापुआ न्यू गिनी में बोली जाने वाली एक भाषा है. इसे बोलने वालों की संख्या 200 से भी कम है. Gemini ने उसी क्वालिटी के साथ अनुवाद किया जिस क्वालिटी के साथ कोई व्यक्ति, उसी मटीरियल का इस्तेमाल करके अनुवाद करता. इससे पता चलता है कि Gemini के लंबे कॉन्टेक्स्ट की वजह से, किस तरह से बदलाव आया है. इससे कॉन्टेक्स्ट के हिसाब से बेहतर तरीके से सीखने की नई संभावनाएं मिलती हैं.
लंबी कॉन्टेक्स्ट विंडो के इस्तेमाल के उदाहरण
ज़्यादातर जनरेटिव मॉडल के लिए, अब भी टेक्स्ट इनपुट का इस्तेमाल किया जाता है. हालांकि, Gemini मॉडल फ़ैमिली की मदद से, मल्टीमॉडल के इस्तेमाल के नए उदाहरणों को शामिल किया जा सकता है. ये मॉडल, टेक्स्ट, वीडियो, ऑडियो, और इमेज को आसानी से समझ सकते हैं. इनके साथ Gemini API भी उपलब्ध है, जो मल्टीमॉडल फ़ाइल टाइप को इनपुट के तौर पर लेता है, ताकि आपको आसानी हो.
लंबा टेक्स्ट
टेक्स्ट, एलएलएम के विकास में अहम भूमिका निभाता है. जैसा कि पहले बताया गया है, एलएलएम की कई व्यावहारिक सीमाएं इसलिए थीं, क्योंकि कुछ टास्क करने के लिए उनके पास कॉन्टेक्स्ट विंडो काफ़ी बड़ी नहीं थी. इस वजह से, रिट्रीवल ऑगमेंटेड जनरेशन (आरएजी) और अन्य तकनीकों को तेज़ी से अपनाया गया. ये तकनीकें, मॉडल को संदर्भ के हिसाब से काम की जानकारी डाइनैमिक तरीके से उपलब्ध कराती हैं. अब बड़ी और बड़ी कॉन्टेक्स्ट विंडो के साथ, नई तकनीकें उपलब्ध हो रही हैं. इनसे इस्तेमाल के नए तरीके मिलते हैं.
टेक्स्ट पर आधारित लंबे कॉन्टेक्स्ट के लिए, इस्तेमाल के कुछ नए और स्टैंडर्ड उदाहरण यहां दिए गए हैं:
- टेक्स्ट के बड़े डेटासेट की खास जानकारी जनरेट करना
- कॉन्टेक्स्ट के छोटे मॉडल के साथ टेक्स्ट की खास जानकारी जनरेट करने के पिछले विकल्पों के लिए, स्लाइडिंग विंडो या किसी अन्य तकनीक की ज़रूरत होगी, ताकि पिछले सेक्शन की स्थिति को बनाए रखा जा सके. ऐसा तब होगा, जब मॉडल को नए टोकन पास किए जाएंगे
- सवाल पूछना और जवाब देना
- पहले, यह सिर्फ़ आरएजी की मदद से किया जा सकता था. इसकी वजह यह है कि इसमें कॉन्टेक्स्ट की जानकारी कम होती है और मॉडल की तथ्यों को याद रखने की क्षमता भी कम होती है
- एजेंटिक वर्कफ़्लो
- टेक्स्ट के ज़रिए एजेंट यह जानकारी सेव करते हैं कि उन्होंने क्या काम किया है और उन्हें क्या काम करना है. दुनिया और एजेंट के लक्ष्य के बारे में पूरी जानकारी न होने से, एजेंट के भरोसेमंद होने की संभावना कम हो जाती है
लंबे कॉन्टेक्स्ट वाले मॉडल की मदद से, कई नई सुविधाएं उपलब्ध कराई गई हैं. इनमें से एक है, इन-कॉन्टेक्स्ट लर्निंग के लिए कई उदाहरणों का इस्तेमाल करना. रिसर्च से पता चला है कि "सिंगल शॉट" या "मल्टी-शॉट" उदाहरण के सामान्य पैराडाइम का इस्तेमाल करने से, मॉडल की नई क्षमताओं का पता लगाया जा सकता है. इसमें मॉडल को किसी टास्क के एक या कुछ उदाहरण दिखाए जाते हैं. इसके बाद, इन उदाहरणों को सैकड़ों, हज़ारों या लाखों तक बढ़ाया जाता है. यह भी देखा गया है कि कई उदाहरणों का इस्तेमाल करके जवाब देने का यह तरीका, किसी खास टास्क के लिए फ़ाइन-ट्यून किए गए मॉडल की तरह ही काम करता है. अगर किसी इस्तेमाल के मामले में, Gemini मॉडल का परफ़ॉर्मेंस लेवल प्रोडक्शन रोलआउट के लिए अभी तक काफ़ी नहीं है, तो कई उदाहरणों का इस्तेमाल करके मॉडल को ट्रेन किया जा सकता है. कॉन्टेक्स्ट को ऑप्टिमाइज़ करने से जुड़े सेक्शन में, आपको इस बारे में ज़्यादा जानकारी मिलेगी. कॉन्टेक्स्ट को कैश मेमोरी में सेव करने की सुविधा की मदद से, इस तरह के ज़्यादा इनपुट टोकन वर्कलोड को ज़्यादा किफ़ायती बनाया जा सकता है. साथ ही, कुछ मामलों में इंतज़ार के समय को भी कम किया जा सकता है.
लंबी अवधि के वीडियो
वीडियो कॉन्टेंट का इस्तेमाल लंबे समय से सीमित है, क्योंकि यह माध्यम खुद ही सुलभ नहीं है. कॉन्टेंट को सरसरी तौर पर पढ़ना मुश्किल था. साथ ही, ट्रांसक्रिप्ट में अक्सर वीडियो के बारीक़ अंतर को कैप्चर नहीं किया जा पाता था. इसके अलावा, ज़्यादातर टूल इमेज, टेक्स्ट, और ऑडियो को एक साथ प्रोसेस नहीं करते थे. Gemini के साथ, लंबे कॉन्टेक्स्ट वाले टेक्स्ट की क्षमताओं का मतलब है कि यह लगातार बेहतर परफ़ॉर्मेंस के साथ, मल्टीमॉडल इनपुट के बारे में तर्क दे सकता है और सवालों के जवाब दे सकता है.
वीडियो के लंबे कॉन्टेक्स्ट के लिए, इस्तेमाल के कुछ नए और स्टैंडर्ड उदाहरणों में ये शामिल हैं:
- वीडियो में सवाल पूछना और जवाब देना
- वीडियो मेमोरी, जैसा कि Google के Project Astra में दिखाया गया है
- वीडियो में कैप्शन जोड़ना
- वीडियो के सुझाव देने वाले सिस्टम, मौजूदा मेटाडेटा को नई मल्टीमॉडल समझ के साथ बेहतर बनाकर
- वीडियो को पसंद के मुताबिक बनाने की सुविधा. इसके लिए, डेटा और उससे जुड़े वीडियो के मेटाडेटा का इस्तेमाल किया जाता है. इसके बाद, वीडियो के उन हिस्सों को हटा दिया जाता है जो दर्शक के लिए काम के नहीं हैं
- वीडियो कॉन्टेंट को मॉडरेट करना
- रीयल-टाइम में वीडियो प्रोसेस करना
वीडियो इस्तेमाल करते समय, यह जानना ज़रूरी है कि वीडियो को टोकन में कैसे प्रोसेस किया जाता है. इससे बिलिंग और इस्तेमाल की सीमाओं पर असर पड़ता है. प्रॉम्प्टिंग गाइड में, वीडियो फ़ाइलों के साथ प्रॉम्प्ट करने के बारे में ज़्यादा जानें.
लंबी अवधि का ऑडियो
Gemini मॉडल, मल्टीमॉडल की तरह काम करने वाले पहले लार्ज लैंग्वेज मॉडल थे. ये ऑडियो को समझ सकते थे. पहले, डेवलपर को ऑडियो प्रोसेस करने के लिए, डोमेन के हिसाब से कई मॉडल को एक साथ इस्तेमाल करना पड़ता था. जैसे, स्पीच-टू-टेक्स्ट मॉडल और टेक्स्ट-टू-टेक्स्ट मॉडल. इसकी वजह से, कई राउंड-ट्रिप अनुरोधों को पूरा करने में ज़्यादा समय लगता है. साथ ही, परफ़ॉर्मेंस में भी कमी आती है. ऐसा इसलिए होता है, क्योंकि कई मॉडल सेटअप के आर्किटेक्चर अलग-अलग होते हैं.
ऑडियो कॉन्टेक्स्ट के इस्तेमाल के कुछ नए और स्टैंडर्ड उदाहरण यहां दिए गए हैं:
- बोले जा रहे शब्दों को रीयल-टाइम में टेक्स्ट में बदलने और अनुवाद करने की सुविधा
- पॉडकास्ट / वीडियो से जुड़े सवालों के जवाब देना
- मीटिंग में बोले गए शब्दों को लेख में बदलने और खास जानकारी जनरेट करने की सुविधा
- वॉइस असिस्टेंट
ऑडियो फ़ाइलों के साथ प्रॉम्प्ट करने के बारे में ज़्यादा जानने के लिए, प्रॉम्प्ट करने से जुड़ी गाइड पढ़ें.
लंबे कॉन्टेक्स्ट के लिए ऑप्टिमाइज़ेशन
ज़्यादा कॉन्टेक्स्ट और Gemini मॉडल के साथ काम करते समय, कॉन्टेक्स्ट कैशिंग का इस्तेमाल करना, ऑप्टिमाइज़ेशन का मुख्य तरीका है. पहले, एक ही अनुरोध में कई टोकन प्रोसेस नहीं किए जा सकते थे. इसके अलावा, एक और मुख्य समस्या यह थी कि इसकी लागत बहुत ज़्यादा थी. अगर आपके पास "अपने डेटा से चैट करें" ऐप्लिकेशन है, जहां कोई उपयोगकर्ता 10 PDF, एक वीडियो, और कुछ ऑफ़िस के दस्तावेज़ अपलोड करता है, तो आपको इन अनुरोधों को प्रोसेस करने के लिए, ज़्यादा जटिल रिट्रीवल ऑगमेंटेड जनरेशन (आरएजी) टूल या फ़्रेमवर्क का इस्तेमाल करना होगा. साथ ही, कॉन्टेक्स्ट विंडो में ले जाए गए टोकन के लिए, आपको काफ़ी ज़्यादा रकम चुकानी होगी. अब उपयोगकर्ता की अपलोड की गई फ़ाइलों को कैश मेमोरी में सेव किया जा सकता है. साथ ही, उन्हें हर घंटे के हिसाब से सेव करने के लिए पेमेंट किया जा सकता है. उदाहरण के लिए, Gemini Flash के साथ की गई हर क्वेरी के इनपुट / आउटपुट की लागत, स्टैंडर्ड इनपुट / आउटपुट की लागत से ~4 गुना कम होती है. इसलिए, अगर उपयोगकर्ता अपने डेटा के साथ काफ़ी चैट करता है, तो डेवलपर के तौर पर आपको काफ़ी बचत होती है.
लंबी कॉन्टेक्स्ट विंडो से जुड़ी सीमाएं
इस गाइड के अलग-अलग सेक्शन में, हमने इस बारे में बात की है कि Gemini मॉडल, सुई ढूंढने की क्षमता का आकलन करने वाले अलग-अलग टेस्ट में बेहतर परफ़ॉर्मेंस कैसे देते हैं. इन टेस्ट में सबसे बुनियादी सेटअप को ध्यान में रखा जाता है. इसमें आपको एक ही सुई ढूंढनी होती है. अगर आपको कई "नीडल" या जानकारी के कुछ खास हिस्सों को ढूंढना है, तो मॉडल उतनी सटीक परफ़ॉर्म नहीं करता. कॉन्टेक्स्ट के हिसाब से, परफ़ॉर्मेंस में काफ़ी अंतर हो सकता है. इस बात पर ध्यान देना ज़रूरी है, क्योंकि सही जानकारी पाने और लागत के बीच एक स्वाभाविक समझौता होता है. आपको एक क्वेरी में ~99% तक सटीक जवाब मिल सकते हैं. हालांकि, आपको उस क्वेरी को भेजने पर, हर बार इनपुट टोकन की लागत चुकानी होगी. इसलिए, 100 आइटम की जानकारी पाने के लिए, अगर आपको 99% परफ़ॉर्मेंस की ज़रूरत है, तो आपको 100 अनुरोध भेजने होंगे. यह एक अच्छा उदाहरण है. इसमें बताया गया है कि कॉन्टेक्स्ट कैश मेमोरी का इस्तेमाल करके, Gemini मॉडल को इस्तेमाल करने की लागत को काफ़ी हद तक कम किया जा सकता है. साथ ही, परफ़ॉर्मेंस को बेहतर बनाए रखा जा सकता है.
अक्सर पूछे जाने वाले सवाल
कॉन्टेक्स्ट विंडो में अपनी क्वेरी को कहां रखना सबसे सही है?
ज़्यादातर मामलों में, मॉडल बेहतर जवाब देगा. खास तौर पर, अगर पूरा कॉन्टेक्स्ट लंबा है. इसके लिए, आपको अपनी क्वेरी / सवाल को प्रॉम्प्ट के आखिर में (अन्य सभी कॉन्टेक्स्ट के बाद) रखना होगा.
क्या किसी क्वेरी में ज़्यादा टोकन जोड़ने पर, मॉडल की परफ़ॉर्मेंस कम हो जाती है?
आम तौर पर, अगर आपको मॉडल को टोकन पास करने की ज़रूरत नहीं है, तो उन्हें पास न करना सबसे अच्छा होता है. हालांकि, अगर आपके पास कुछ जानकारी वाले टोकन का बड़ा हिस्सा है और आपको उस जानकारी के बारे में सवाल पूछने हैं, तो मॉडल उस जानकारी को निकालने में बहुत ज़्यादा सक्षम है. कई मामलों में, यह 99% तक सटीक जानकारी निकाल सकता है.
लंबे कॉन्टेक्स्ट वाली क्वेरी के लिए, लागत कैसे कम की जा सकती है?
अगर आपके पास टोकन / कॉन्टेक्स्ट का ऐसा सेट है जिसका आपको कई बार फिर से इस्तेमाल करना है, तो कॉन्टेक्स्ट कैश मेमोरी का इस्तेमाल करें. इससे उस जानकारी के बारे में सवाल पूछने से जुड़ी लागत को कम किया जा सकता है.
क्या कॉन्टेक्स्ट की लंबाई से मॉडल के रिस्पॉन्स में लगने वाले समय पर असर पड़ता है?
किसी भी अनुरोध में कुछ समय लगता है. यह समय अनुरोध के साइज़ पर निर्भर नहीं करता. हालांकि, आम तौर पर लंबी क्वेरी में ज़्यादा समय लगता है (पहले टोकन के लिए समय).