एलएलएम: फ़ाइन ट्यूनिंग, डिस्टिलेशन, और प्रॉम्प्ट इंजीनियरिंग

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

  • फ़ाउंडेशन एलएलएम
  • बेस एलएलएम
  • पहले से ट्रेन किए गए एलएलएम

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

फ़ाउंडेशन एलएलएम को किसी ऐप्लिकेशन की ज़रूरतों के हिसाब से समाधान में बदलने के लिए, बेहतर बनाने की प्रोसेस की ज़रूरत होती है. डिस्टिलेशन नाम की एक दूसरी प्रोसेस, बेहतर बनाए गए मॉडल का छोटा (कम पैरामीटर वाला) वर्शन जनरेट करती है.

फ़ाइन-ट्यूनिंग

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

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

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

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

डिस्टिलेशन

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

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

प्रॉम्प्ट इंजीनियरिंग

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

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

उपयोगकर्ता किसी फल का नाम डालता है: एलएलएम उस फल की क्लास दिखाता है.

वन-शॉट प्रॉम्प्ट, एलएलएम को पिछले फ़ॉर्मैट का एक उदाहरण दिखाता है और फिर उस उदाहरण के आधार पर क्वेरी को पूरा करने के लिए कहता है. उदाहरण के लिए:

peach: drupe
apple: ______

कभी-कभी एक उदाहरण ही काफ़ी होता है. अगर ऐसा है, तो एलएलएम से एक मददगार सुझाव मिलता है. उदाहरण के लिए:

apple: pome

अन्य मामलों में, एक उदाहरण काफ़ी नहीं होता. इसका मतलब है कि उपयोगकर्ता को एलएलएम के कई उदाहरण दिखाने होंगे. उदाहरण के लिए, यहां दिए गए प्रॉम्प्ट में दो उदाहरण दिए गए हैं:

plum: drupe
pear: pome
lemon: ____

एक से ज़्यादा उदाहरण देने को, उदाहरण के साथ डाले गए प्रॉम्प्ट कहा जाता है. पिछले प्रॉम्प्ट की पहली दो लाइनों को ट्रेनिंग के उदाहरण के तौर पर देखा जा सकता है.

क्या एलएलएम, बिना किसी उदाहरण के काम के अनुमान दे सकता है (ज़ीरो-शॉट प्रॉम्प्टिंग)? कभी-कभी, लेकिन एलएलएम को कॉन्टेक्स्ट पसंद है. बिना संदर्भ के, यहां दिया गया शून्य शॉट प्रॉम्प्ट, फ़ल के बजाय टेक्नोलॉजी कंपनी के बारे में जानकारी दिखा सकता है:

apple: _______

ऑफ़लाइन अनुमान

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

अगर एलएलएम को अपना टास्क पूरा करने में ज़्यादा समय लगता है, तो इससे कोई फ़र्क़ नहीं पड़ता. ऐसा तब होता है, जब एलएलएम को अपना टास्क सिर्फ़ हफ़्ते में एक बार या महीने में एक बार करना हो.

उदाहरण के लिए, Google Search ने एलएलएम का इस्तेमाल ऑफ़लाइन अनुमान लगाने के लिए किया. इससे 50 से ज़्यादा भाषाओं में COVID के टीकों के लिए 800 से ज़्यादा समानार्थी शब्दों की सूची को कैश मेमोरी में सेव किया गया. इसके बाद, Google Search ने कैश मेमोरी में सेव की गई सूची का इस्तेमाल करके, लाइव ट्रैफ़िक में टीकों से जुड़ी क्वेरी की पहचान की.

एलएलएम का इस्तेमाल ज़िम्मेदारी से करना

मशीन लर्निंग के किसी भी फ़ॉर्म की तरह, एलएलएम में भी आम तौर पर इन चीज़ों का पूर्वाग्रह होता है:

  • जिस डेटा पर उन्हें ट्रेनिंग दी गई थी.
  • वह डेटा जिससे उन्हें बनाया गया था.

इस कोर्स में पहले दिए गए लेसन के मुताबिक, एलएलएम का इस्तेमाल निष्पक्ष और ज़िम्मेदारी के साथ करें.

एक्सरसाइज़: देखें कि आपको क्या समझ आया

एलएलएम के बारे में इनमें से कौनसी बात सही है?
डिस्टिल्ड एलएलएम में, उस भाषा के बुनियादी मॉडल की तुलना में कम पैरामीटर होते हैं जिससे यह शुरू हुआ है.
हां, आसवन से पैरामीटर की संख्या कम हो जाती है.
बेहतरीन एलएलएम में, उस भाषा के बुनियादी मॉडल के मुकाबले कम पैरामीटर होते हैं जिस पर इसे ट्रेनिंग दी गई है.
बेहतर बनाया गया मॉडल, मूल भाषा मॉडल के जितने पैरामीटर के साथ काम करता है.
जब उपयोगकर्ता ज़्यादा प्रॉम्प्ट इंजीनियरिंग करते हैं, तो एलएलएम में पैरामीटर की संख्या बढ़ जाती है.
प्रॉम्प्ट इंजीनियरिंग, एलएलएम पैरामीटर को नहीं जोड़ती (या हटाती या बदलती) है.