मॉडल के अंदर: इंटरप्रिटेबिलिटीएडवांस्डपाठ 3126 मिनट का पाठ

Features और superposition

अक्सर एक ही न्यूरॉन कई असंबंधित चीज़ों पर प्रतिक्रिया देता है। इसकी एक प्रमुख व्याख्या यह है कि मॉडल अपने डाइमेंशन्स की तुलना में कहीं ज़्यादा features को समाहित (pack) करते हैं।

पाठ वीडियो में

60 सेकंड में

Features और superposition

अक्सर एक ही न्यूरॉन कई असंबंधित चीज़ों पर प्रतिक्रिया देता है। इसकी एक प्रमुख व्याख्या यह है कि मॉडल अपने डाइमेंशन्स की तुलना में कहीं ज़्यादा features को समाहित (pack) करते हैं।

1/3
आसान शब्दों में
एक स्कूल में सिर्फ़ 5 लॉकर हैं लेकिन 20 छात्र हैं। अगर हर छात्र अलग दिन आता है, तो वे लॉकर शेयर कर सकते हैं और काम आमतौर पर चल जाता है। लेकिन अगर कई छात्र एक ही दिन आ जाएं, तो गड़बड़ हो जाती है। एक मॉडल भी विचारों (ideas) को इसी तरह स्टोर करता है: स्लॉट्स की तुलना में ज़्यादा विचार, जब तक कि एक बार में कुछ ही विचार "इस्तेमाल" में हों।
एक feature इनपुट की वह विशेषता है जिसे मॉडल दर्शाता हुआ प्रतीत होता है, जैसे "यह टेक्स्ट तमिल में है", "यह एक संख्या है" या "यह शब्द उद्धरण (quotation) के अंदर है"। शुरुआत में उम्मीद यह थी कि हर न्यूरॉन एक feature होगा। कभी-कभी ऐसा होता भी है। लेकिन शोधकर्ताओं ने पाया है कि कई न्यूरॉन polysemantic होते हैं: एक ही न्यूरॉन कई असंबंधित चीज़ों के लिए फ़ायर करता है, जैसे क्रिकेट के शब्दों और कानूनी भाषा दोनों के लिए।

Superposition का विचार

512 डाइमेंशन्स वाली एक लेयर 512 पूरी तरह से अलग दिशाओं को रख सकती है। लेकिन दुनिया में 512 से कहीं ज़्यादा उपयोगी features हैं। Superposition की परिकल्पना कहती है कि मॉडल डाइमेंशन्स की तुलना में ज़्यादा features स्टोर करते हैं, ऐसी दिशाओं के रूप में जो पूरी तरह 90 डिग्री (right angles) पर नहीं होतीं। यह इसलिए काम करता है क्योंकि ज़्यादातर features sparse होते हैं: किसी एक वाक्य में केवल कुछ ही सक्रिय होते हैं।
  • यदि features शायद ही कभी एक साथ सक्रिय होते हैं, तो उनका थोड़ा-बहुत ओवरलैप शायद ही कभी परेशानी पैदा करता है।
  • इसकी कीमत interference (हस्तक्षेप) है: जब दो ओवरलैप होने वाले features एक साथ सक्रिय होते हैं, तो वे धुंधले हो सकते हैं या गलत संकेत दे सकते हैं।
  • एक साइड इफ़ेक्ट: प्रत्येक न्यूरॉन (एक अक्ष) कई feature दिशाओं के साथ आंशिक रूप से संरेखित (aligned) हो जाता है, इसलिए यह polysemantic दिखने लगता है।

एक 2-D खिलौना: दो संख्याओं में पाँच features

एक वृत्त के चारों ओर पाँच feature दिशाएं रखें, जैसे किसी तारे के कोने। सक्रिय features की दिशाओं को जोड़कर एन्कोड करें। छोटे ओवरलैप्स को छिपाने वाले ReLU थ्रेशोल्ड के साथ प्रत्येक दिशा की जांच करके डिकोड करें।
Five features in two dimensionspython
import numpy as np

# 5 features squeezed into 2 dimensions: directions spread like a pentagon.
k = 5
angles = 2 * np.pi * np.arange(k) / k
W = np.stack([np.cos(angles), np.sin(angles)])   # shape (2, 5)
bias = -0.35                                     # ReLU threshold hides small overlaps

