जनरेटिव मॉडल के बारे में जानकारी

जनरेटिव आर्टिफ़िशियल इंटेलिजेंस (एआई) मॉडल, अलग-अलग तरह के डेटा इनपुट से कॉन्टेंट बना सकते हैं. जैसे, टेक्स्ट, इमेज, और ऑडियो. इनमें Gemini फ़ैमिली के मॉडल भी शामिल हैं. सबसे बुनियादी लेवल पर, ये मॉडल, ऑटोमैटिक तरीके से पूरा वाक्य लिखने वाले बेहतर ऐप्लिकेशन की तरह काम करते हैं. दिए गए इनपुट टेक्स्ट ("You can lead a horse to water,") के आधार पर, जनरेटिव मॉडल यह अनुमान लगा सकता है कि आउटपुट टेक्स्ट के तौर पर, सांख्यिकीय तौर पर कौनसा टेक्स्ट दिख सकता है ("but you can't make it drink"). यह अनुमान, ट्रेनिंग डेटा से मिले पैटर्न के आधार पर लगाया जाता है. जनरेटिव मॉडल की इस बेसिक प्रॉपर्टी का इस्तेमाल, अलग-अलग ऐप्लिकेशन के लिए किया जा सकता है:

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

इन सुविधाओं को बनाने के लिए जनरेटिव मॉडल का इस्तेमाल करने के लिए, मशीन लर्निंग (एमएल) की विशेषज्ञता की ज़रूरत नहीं होती. आपको बड़ा डेटासेट इकट्ठा करने या किसी मॉडल को ट्रेन करने की ज़रूरत नहीं है. अपना पहला प्रोटोटाइप शुरू करने के लिए, आपको बस कुछ वाक्यों में यह बताना होता है कि मॉडल से क्या करवाना है.

जनरेटिव मॉडल जो सिर्फ़ टेक्स्ट इनपुट और आउटपुट हैंडल करते हैं उन्हें बड़े लैंग्वेज मॉडल (एलएलएम) भी कहा जाता है. Gemini का इस्तेमाल करने वाले मॉडल, टेक्स्ट डेटा से ज़्यादा प्रोसेस कर सकते हैं. हालाँकि, ये मॉडल एलएलएम के काम कर सकते हैं, लेकिन इन्हें जनरेटिव मॉडल कहा जाता है.

ऐप्लिकेशन के उदाहरण

इन उदाहरणों में, जनरेटिव मॉडल के सामान्य टेक्स्ट इनपुट और उसके आउटपुट के बारे में बताया गया है.

एक कविता जनरेट करो

उपयोगकर्ता का इनपुट: Write me a four-line poem about puppies and Android phones. Make sure it rhymes.

मॉडल का आउटपुट:

Puppies are cute,
Android phones are neat,
They both bring joy,
And make life complete.

सूची जनरेट करना

उपयोगकर्ता का इनपुट: Generate a bulleted list of items I need to pack for a three-day camping trip.

मॉडल का आउटपुट:

*   Tent
*   Sleeping bag
*   Sleeping pad
*   Camp stove
*   Pots and pans
*   Utensils
*   Food
*   Water
*   First-aid kit
*   Sunscreen
*   Insect repellent
*   ...

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

प्रॉम्प्ट डिज़ाइन के बारे में बुनियादी जानकारी

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

Italy : Rome
France : Paris
Germany :

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

     Berlin
Turkey : Ankara
Greece : Athens

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

Italy : Rome
France : Paris
<user input here> :

आपने देश के हिसाब से कैपिटल लेटर जनरेट करने के लिए, कुछ शब्दों में प्रॉम्प्ट लिखा है.

फ़ew-शॉट प्रॉम्प्ट टेंप्लेट का इस्तेमाल करके, कई टास्क पूरे किए जा सकते हैं. यहां कुछ फ़्रेम वाले प्रॉम्प्ट का एक उदाहरण दिया गया है. यह प्रॉम्प्ट, Python को JavaScript में बदलता है. इसमें फ़ॉर्मैट थोड़ा अलग है:

