course
हर मशीन लर्निंग प्रोजेक्ट किसी न किसी पड़ाव पर लेबल वाले डेटा की ज़रूरत तक पहुँचता है, और उसे लेबल करना उतना समय और पैसा मांगता है जितना ज़्यादातर टीमें वहन नहीं कर पातीं।
दस लाख इमेज टैग करने या दस लाख ऑडियो क्लिप ट्रांसक्राइब करने के लिए टीम हायर करना छह अंकों की लागत तक पहुँच सकता है। वहीं दूसरी ओर, इंटरनेट बिना लेबल वाले टेक्स्ट, इमेज, ऑडियो और वीडियो से भरा पड़ा है। ML टीमें कच्चे डेटा से तो भरपूर हैं, लेकिन उसके साथ वे लेबल बहुत कम आते हैं जो मॉडल को ट्रेन करने के लिए चाहिए।
सेल्फ-सुपरवाइज़्ड लर्निंग में लेबलिंग की ज़रूरत नहीं होती। यह डेटा की अपनी संरचना को ही ट्रेनिंग जानकारी में बदल देती है। इमेज में क्या है या वाक्य का अर्थ क्या है—यह बताने के लिए इंसानों को भुगतान करने के बजाय, आप ऐसा टास्क सेट करते हैं जिसका उत्तर डेटा खुद दे सके—जैसे कोई शब्द छिपाकर मॉडल से आसपास के शब्दों के आधार पर उसका अनुमान लगवाना।
इस लेख में, मैं बताऊँगा कि सेल्फ-सुपरवाइज़्ड लर्निंग कैसे काम करती है, इसकी प्रमुख तकनीकों से गुज़रूँगा, और दिखाऊँगा कि यह सुपरवाइज़्ड, अनसुपरवाइज़्ड, और सेमी-सुपरवाइज़्ड लर्निंग से कैसे तुलना करती है।
सेल्फ-सुपरवाइज़्ड लर्निंग क्या है?
सेल्फ-सुपरवाइज़्ड लर्निंग मॉडल को बिना किसी मानव द्वारा पहले से डेटा लेबल किए ट्रेन करने का तरीका है।
हर उदाहरण को किसी व्यक्ति द्वारा टैग करने के बजाय, डेटा के पास अपना ही आंसर की होता है। मॉडल इनपुट के एक हिस्से को देखता है, दूसरे हिस्से को छिपाता है, और खाली जगह भरने की कोशिश करके सीखता है। इसमें इंसानी हस्तक्षेप की ज़रूरत नहीं पड़ती।
उदाहरण के लिए, आप एक वाक्य ले सकते हैं, एक शब्द छिपा सकते हैं, और मॉडल से आसपास के शब्दों के आधार पर उसका अनुमान लगाने को कह सकते हैं। "The engineer pushed the ___ to the main branch" मॉडल को इतना संदर्भ देता है कि वह बिना किसी के बताए "code" या "changes" का अनुमान लगा सके। वाक्य खुद ही लेबल है।
सेल्फ-सुपरवाइज़्ड लर्निंग दो श्रेणियों के बीच एक अजीब से स्थान पर है। इसका ट्रेनिंग उद्देश्य सुपरवाइज़्ड लर्निंग जैसा दिखता है—एक स्पष्ट इनपुट, एक स्पष्ट टारगेट, और यह मापने के लिए लॉस फ़ंक्शन कि अंदाज़ा कितना गलत था। लेकिन चूँकि वे टारगेट इंसान ने नहीं बनाए, लोग इसे आम तौर पर अनसुपरवाइज़्ड लर्निंग के साथ रखते हैं, जो कच्चे, बिना लेबल वाले डेटा पर काम करती है। सेल्फ-सुपरवाइज़्ड लर्निंग एक की यांत्रिकी और दूसरे के डेटा स्रोत को उधार लेती है।
सेल्फ-सुपरवाइज़्ड लर्निंग कैसे काम करती है?
यह प्रक्रिया, आप किसी भी प्रकार के डेटा पर काम कर रहे हों, एक दोहराने योग्य पैटर्न का पालन करती है। चरण इस प्रकार हैं:
- बिना लेबल वाले डेटा से शुरू करें: टेक्स्ट, इमेज, ऑडियो, वीडियो—फर्क नहीं पड़ता, बस बहुत सारा होना चाहिए।
- डेटा से ही एक लर्निंग टास्क बनाएँ: इसे प्रीटेक्स्ट टास्क कहते हैं। यह वह टास्क नहीं है जिसकी आपको वास्तव में परवाह है; यह एक बनावटी समस्या है जो मॉडल को कुछ उपयोगी सीखने पर मजबूर करने के लिए डिज़ाइन की गई है। शब्द छिपाना और उसका अनुमान लगवाना एक उदाहरण है।
- मॉडल को उस टास्क को सुलझाने के लिए ट्रेन करें: मॉडल अनुमान लगाता है, उसे वास्तविक मान से मिलाता है, और समायोजित करता है।
- उपयोगी रिप्रेज़ेंटेशन सीखें: प्रीटेक्स्ट टास्क हल करते हुए, मॉडल डेटा की संरचना—जैसे व्याकरण, संदर्भ, आकार, और पैटर्न—की आंतरिक समझ बनाता है।
- उन रिप्रेज़ेंटेशन को डाउनस्ट्रीम टास्क में अपनाएँ: एक बार जब मॉडल ठोस रिप्रेज़ेंटेशन सीख लेता है, तो आप उसे उस कार्य पर लगाते हैं जिसे आप वास्तव में हल करना चाहते थे। यही डाउनस्ट्रीम टास्क है।
प्रीटेक्स्ट टास्क महज़ एक ट्रेनिंग अभ्यास है। कोई भी मज़े के लिए छिपे शब्दों का अनुमान लगाने वाला मॉडल तैनात नहीं करता—क़ीमत उन रिप्रेज़ेंटेशन में है जो मॉडल रास्ते में सीखता है और जिन्हें वास्तविक समस्याओं पर स्थानांतरित किया जा सकता है।
अन्य लर्निंग विधियों के मुकाबले सेल्फ-सुपरवाइज़्ड लर्निंग
सेल्फ-सुपरवाइज़्ड लर्निंग को समझने का सबसे आसान तरीका है यह देखना कि यह अन्य ट्रेनिंग प्रतिमानों से कहाँ मिलती-जुलती और कहाँ अलग है।
सेल्फ-सुपरवाइज़्ड बनाम सुपरवाइज़्ड लर्निंग
सुपरवाइज़्ड लर्निंग को हर इनपुट के लिए एक लेबल वाले उदाहरण की ज़रूरत होती है, जैसे "dog" टैग की गई इमेज या "negative" टैग की गई समीक्षा। ये लेबल किसी को हाथ से बनाने होते हैं, जिसका मतलब है लागत, समय, और इस बात की एक सीमा कि आप व्यवहार में कितना डेटा इस्तेमाल कर सकते हैं।
सेल्फ-सुपरवाइज़्ड लर्निंग में भी मॉडल को एक टारगेट मिलता है जिसका अनुमान लगाना है, लेकिन यह टारगेट डेटा से ही आता है—जैसे कोई छिपा हुआ शब्द या अनुक्रम का अगला टोकन। ट्रेनिंग संकेत बनाने के लिए किसी मानव एनोटेशन की ज़रूरत नहीं होती।
सेल्फ-सुपरवाइज़्ड बनाम अनसुपरवाइज़्ड लर्निंग
दोनों विधियाँ बिना लेबल वाले डेटा पर काम करती हैं, इसलिए लोग अक्सर इन्हें गड़बड़ा देते हैं। अंतर उद्देश्य में है।
अनसुपरवाइज़्ड लर्निंग किसी विशिष्ट भविष्यवाणी लक्ष्य के बिना संरचना खोजती है, जैसे समान ग्राहकों का क्लस्टर बनाना या किसी डेटासेट के आयाम घटाना। सेल्फ-सुपरवाइज़्ड लर्निंग डेटा से ही एक स्पष्ट भविष्यवाणी टास्क बनाती है और फिर उसे हल करने के लिए मॉडल को ट्रेन करती है। यही भविष्यवाणी उद्देश्य सेल्फ-सुपरवाइज़्ड लर्निंग को सुपरवाइज़्ड-शैली का ट्रेनिंग लूप देता है, भले ही लेबल स्वयं-उत्पन्न हों।
सेल्फ-सुपरवाइज़्ड बनाम सेमी-सुपरवाइज़्ड लर्निंग
सेमी-सुपरवाइज़्ड लर्निंग जानबूझकर एक छोटे लेबल्ड डेटासेट को बड़े अनलेबल्ड डेटासेट के साथ मिलाती है और दोनों को साथ में इस्तेमाल कर मॉडल में सुधार करती है।
सेल्फ-सुपरवाइज़्ड प्रीट्रेनिंग को शुरू करने के लिए किसी लेबल की ज़रूरत नहीं होती। यह पूरी तरह बिना लेबल वाले डेटा पर प्रीट्रेन कर सकती है, और बाद में वैकल्पिक रूप से फाइन-ट्यूनिंग के लिए लेबल्ड डेटासेट को सौंप सकती है। अगर लेबल आते भी हैं, तो वे प्रीट्रेनिंग के बाद आते हैं।
| लेबल की आवश्यकता | लर्निंग संकेत का स्रोत | सामान्य उपयोग | |
|---|---|---|---|
| Supervised | हाँ, हर उदाहरण के लिए | मानव-निर्मित लेबल | लक्ष्य टास्क पर सीधे मॉडल को ट्रेन करना |
| Unsupervised | नहीं | डेटा में संरचना (क्लस्टर, पैटर्न) | समूहीकरण, आयाम में कमी |
| Semi-supervised | कुछ, अनलेबल्ड डेटा के साथ मिश्रित | लेबल्ड उदाहरण + अनलेबल्ड डेटा में पैटर्न | जब लेबल्ड डेटा कम हो तो सटीकता बढ़ाना |
| Self-supervised | नहीं, प्रीट्रेनिंग के लिए | डेटा से ही बना प्रीटेक्स्ट टास्क | डाउनस्ट्रीम टास्क पर फाइन-ट्यूनिंग से पहले प्रीट्रेनिंग |
अन्य विधियों की तुलना में सेल्फ-सुपरवाइज़्ड लर्निंग
सेल्फ-सुपरवाइज़्ड लर्निंग के प्रकार
सेल्फ-सुपरवाइज़्ड तरीक़े कुछ व्यापक परिवारों में आते हैं, जिनमें से हर एक अलग तरह के प्रीटेक्स्ट टास्क पर आधारित होता है।
कॉन्ट्रास्टिव लर्निंग
कॉन्ट्रास्टिव लर्निंग मॉडल को संबंधित उदाहरणों और असंबंधित उदाहरणों में फ़र्क करना सिखाती है। यह समान उदाहरणों के रिप्रेज़ेंटेशन को पास लाती है और असमान उदाहरणों को दूर धकेलती है, बिना कभी "समान" को परिभाषित करने के लिए किसी मैनुअल लेबल का उपयोग किए।
एक ही इमेज के दो ऑगमेंटेड वर्शन संबंधित माने जाते हैं। कोई इमेज और उसका मिलान करता कैप्शन भी संबंधित माने जाते हैं। SimCLR यह विचार एक ही मोडैलिटी के भीतर लागू करता है, एक ही इमेज की अलग-अलग क्रॉप या ट्रांसफ़ॉर्मेशन की तुलना करके। CLIP इसे क्रॉस-मोडैलिटी में लागू करता है, इमेज को उन्हें वर्णित करने वाले टेक्स्ट के साथ एलाइन करता है।
मास्क्ड मॉडलिंग
मास्क्ड मॉडलिंग इनपुट के एक हिस्से को छिपाती है और मॉडल को उसे पुनर्निर्मित करने के लिए ट्रेन करती है। यह पहले दिए गए fill-in-the-blank वाले उदाहरण का ही व्यापक रूप है।
भाषा में, यह मास्क्ड लैंग्वेज मॉडलिंग के रूप में दिखता है, जिसमें वाक्य के कुछ शब्द छिपाए जाते हैं और बाकी से उनका अनुमान लगाया जाता है। विज़न में, यह मास्क्ड इमेज मॉडलिंग के रूप में दिखता है, जिसमें इमेज के पैच छिपाए जाते हैं और मॉडल से गुम पिक्सल या उनके अंतर्निहित रिप्रेज़ेंटेशन को पुनर्निर्मित करने के लिए कहा जाता है।
ऑटोरिग्रेसिव लर्निंग
ऑटोरिग्रेसिव लर्निंग अनुक्रम में अगले तत्व का पूर्वानुमान उससे पहले आए सब कुछ का उपयोग करके लगाती है। वाक्य की शुरुआत दीजिए, मॉडल अगला शब्द भविष्यवाणी करेगा। वह शब्द मिलने पर उसके बाद वाला, और इसी तरह आगे।
यह अधिकांश आधुनिक भाषा मॉडल प्रीट्रेनिंग के पीछे का उद्देश्य है। यह टेक्स्ट के लिए स्वाभाविक फ़िट है, क्योंकि भाषा पहले से बाएँ-से-दाएँ क्रम में आती है, और यह बिना किसी अतिरिक्त सेटअप के बहुत बड़े टेक्स्ट कॉर्पोरा तक सहज रूप से स्केल हो जाती है।
सेल्फ-डिस्टिलेशन
सेल्फ-डिस्टिलेशन डेटा में छिपे किसी स्थिर उत्तर के बजाय, लक्ष्य के रूप में मॉडल की अपनी भविष्यवाणियों का उपयोग करते हुए मॉडल को ट्रेन करती है।
एक आम सेटअप में एक ही नेटवर्क के दो वर्शन—"स्टूडेंट" और "टीचर"—को एक ही इनपुट के अलग-अलग व्यू पर चलाया जाता है। स्टूडेंट टीचर के आउटपुट से मेल खाना सीखता है, और टीचर स्टूडेंट का धीमी गति से चलता औसत लेकर अपडेट होता है। DINO और BYOL यहाँ प्रतिनिधि तरीक़े हैं। नकारात्मक उदाहरणों या मास्क्ड इनपुट की ज़रूरत नहीं, क्योंकि मॉडल व्यूज़ के बीच सुसंगति से अपना ही सुपरविजन बूटस्ट्रैप कर लेता है।
बड़े भाषा मॉडलों में सेल्फ-सुपरवाइज़्ड लर्निंग
सेल्फ-सुपरविजन बड़े भाषा मॉडलों के लिए पूरा प्रीट्रेनिंग चरण है। आपने जिन भी प्रमुख LLM का उपयोग किया है, उन्होंने भाषा की संरचना, तथ्य, और तर्क पैटर्न बिना किसी मानव-लिखित लेबल के, केवल कच्चे टेक्स्ट पर सेल्फ-सुपरवाइज़्ड प्रीटेक्स्ट टास्क हल करके सीखे हैं।
अगले-टोकन की भविष्यवाणी
अधिकांश आधुनिक LLM अगले-टोकन भविष्यवाणी पर प्रीट्रेन होते हैं: दिए गए टोकनों के अनुक्रम पर, अगला आने वाला टोकन भविष्यवाणी करें। मॉडल किसी स्थान से पहले तक सब कुछ पढ़ता है और आगे क्या आता है इसका अंदाज़ा लगाता है, स्वयं को वास्तविक अगले टोकन से मिलाता है, और समायोजित करता है।
अगर आप यह काम वेबसाइटों और कोड रिपॉज़िटरी से जुटाए गए ट्रिलियन टोकनों पर चलाएँ, तो मॉडल रास्ते में व्याकरण, तथ्यों, और यहाँ तक कि तर्क पैटर्न का कार्यकारी मॉडल बना लेता है। यह वही ऑटोरिग्रेसिव उद्देश्य है जिसका ऊपर ज़िक्र हुआ, बस बड़े पैमाने पर।
मास्क्ड लैंग्वेज मॉडलिंग
ऑटोरिग्रेसिव प्रीट्रेनिंग के हावी होने से पहले, BERT जैसे मॉडल एक अलग प्रीटेक्स्ट टास्क का उपयोग करते थे। आगे क्या आता है यह बताने के बजाय, BERT वाक्य में बेतरतीब टोकन छिपाता है और दोनों ओर के संदर्भ का उपयोग कर उनका अनुमान लगाता है।
वह द्विदिश संदर्भ मास्क्ड लैंग्वेज मॉडलों को वर्गीकरण और प्रश्नोत्तर जैसे समझ-आधारित कार्यों में अच्छा बनाता है, भले ही वे अगले-टोकन भविष्यवाणी मॉडलों की तरह टेक्स्ट जनरेट न करते हों।
बड़े टेक्स्ट कॉर्पोरा से सीखना
यह सब वॉल्यूम के बिना काम नहीं करता। प्रीट्रेनिंग के लिए डेटा वेब पेजों, पुस्तकों, कोड रिपॉज़िटरी, और फ़ोरम से आता है, जिन्हें फ़िल्टर और डीडुप्लिकेट करके अरबों या ट्रिलियन टोकन वाले कॉर्पोरा में बदला जाता है। जितना बड़ा और विविध कॉर्पस होगा, उतने ही सामान्यीकृत परिणामी रिप्रेज़ेंटेशन बनते जाते हैं।
प्रीट्रेनिंग वह जगह है जहाँ सेल्फ-सुपरविजन अपना काम करता है, लेकिन यही आख़िरी चरण नहीं है। फाइन-ट्यूनिंग मानव-लिखित निर्देश उदाहरणों पर उसे निर्देशों का पालन करना सिखाती है, और RLHF या DPO जैसी प्रेफ़रेंस ऑप्टिमाइज़ेशन विधियाँ रैंक की गई मानव वरीयताओं का उपयोग कर उसके उत्तर आकार देती हैं। इन बाद के दोनों चरणों को लेबल्ड डेटा चाहिए। सेल्फ-सुपरवाइज़्ड प्रीट्रेनिंग ही एकमात्र चरण है जिसे लेबल नहीं चाहिए।
कंप्यूटर विज़न में सेल्फ-सुपरवाइज़्ड लर्निंग
कंप्यूटर विज़न वह आदर्श क्षेत्र है जहाँ लेबल्ड डेटा पर्याप्त नहीं होता। बाउंडिंग बॉक्स और सेगमेंटेशन मास्क बनाना टेक्स्ट पर एक टैग लगाने की तुलना में कहीं अधिक समय लेता है, जिससे यहाँ सेल्फ-सुपरवाइज़्ड तरीक़े विशेष रूप से मूल्यवान हो गए।
कॉन्ट्रास्टिव इमेज लर्निंग पहले बताई pull-together, push-apart की ही अवधारणा लागू करती है, जिसमें एक ही फ़ोटो के दो ऑगमेंटेड संस्करण (जैसे कोई क्रॉप या फ़्लिप) लेना और मॉडल को उन्हें संबंधित पहचानने के लिए ट्रेन करना शामिल है, जबकि बैच की अन्य इमेज को असंबंधित मानना। SimCLR इमेज पर लागू इस तरीक़े का प्रसिद्ध उदाहरण है।
मास्क्ड इमेज मॉडलिंग भाषा के fill-in-the-blank विचार को पिक्सल पर लागू करती है। विचार यह है कि इमेज के पैच छिपाएँ और मॉडल को गायब सामग्री का पुनर्निर्माण करना सिखाएँ, या तो कच्चे पिक्सल के रूप में या सीखे गए फीचर रिप्रेज़ेंटेशन के रूप में। यही MAE (Masked Autoencoders) के पीछे का उद्देश्य है।
इमेज-टेक्स्ट एलाइनमेंट मॉडल को इमेज को उनका वर्णन करने वाले कैप्शन से मिलाना सिखाता है, मेल खाते जोड़ों को साझा एम्बेडिंग स्पेस में पास लाता है और मिसमैच्ड जोड़ों को अलग करता है। CLIP सबसे जाना-पहचाना उदाहरण है, और यही वजह है कि इस तरह ट्रेन किए गए मॉडल ज़ीरो-शॉट क्लासिफ़िकेशन का समर्थन करते हैं—वे उन श्रेणियों को भी पहचान सकते हैं जिन पर उन्हें स्पष्ट रूप से ट्रेन नहीं किया गया, केवल इमेज को किसी टेक्स्ट विवरण से तुलना कर के।
टेक्स्ट और इमेज से आगे सेल्फ-सुपरवाइज़्ड लर्निंग
प्रीटेक्स्ट टास्क हमेशा डेटा के आकार का अनुसरण करता है, इसलिए जहाँ भी आपके पास बहुत सारा बिना लेबल वाला डेटा है, आम तौर पर आप उसके इर्द-गिर्द एक सेल्फ-सुपरवाइज़्ड टास्क डिज़ाइन कर सकते हैं।
स्पीच और ऑडियो में, मॉडल मास्क्ड ऑडियो सेगमेंट की भविष्यवाणी करते हैं या अलग-अलग क्लिप्स को उसी तरह कॉन्ट्रास्ट करते हैं जैसे विज़न मॉडल इमेज क्रॉप्स को करते हैं, बिना पहले से ट्रांसक्राइब्ड ट्रेनिंग डेटा की आवश्यकता के, स्पीच रिकग्निशन जैसे कार्यों के लिए उपयोगी रिप्रेज़ेंटेशन सीखते हुए।
वीडियो में, प्रीटेक्स्ट टास्क भविष्य के फ़्रेमों की भविष्यवाणी करना या एक ही स्रोत वीडियो से आने वाले क्लिप्स का मिलान करना शामिल कर सकता है, जिससे मॉडल को गति और समयगत संरचना का बोध मिलता है जो एकल इमेज नहीं दे सकती।
मल्टीमॉडल मॉडल इन विचारों में से दो या अधिक को एक साथ जोड़ते हैं, टेक्स्ट, इमेज, ऑडियो, और वीडियो को एक साझा रिप्रेज़ेंटेशन स्पेस में एलाइन करते हुए, ठीक वैसे ही जैसे CLIP इमेज और टेक्स्ट को एलाइन करता है, बस अधिक प्रकार के डेटा तक विस्तारित।
सेल्फ-सुपरविजन वैज्ञानिक और सेंसर डेटा—जैसे जीनोमिक अनुक्रम या टाइम-सीरीज़ सेंसर रीडिंग—में भी दिखाई देता है, जहाँ सिग्नल के हिस्सों को मास्क करना या भविष्यवाणी करना किसी ऐसे माप से संरचना सीखने देता है जिन्हें शुरू में "लेबल" करने के लिए बनाया ही नहीं गया था।
डाउनस्ट्रीम में सेल्फ-सुपरवाइज़्ड मॉडलों का उपयोग कैसे होता है
प्रीट्रेनिंग एक ऐसा मॉडल देती है जो प्रीटेक्स्ट टास्क को अच्छी तरह सुलझाता है। वास्तव में किसी को इसकी परवाह नहीं—मायने यह रखता है कि आप आगे इसके साथ क्या करते हैं।
फाइन-ट्यूनिंग
फाइन-ट्यूनिंग प्रीट्रेन किए गए मॉडल को लेती है और उसकी सभी वेट्स को जारी रखते हुए ट्रेन करती है, इस बार उस टास्क के लेबल्ड डेटा पर जिसे आप वास्तव में चाहते हैं। चूँकि मॉडल पहले से डोमेन की संरचना समझता है, फाइन-ट्यूनिंग को आम तौर पर स्क्रैच से मॉडल ट्रेन करने की तुलना में बहुत कम लेबल्ड डेटा चाहिए।
लीनियर प्रोबिंग
लीनियर प्रोबिंग प्रीट्रेन मॉडल को पूरी तरह फ्रीज़ कर देती है और केवल उसके आउटपुट के ऊपर एक सिंगल लीनियर लेयर को ट्रेन करती है। अगर एक साधारण लीनियर क्लासिफ़ायर उन फ्रीज़्ड फीचर्स का उपयोग कर कक्षाओं को अलग कर सकता है, तो प्रीट्रेन रिप्रेज़ेंटेशन ने वास्तविक संरचना को पकड़ा है। यही वजह है कि रिप्रेज़ेंटेशन क्वालिटी को अपने आप जाँचने के लिए, फुल मॉडल की फाइन-ट्यूनिंग क्षमता से अलग, लीनियर प्रोबिंग सामान्य तरीक़ा है।
फ़ीचर एक्सट्रैक्शन
फ़ीचर एक्सट्रैक्शन लीनियर प्रोबिंग की तरह ही काम करता है, बस लीनियर हिस्से के बिना। आप फ्रीज़्ड रिप्रेज़ेंटेशन लेते हैं और उन्हें किसी भी डाउनस्ट्रीम एल्गोरिद्म में फ़ीड कर देते हैं। प्रीट्रेन मॉडल का एकमात्र काम अच्छे एम्बेडिंग निकालना है, उसके बाद का सारा काम आपकी मर्ज़ी।
ज़ीरो-शॉट और फ़्यू-शॉट उपयोग
कुछ रिप्रेज़ेंटेशन इतने अच्छे होते हैं कि उन्हें बिना किसी डाउनस्ट्रीम ट्रेनिंग के भी इस्तेमाल किया जा सकता है। CLIP ऐसा इमेज और प्रत्याशी टेक्स्ट लेबल के सेट को एक ही स्पेस में एम्बेड करके करता है, फिर इमेज के सबसे क़रीबी लेबल को चुनता है। फ़्यू-शॉट लर्निंग इसी विचार में थोड़े से लेबल्ड उदाहरण जोड़ती है, जो अक्सर पर्याप्त होते हैं क्योंकि रिप्रेज़ेंटेशन पहले से वह अधिकतर संरचना लेकर आते हैं जिसकी मॉडल को ज़रूरत है।
सेल्फ-सुपरवाइज़्ड लर्निंग के साथ, आपको पुन: प्रयोज्य रिप्रेज़ेंटेशन मिलते हैं। आप एक बार प्रीट्रेन करते हैं, फिर उतने डाउनस्ट्रीम टास्क पर उसी कोर को फाइन-ट्यून, प्रोब, फीचर एक्सट्रैक्ट, या क्वेरी करते हैं जितनी ज़रूरत हो। महँगा काम ज़्यादातर प्रीट्रेनिंग के दौरान एक ही बार होता है, हर टास्क पर नहीं।
Python में सेल्फ-सुपरवाइज़्ड लर्निंग
यहाँ एक हल्का-फुल्का उदाहरण है जो एक प्रीट्रेन मॉडल का उपयोग करता है, न कि ज़ीरो से बनाया गया सेल्फ-सुपरवाइज़्ड सिस्टम—ताकि आप वर्कफ़्लो का अंदाज़ा लगा सकें।
all-MiniLM-L6-v2, जो sentence-transformers पैकेज के माध्यम से उपलब्ध है, को मास्क्ड लैंग्वेज मॉडलिंग उद्देश्य के साथ प्रीट्रेन किया गया था और फिर वाक्य युग्मों पर कॉन्ट्रास्टिव उद्देश्य के साथ आगे ट्रेन किया गया। यही सेल्फ-सुपरवाइज़्ड हिस्सा आपके लिए पहले से किया हुआ है—आप तो बस परिणामी रिप्रेज़ेंटेशन को काम पर लगा रहे हैं।
शुरू करने के लिए, सुनिश्चित करें कि आप निर्भरताएँ इंस्टॉल करें:
pip install sentence-transformers scikit-learn
अब कोड पर आते हैं:
from sentence_transformers import SentenceTransformer
from sklearn.linear_model import LogisticRegression
# Create unlabeled data
support_tickets = [
"My order arrived damaged and I need a replacement.",
"The app crashes every time I try to upload a photo.",
"I love how fast the checkout process is now.",
"Can you tell me when my refund will be processed?",
"The new dashboard layout is so much easier to use.",
"I can't log in, it keeps saying my password is wrong.",
]
# Load a model pretrained with a self-supervised objective
model = SentenceTransformer("all-MiniLM-L6-v2")
# Obtain learned representations
embeddings = model.encode(support_tickets)
print(embeddings.shape)