def encode(f):          # 5 features -> 2 numbers
    return W @ f

def decode(h):          # 2 numbers -> 5 feature guesses
    return np.maximum(0, W.T @ h + bias)

print("overlap between feature directions:")
print(np.round(W.T @ W, 2))

single = np.array([1.0, 0, 0, 0, 0])             # sparse: one feature on
print("one feature  ->", np.round(decode(encode(single)), 2))

two = np.array([1.0, 0, 1.0, 0, 0])              # two features on together
print("features 0+2 ->", np.round(decode(encode(two)), 2))
एक feature चालू होने पर, डिकोडर इसे सही पहचानता है: feature 0 सक्रिय हो जाता है और बाकी शून्य पर रहते हैं। features 0 और 2 एक साथ चालू होने पर, दोनों असली features गायब हो जाते हैं और एक phantom (काल्पनिक) feature 1 दिखाई देता है, क्योंकि 1 उनके बीच में स्थित है। यही interference है। यह केवल तभी दुर्लभ होता है जब features शायद ही कभी एक साथ चालू हों।
स्थितिSuperposition काम करता है?क्यों
Features sparse हैंज़्यादातर हाँओवरलैप शायद ही कभी मिलते हैं, और थ्रेशोल्ड छोटे ओवरलैप्स को छिपा देता है
Features अक्सर एक साथ आते हैंखराब तरीके सेओवरलैप जुड़ जाते हैं और गलतियाँ पैदा करते हैं
कुछ features बहुत महत्वपूर्ण हैंमॉडल उन्हें अपनी अलग दिशा दे सकता हैउन पर गलतियाँ बहुत भारी पड़ती हैं
नोट
इस तरह के खिलौना मॉडलों का, थोड़ी ट्रेनिंग जोड़कर, शोधकर्ताओं द्वारा विस्तार से अध्ययन किया गया है। उन खिलौनों में, superposition तब दिखाई देता है जब features sparse होते हैं और तब गायब हो जाता है जब वे dense होते हैं। क्या बड़े भाषा मॉडल भी इन्हीं नियमों का पालन करते हैं, इसका अभी भी अध्ययन किया जा रहा है, लेकिन यह विचार polysemantic न्यूरॉन्स को अच्छी तरह समझाता है।
सावधान रहें
Superposition एक अच्छी तरह से समर्थित परिकल्पना है, कोई तय नियम नहीं। अन्य चीज़ें भी न्यूरॉन्स को polysemantic दिखा सकती हैं। इस विचार को ध्यान में रखें, लेकिन पूरी तरह अंतिम न मानें।
यह आज़माएं। कोड चलाने से पहले, अनुमान लगाएं कि यदि आप 0 और 2 के बजाय 0 और 1 (पड़ोसियों) को चालू करते हैं तो क्या होगा। फिर इसे चलाएं और जांचें।

और देखें और पढ़ें

लैब

मापें कि जैसे-जैसे features कम sparse होते हैं, एक खिलौना superposition मॉडल में interference कैसे बढ़ता है।

~30 min

समस्या

स्टार्टर कोड चलाएं (numpy की आवश्यकता है)। यह पेंटागन खिलौने के साथ रैंडम इनपुट्स को एन्कोड करता है और गिनता है कि डिकोडिंग कितनी बार चालू/बंद पैटर्न को बिल्कुल सही पाती है।

  1. प्रिंट की गई प्रत्येक sparsity स्तर के लिए त्रुटि दर (error rate) रिकॉर्ड करें।
  2. k को बदलकर 3 और 8 करें (अभी भी 2 डाइमेंशन्स में संकुचित)। त्रुटि कैसे बदलती है?
  3. bias को 0.0 और -0.8 में बदलें। समझाएं कि थ्रेशोल्ड किस चीज़ का समझौता (trade-off) करता है।
  4. अपने परिणामों को वास्तविक मॉडलों में polysemantic न्यूरॉन्स से जोड़ते हुए तीन वाक्य लिखें।

प्रैक्टिस लैब

कोड में बदलाव करें और इसे रन करें। Python आपके ब्राउज़र में चलता है — हमारे सर्वर पर कुछ नहीं भेजा जाता।

आउटपुट