Convert Python to JavaScript.
Python: print("hello world")
JavaScript: console.log("hello world")
Python: for x in range(0, 100):
JavaScript: for(var i = 0; i < 100; i++) {
Python: ${USER INPUT HERE}
JavaScript:

इसके अलावा, "शब्दकोश में शब्द का मतलब देखना" प्रॉम्प्ट का इस्तेमाल भी किया जा सकता है. परिभाषा देने पर, यह उस शब्द को दिखाता है जो उस परिभाषा के मुताबिक होता है:

Given a definition, return the word it defines.
Definition: When you're happy that other people are also sad.
Word: schadenfreude
Definition: existing purely in the mind, but not in physical reality
Word: abstract
Definition: ${USER INPUT HERE}
Word:

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

प्रॉम्प्ट करने की सुविधा बनाम पारंपरिक सॉफ़्टवेयर डेवलपमेंट

ध्यान से लिखी गई खास जानकारी के हिसाब से डिज़ाइन किए गए पारंपरिक सॉफ़्टवेयर के उलट, जनरेटिव मॉडल का व्यवहार, मॉडल ट्रेनर के लिए भी काफ़ी हद तक अस्पष्ट होता है. इसलिए, अक्सर यह अनुमान नहीं लगाया जा सकता कि किसी मॉडल के लिए, किस तरह के प्रॉम्प्ट स्ट्रक्चर सबसे बेहतर काम करेंगे. इसके अलावा, जनरेटिव मॉडल का व्यवहार काफ़ी हद तक उसके ट्रेनिंग डेटा से तय होता है. मॉडल को लगातार नए डेटासेट पर अडजस्ट किया जाता है. इसलिए, कभी-कभी मॉडल ऐसे बदल जाता है जिससे यह. आपके लिए इसका क्या मतलब है? Experiment! प्रॉम्प्ट के अलग-अलग फ़ॉर्मैट आज़माएं.

मॉडल पैरामीटर

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

  1. ज़्यादा से ज़्यादा आउटपुट टोकन: इससे पता चलता है कि जवाब में ज़्यादा से ज़्यादा कितने टोकन जनरेट किए जा सकते हैं. टोकन में करीब चार वर्ण होते हैं. 100 टोकन, करीब 60 से 80 शब्दों के होते हैं.

  2. तापमान: तापमान, टोकन चुनने के लिए, यादृच्छिकता की डिग्री को कंट्रोल करता है. जवाब जनरेट करने के दौरान, तापमान का इस्तेमाल सैंपलिंग के लिए किया जाता है. ऐसा तब होता है, जब topP और topK लागू किए जाते हैं. कम तापमान, उन प्रॉम्प्ट के लिए अच्छा होता है जिनके लिए ज़्यादा सटीक या कम खुले जवाब की ज़रूरत होती है. वहीं, ज़्यादा तापमान से अलग-अलग या क्रिएटिव नतीजे मिल सकते हैं. 0 का तापमान, डिटरमिनिस्टिक होता है. इसका मतलब है कि सबसे ज़्यादा संभावना वाला जवाब हमेशा चुना जाता है.

  3. topK: topK पैरामीटर से, मॉडल के आउटपुट के लिए टोकन चुनने के तरीके में बदलाव होता है. topK के 1 होने का मतलब है कि चुना गया टोकन, मॉडल की शब्दावली (जिसे ग्रैडी डीकोडिंग भी कहा जाता है) के सभी टोकन में से सबसे ज़्यादा संभावना वाला है. वहीं, topK के 3 होने का मतलब है कि अगला टोकन, टेम्परेचर का इस्तेमाल करके सबसे ज़्यादा संभावना वाले तीन टोकन में से चुना जाता है. टोकन चुनने के हर चरण के लिए, सबसे ज़्यादा संभावना वाले topK टोकन का सैंपल लिया जाता है. इसके बाद, टोकन को topP के आधार पर और फ़िल्टर किया जाता है. इसके बाद, फ़ाइनल टोकन को टेंपरेचर सैंपलिंग की मदद से चुना जाता है.

  4. topP: topP पैरामीटर, आउटपुट के लिए मॉडल चुनने के तरीके को बदलता है. टोकन तब तक चुने जाते हैं, जब तक उनकी संभावना का योग topP के बराबर नहीं हो जाता. उदाहरण के लिए, अगर टोकन A, B, और C की संभावना 0.3, 0.2, और 0.1 है और topP की वैल्यू 0.5 है, तो मॉडल अगले टोकन के तौर पर, टेम्परेचर का इस्तेमाल करके A या B को चुनेगा और C को उम्मीदवार के तौर पर बाहर रखेगा. topP की डिफ़ॉल्ट वैल्यू 0.95 है.

  5. stop_sequences: मॉडल को कॉन्टेंट जनरेट करना बंद करने के लिए, स्टॉप सीक्वेंस सेट करें. स्टॉप सीक्वेंस, वर्णों का कोई भी क्रम हो सकता है. जनरेट किए गए कॉन्टेंट में दिखने वाले वर्णों के क्रम का इस्तेमाल करने से बचें.

प्रॉम्प्ट के टाइप

प्रॉम्प्ट में मौजूद संदर्भ के हिसाब से, उन्हें बड़े पैमाने पर तीन कैटगरी में बांटा जाता है.

ज़ीरो-शॉट प्रॉम्प्ट

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

आम तौर पर इस्तेमाल होने वाले कुछ शून्य-शॉट प्रॉम्प्ट पैटर्न ये हैं:

  • Instruction-content
<Overall instruction>
<Content to operate on>

उदाहरण के लिए,

Summarize the following into two sentences at the third-grade level:

Hummingbirds are the smallest birds in the world, and they are also one of the
most fascinating. They are found in North and South America, and they are known
for their long, thin beaks and their ability to fly at high speeds.

Hummingbirds are made up of three main parts: the head, the body, and the tail.
The head is small and round, and it contains the eyes, the beak, and the brain.
The body is long and slender, and it contains the wings, the legs, and the
heart. The tail is long and forked, and it helps the hummingbird to balance
while it is flying.

Hummingbirds are also known for their coloration. They come in a variety of
colors, including green, blue, red, and purple. Some hummingbirds are even able
to change their color!

Hummingbirds are very active creatures. They spend most of their time flying,
and they are also very good at hovering. Hummingbirds need to eat a lot of food
in order to maintain their energy, and they often visit flowers to drink nectar.

Hummingbirds are amazing creatures. They are small, but they are also very
powerful. They are beautiful, and they are very important to the ecosystem.
  • निर्देश-कॉन्टेंट-निर्देश
<Overall instruction or context setting>
<Content to operate on>
<Final instruction>

उदाहरण के लिए,

Here is some text I'd like you to summarize:

Hummingbirds are the smallest birds in the world, and they are also one of the
most fascinating. They are found in North and South America, and they are known
for their long, thin beaks and their ability to fly at high speeds. Hummingbirds
are made up of three main parts: the head, the body, and the tail. The head is
small and round, and it contains the eyes, the beak, and the brain. The body is
long and slender, and it contains the wings, the legs, and the heart. The tail
is long and forked, and it helps the hummingbird to balance while it is flying.
Hummingbirds are also known for their coloration. They come in a variety of
colors, including green, blue, red, and purple. Some hummingbirds are even able
to change their color! Hummingbirds are very active creatures. They spend most
of their time flying, and they are also very good at hovering. Hummingbirds need
to eat a lot of food in order to maintain their energy, and they often visit
flowers to drink nectar. Hummingbirds are amazing creatures. They are small, but
they are also very powerful. They are beautiful, and they are very important to
the ecosystem.

Summarize it in two sentences at the third-grade reading level.
  • जारी रखें. कभी-कभी, मॉडल को बिना किसी निर्देश के टेक्स्ट को जारी रखने के लिए कहा जा सकता है. उदाहरण के लिए, यहां एक शून्य-शॉट प्रॉम्प्ट दिया गया है, जिसमें मॉडल को दिए गए इनपुट को जारी रखना है:
Once upon a time, there was a little sparrow building a nest in a farmer's
barn. This sparrow

क्रिएटिव टेक्स्ट फ़ॉर्मैट जनरेट करने के लिए, शून्य शॉट प्रॉम्प्ट का इस्तेमाल करें. जैसे, कविताएं, कोड, स्क्रिप्ट, संगीत के टुकड़े, ईमेल या पत्र.

एक बार में कई प्रॉम्प्ट

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

उदाहरण के लिए, खाने के साथ इस तरह के पेअरिंग जनरेट किए जा सकते हैं:

Food: Apple
Pairs with: Cheese
Food: Pear
Pairs with:

उदाहरण के साथ डाले गए प्रॉम्प्ट

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

प्रॉम्प्ट का एक उदाहरण यह हो सकता है:

Generate a grocery shopping list for a week for one person. Use the JSON format
given below.
{"item": "eggs", "quantity": "6"}
{"item": "bread", "quantity": "one loaf"}

जनरेटिव मॉडल के बारे में जानकारी

इस सेक्शन का मकसद इस सवाल का जवाब देना है - क्या जनरेटिव मॉडल के जवाब में कोई बदलाव होता है या वे तय होते हैं?

इसका जवाब है - दोनों में हां. जनरेटिव मॉडल को प्रॉम्प्ट करने पर, टेक्स्ट जवाब दो चरणों में जनरेट होता है. पहले चरण में, जनरेटिव मॉडल इनपुट प्रॉम्प्ट को प्रोसेस करता है. इसके बाद, संभावित टोकन (शब्द) के बजाय प्रॉबबिलिटी डिस्ट्रिब्यूशन जनरेट करता है. उदाहरण के लिए, अगर आपने इनपुट टेक्स्ट के तौर पर "कुत्ता ... के ऊपर से कूद गया" डाला है, तो जनरेटिव मॉडल अगले शब्दों के संभावित विकल्पों की सूची दिखाएगा:

[("fence", 0.77), ("ledge", 0.12), ("blanket", 0.03), ...]

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

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

इसके बारे में और पढ़ें

  • अब आपके पास प्रॉम्प्ट और जनरेटिव मॉडल के बारे में बेहतर जानकारी है. इसलिए, Google AI Studio का इस्तेमाल करके, अपने प्रॉम्प्ट लिखने की कोशिश करें.
  • प्रॉम्प्ट बनाने के सबसे सही तरीकों के बारे में ज़्यादा जानने के लिए, प्रॉम्प्ट से जुड़े दिशा-निर्देश देखें.