एम्बेडिंग्स का आकार
.encode() मेथड हर टिकट को प्रीट्रेन मॉडल से गुज़ारती है और एक सघन वेक्टर लौटाती है जो उसके अर्थ का प्रतिनिधित्व करता है। वहाँ से, किसी डाउनस्ट्रीम टास्क को केवल कुछ गिने-चुने लेबल्ड उदाहरणों की ज़रूरत होती है, क्योंकि एम्बेडिंग्स पहले से ज़्यादातर संरचना लेकर आती हैं:
# Use the representations for a downstream task, 1 = complaint, 0 = positive feedback
labels = [1, 1, 0, 1, 0, 1]
clf = LogisticRegression()
clf.fit(embeddings, labels)
new_ticket = ["The delivery was late and no one responded to my email."]
new_embedding = model.encode(new_ticket)
print(clf.predict(new_embedding))

लॉजिस्टिक रिग्रेशन प्रिडिक्शन
छह लेबल्ड टिकट और एक LogisticRegression क्लासिफ़ायर यहाँ पर्याप्त हैं क्योंकि असल काम क्लासिफ़ायर नहीं, रिप्रेज़ेंटेशन कर रहे हैं।
सेल्फ-सुपरवाइज़्ड लर्निंग के फायदे और सीमाएँ
अब मैं सेल्फ-सुपरवाइज़्ड लर्निंग के लाभ और हानियाँ बताता हूँ।
फायदे
- मैन्युअल लेबल वाले डेटा पर निर्भरता घटती है: प्रीटेक्स्ट टास्क अपने लक्ष्य खुद बनाता है, इसलिए ट्रेनिंग के लिए कितना डेटा इस्तेमाल कर सकते हैं, यह अब लेबलिंग बजट से सख़्ती से सीमित नहीं रहता
- बहुत बड़े डेटासेट का उपयोग संभव होता है: वेब-स्तरीय टेक्स्ट और ऑडियो संग्रह ट्रेनिंग के लिए उपयोगी बनते हैं, न कि केवल वे छोटे लेबल्ड सबसेट जिन्हें टीमें एनोटेट करने का खर्च उठा पाती थीं
- ट्रांसफ़रेबल रिप्रेज़ेंटेशन बनते हैं: एक ही प्रीट्रेन मॉडल कई अलग-अलग डाउनस्ट्रीम टास्क पर फाइन-ट्यूनिंग, लीनियर प्रोबिंग, फीचर एक्सट्रैक्शन, और ज़ीरो-शॉट उपयोग को सपोर्ट कर सकता है
- बड़े पैमाने पर प्रीट्रेनिंग संभव होती है: यही वह चीज़ है जो आज के फ़ाउंडेशन मॉडलों को संभव बनाती है।
सीमाएँ
- काफ़ी अधिक कंप्यूट आवश्यकताएँ: इंटरनेट-स्तरीय डेटा पर प्रीट्रेनिंग के लिए गंभीर हार्डवेयर और समय चाहिए, जो ज़्यादातर व्यक्तिगत टीमों की पहुँच से बाहर है
- प्रीटेक्स्ट टास्क का डिज़ाइन मायने रखता है: गलत चुना गया प्रीटेक्स्ट टास्क, डेटा कितना भी डालें, ऐसे रिप्रेज़ेंटेशन देता है जो अच्छी तरह ट्रांसफ़र नहीं होते
- सीखे गए रिप्रेज़ेंटेशन पूर्वाग्रह अपना सकते हैं: ट्रेनिंग डेटा में जो भी पैटर्न, खालीपन, या झुकाव मौजूद होते हैं, वे रिप्रेज़ेंटेशन में भी दिख जाते हैं, क्योंकि प्रीट्रेनिंग के दौरान उन्हें फ़िल्टर करने वाला कुछ नहीं होता
- मज़बूत प्रीट्रेनिंग प्रदर्शन डाउनस्ट्रीम सफलता की गारंटी नहीं: कोई मॉडल जो अपना प्रीटेक्स्ट टास्क बहुत अच्छा हल करे, फिर भी किसी विशिष्ट डाउनस्ट्रीम टास्क पर कमज़ोर पड़ सकता है जिसके लिए उसे सीधे ऑप्टिमाइज़ नहीं किया गया
आधुनिक AI के लिए सेल्फ-सुपरवाइज़्ड लर्निंग क्यों मायने रखती है
सेल्फ-सुपरवाइज़्ड लर्निंग वह कारण है जिसकी वजह से फ़ाउंडेशन मॉडल संभव हो पाए हैं।
आधुनिक मॉडलों के लिए आवश्यक पैमाने पर प्रीट्रेनिंग करना, अगर यह मैनुअल लेबल पर निर्भर होता, तो संभव नहीं था। कोई भी ट्रिलियन टोकन टेक्स्ट या अरब इमेज को हाथ से लेबल नहीं करता। सेल्फ-सुपरविजन ने इंटरनेट-स्तरीय संग्रहों पर प्रीट्रेनिंग को व्यावहारिक बनाया, और फिर एक ही मॉडल को अलग-अलग डाउनस्ट्रीम टास्क में पुन: उपयोग करना संभव किया, हर टास्क के लिए अलग मॉडल ट्रेन करने के बजाय।
कई टास्क-विशिष्ट मॉडलों से एक सामान्य-उद्देश्य प्रीट्रेन मॉडल तक, जिसे कई उपयोगों के लिए अनुकूलित किया जाता है—यह बदलाव आधुनिक AI का मुख्य रुझान रहा है। यह बदलाव संभव करने वाली तकनीक सेल्फ-सुपरवाइज़्ड लर्निंग ही है।
निष्कर्ष
सेल्फ-सुपरवाइज़्ड लर्निंग मानव-लिखित लेबल के बजाय बिना लेबल वाले डेटा की संरचना से अपना सुपरविजन खुद जनरेट करती है। सामान्य पैटर्न है किसी शब्द को छिपाना या अगले टोकन का अनुमान लगाना। डेटा अपने सवालों के जवाब खुद देता है, और मॉडल उन जवाबों को सही पाने की कोशिश करके सीखता है।
मुख्य तरीक़े इसी विचार को अलग-अलग ढंग से आगे बढ़ाते हैं। कॉन्ट्रास्टिव लर्निंग संबंधित उदाहरणों को पास लाती है और असंबंधितों को दूर करती है। मास्क्ड मॉडलिंग इनपुट के एक हिस्से को छिपाकर मॉडल को उसे पुनर्निर्मित करना सिखाती है। ऑटोरिग्रेसिव लर्निंग अनुक्रम में अगले तत्व का अनुमान पहले आए सब कुछ से लगाती है। यांत्रिकी अलग-अलग हैं, लेकिन डेटा की संरचना से ही ट्रेनिंग संकेत लेने का मूल सिद्धांत एक जैसा है।
इसी सिद्धांत के कारण आप जिन भाषा, विज़न और मल्टीमॉडल मॉडलों का इस्तेमाल करते हैं, उनमें ज़्यादातर के पीछे सेल्फ-सुपरविजन है। आज के LLM अगले-टोकन भविष्यवाणी से प्रीट्रेन होते हैं, विज़न मॉडल कॉन्ट्रास्टिव और मास्क्ड उद्देश्यों से, और इमेज-टेक्स्ट एलाइनमेंट वे मल्टीमॉडल मॉडल प्रीट्रेन करता है जो दोनों को जोड़ते हैं।
यदि आप स्क्रैच से LLM बनाना सीखना चाहते हैं, तो हमारे Developing Large Language Models ट्रैक में नामांकन करें और PyTorch, Hugging Face, और नवीनतम NLP तकनीकों को एक्शन में देखें।
FAQs
सेल्फ-सुपरवाइज़्ड लर्निंग क्या है?
सेल्फ-सुपरवाइज़्ड लर्निंग बिना मानव-निर्मित लेबल के मॉडल को ट्रेन करने का तरीका है। मॉडल इनपुट के एक हिस्से को देखता है, दूसरे हिस्से को छिपाता है, और गुम हिस्से की भविष्यवाणी करने की कोशिश करके सीखता है। डेटा अपना ट्रेनिंग संकेत खुद देता है, इसी वजह से इसे "सेल्फ-सुपरवाइज़्ड" कहा जाता है।
सेल्फ-सुपरवाइज़्ड लर्निंग अनसुपरवाइज़्ड लर्निंग से कैसे अलग है?
दोनों बिना लेबल वाले डेटा पर काम करते हैं, लेकिन उनका दृष्टिकोण अलग है। अनसुपरवाइज़्ड लर्निंग किसी विशिष्ट भविष्यवाणी लक्ष्य के बिना संरचना खोजती है, जैसे समान ग्राहकों को एक साथ समूहित करना। सेल्फ-सुपरवाइज़्ड लर्निंग डेटा से ही एक स्पष्ट भविष्यवाणी टास्क बनाती है और फिर मॉडल को उसे हल करने के लिए ट्रेन करती है।
आधुनिक AI के लिए सेल्फ-सुपरवाइज़्ड लर्निंग क्यों मायने रखती है?
यह वही कारण है जिससे फ़ाउंडेशन मॉडल संभव हो पाए हैं। आज के पैमाने पर प्रीट्रेनिंग करना मैनुअल लेबल पर निर्भर होता तो संभव नहीं था, क्योंकि कोई भी ट्रिलियन टोकन टेक्स्ट हाथ से लेबल नहीं करता। सेल्फ-सुपरविजन एक ही प्रीट्रेन मॉडल को कई अलग-अलग डाउनस्ट्रीम टास्क में पुन: उपयोग करने देता है, हर टास्क के लिए अलग मॉडल ट्रेन करने के बजाय।
प्रीटेक्स्ट टास्क और डाउनस्ट्रीम टास्क में क्या अंतर है?
प्रीटेक्स्ट टास्क वह बनावटी समस्या है जिसे मॉडल प्रीट्रेनिंग के दौरान हल करता है, जैसे छिपे शब्द की भविष्यवाणी करना। यह वह काम नहीं है जिसकी आपको वास्तव में परवाह है—यह बस मॉडल को उपयोगी रिप्रेज़ेंटेशन सीखने पर मजबूर करता है। डाउनस्ट्रीम टास्क वह वास्तविक समस्या है जिस पर आप बाद में उन रिप्रेज़ेंटेशन को लागू करते हैं, जैसे क्लासिफ़िकेशन या सर्च।
क्या सेल्फ-सुपरवाइज़्ड लर्निंग शून्य लेबल वाले डेटा के साथ काम कर सकती है?
हाँ, प्रीट्रेनिंग को खुद किसी लेबल की ज़रूरत नहीं होती। एक बार मॉडल रिप्रेज़ेंटेशन सीख लेता है, तो कुछ डाउनस्ट्रीम उपयोग—जैसे CLIP का ज़ीरो-शॉट क्लासिफ़िकेशन—चलाने के लिए भी शून्य लेबल चाहिए होते हैं। अन्य, जैसे फाइन-ट्यूनिंग या फ़्यू-शॉट लर्निंग, बाद के चरण में थोड़े लेबल्ड डेटा लाते हैं।