कोई आउटपुट नहीं। वैल्यूज़ देखने के लिए print(...) जोड़ें।

आपका काम तब पूरा होगा जब

कठिन सवाल

उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।

Q1यदि कोई मॉडल डाइमेंशन्स से अधिक features समाहित कर सकता है, तो वह असीमित संख्या में features क्यों नहीं समाहित करता?दिखाएं

प्रत्येक अतिरिक्त feature दूसरों के साथ ओवरलैप जोड़ता है, जिससे interference बढ़ता है। एक बिंदु पर टकराव से होने वाली त्रुटियों की हानि नए feature द्वारा बचाए गए लॉस से अधिक हो जाती है। कितने features समा सकते हैं यह इस बात पर निर्भर करता है कि वे कितने sparse और कितने महत्वपूर्ण हैं। दुर्लभ, कम महत्वपूर्ण features को समाहित करना सबसे सस्ता होता है; बार-बार आने वाले, महत्वपूर्ण features को स्पष्ट (clean) दिशाएं मिलती हैं।

Q2Superposition, probing और एकल-न्यूरॉन विश्लेषण के लिए अलग-अलग तरीकों से समस्या क्यों है?दिखाएं

एकल-न्यूरॉन विश्लेषण विफल हो जाता है क्योंकि प्रत्येक न्यूरॉन कई features को मिलाता है, इसलिए इसकी गतिविधि का कोई एक अर्थ नहीं होता है। Probing तब भी काम करती है जब आपको पता हो कि किस लेबल की तलाश करनी है, क्योंकि यह एक दिशा ढूंढती है, न्यूरॉन नहीं। लेकिन probing केवल वही ढूंढती है जो आप पूछते हैं। Superposition का मतलब है कि ऐसे कई features हो सकते हैं जिनके बारे में आपने probe करने की कभी सोची भी नहीं, यही कारण है कि sparse autoencoders जैसे अनसुपरवाइज्ड तरीके आकर्षक हैं।

जारी रखने के लिए कृपया साइन इन करें।

अक्सर पूछे जाने वाले सवाल

यदि न्यूरॉन्स polysemantic हैं, तो लोगों ने कभी एकल न्यूरॉन्स का अध्ययन क्यों किया?

क्योंकि कुछ न्यूरॉन वास्तव में बिल्कुल स्पष्ट (clean) होते हैं, खासकर इमेज मॉडल्स में, और एकल न्यूरॉन्स का निरीक्षण करना आसान होता है। Polysemanticity तब खोजी गई जब कई न्यूरॉन्स को देखा गया और पाया गया कि ज़्यादातर का कोई एक अकेला अर्थ नहीं था। इसी खोज ने इस क्षेत्र को दिशाओं के रूप में features की ओर धकेला।

क्या कोई feature किसी probe दिशा के समान होता है?

संबंधित है, लेकिन समान नहीं। एक probe ऐसी दिशा ढूंढता है जो आपके द्वारा चुने गए लेबल की भविष्यवाणी करती है। एक feature वह चीज़ है जिसे मॉडल खुद दर्शाता है, जिसके बारे में शायद आपने सोचा भी न हो। Sparse autoencoders (अगला पाठ) पहले से लेबल चुने बिना features ढूंढने की कोशिश करते हैं।

Sparsity इतनी महत्वपूर्ण क्यों है?

क्योंकि interference केवल तभी होता है जब ओवरलैप होने वाले features एक साथ सक्रिय होते हैं। यदि प्रत्येक feature इनपुट के केवल एक छोटे से हिस्से में चालू होता है, तो टकराव दुर्लभ होते हैं, और मॉडल को बहुत कम त्रुटि के बदले बहुत अधिक क्षमता मिलती है।

क्या यह उन embeddings में होता है जो मैंने पहले बनाए थे?

शायद। एक छोटे डाइमेंशन में बड़ी शब्दावली के लिए embedding वेक्टर्स को स्पेस शेयर करना पड़ता है। जो शब्द शायद ही कभी एक साथ आते हैं वे सुरक्षित रूप से ओवरलैप हो सकते हैं, यही एक कारण है कि छोटे embeddings भी अच्छा काम करते हैं।

पाठ का टेस्ट

5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।

टेस्ट देने और अपनी प्रोग्रेस सेव करने के लिए साइन इन करें