किसी मॉडल के अंदर क्यों झांकें
मॉडल क्या करता है, यह टेस्ट करने से बहुत कुछ पता चलता है, लेकिन यह नहीं कि वह ऐसा क्यों करता है। Interpretability इसके अंदरूनी तौर-तरीके (mechanism) को समझने की कोशिश करती है।
60 सेकंड में
किसी मॉडल के अंदर क्यों झांकें
मॉडल क्या करता है, यह टेस्ट करने से बहुत कुछ पता चलता है, लेकिन यह नहीं कि वह ऐसा क्यों करता है। Interpretability इसके अंदरूनी तौर-तरीके (mechanism) को समझने की कोशिश करती है।
अंदर झांकने की चार वजहें
| वजह | यह कैसा दिखता है | उदाहरण |
|---|---|---|
| Debugging | यह पता लगाना कि मॉडल क्यों फेल हो रहा है, सिर्फ़ यह नहीं कि वह फेल हो रहा है। | फसलों की बीमारी पहचानने वाला मॉडल लैब में तो काम करता है, लेकिन खेत में फेल हो जाता है। क्या वह पत्ती को देख रहा है, या पीछे की मिट्टी को? |
| भरोसा | यह जांचना कि सही जवाब किसी सही वजह से आया है या नहीं। | लोन देने वाला एक मॉडल अच्छे नतीजे देता है, लेकिन क्या वह चुपके से किसी व्यक्ति के पिन कोड का इस्तेमाल जाति या धर्म का अंदाज़ा लगाने के लिए कर रहा है? |
| सुरक्षा (Safety) | ऐसी ख़तरनाक जानकारी या इरादों को खोजना जो सामान्य टेस्ट में छूट सकते हैं। | एक मॉडल हर टेस्ट में अच्छा व्यवहार करता है। क्या वह इसलिए अच्छा व्यवहार कर रहा है क्योंकि वह वाकई अच्छा है, या इसलिए क्योंकि उसे पता चल गया है कि उसका टेस्ट लिया जा रहा है? |
| साइंस | यह समझना कि सीखने वाले सिस्टम दुनिया को किस तरह समझते और दर्शाते हैं। | कोई मॉडल इस जानकारी को कैसे स्टोर करता है कि चेन्नई तमिलनाडु में है? |
Behavioural testing बनाम mechanistic understanding
- आपको बताता है कि आपके दिए गए इनपुट पर मॉडल ने क्या किया
- उन इनपुट को नहीं देख सकता जिनके बारे में आपने सोचा ही नहीं
- अगर मॉडल को टेस्ट का पता चलने पर वह अलग तरह से पेश आने लगे, तो यह धोखा खा सकता है
- सस्ता, तेज़ और API के ज़रिए किसी भी मॉडल पर काम करता है
- यह समझाने की कोशिश करता है कि मॉडल ने ऐसा क्यों किया
- सैद्धांतिक रूप से, ऐसे व्यवहार को भी सामने ला सकता है जिसे आपने कभी ट्रिगर ही नहीं किया
- अंदरूनी सिग्नलों को देखता है, जिन्हें जानबूझकर छुपाना या नकली बनाना मुश्किल होता है
- इसके लिए weights, बहुत सारे compute और काफ़ी बारीकी से काम करने की ज़रूरत होती है
हम किन चीज़ों को देख सकते हैं
- Weights: ट्रेनिंग के दौरान सीखे गए तय नंबर। ये हर इनपुट के लिए एक जैसे रहते हैं।
- Activations: वे vectors जिनका हिसाब मॉडल किसी खास इनपुट को पढ़ते समय लगाता है। ट्रांसफ़ॉर्मर में, सबसे ज़्यादा अध्ययन residual stream का किया जाता है—यह हर टोकन के लिए वह vector है जिससे हर ब्लॉक पढ़ता है और जिसमें लिखता है।
- Attention patterns: प्रत्येक हेड पहले के किन टोकनों को देखता है।
- Gradients: अगर किसी इनपुट या activation में थोड़ा सा बदलाव किया जाए, तो आउटपुट में कितना बदलाव आएगा।
इस ट्रैक के मुख्य टूल्स
- 1
Probing
क्या किसी लेयर में कोई खास जानकारी है? उसके activations पर एक छोटा क्लासिफ़ायर ट्रेन करें। - 2
Attention maps
प्रत्येक हेड कहां देखता है? काम का है, लेकिन अक्सर इसे समझने में गलती हो जाती है। - 3
Features और sparse autoencoders
Activations को कई आसान और आसानी से पढ़े जा सकने वाले टुकड़ों में बांटें। - 4
Circuits और patching
अंदर के किसी एक हिस्से को बदलें और देखें कि आउटपुट में क्या बदलता है। यह सिर्फ़ संबंध (correlation) नहीं, बल्कि वजह (cause) की जांच करता है। - 5
Steering
Activations को किसी चुनी हुई दिशा में ले जाएं और देखें कि व्यवहार कैसे बदलता है।
और देखें और पढ़ें
लैब
किसी मॉडल के बारे में सवालों की एक छांटी गई लिस्ट: किनके लिए behavioural test की ज़रूरत है और किनके लिए अंदर झांकने की।
समस्या
यह कागज़ पर करने वाली एक एक्सरसाइज़ है। नीचे दिए गए हर सवाल के लिए, behavioural, mechanistic या both (दोनों) लिखें, और एक लाइन में बताएं कि क्यों।
- क्या हमारा हिंदी-अंग्रेज़ी ट्रांसलेशन मॉडल तारीखों का सही अनुवाद करता है?
- क्या हमारा रेज़्यूमे-स्क्रीनिंग मॉडल उम्मीदवार के जेंडर का इस्तेमाल करता है, भले ही जेंडर इनपुट का कोई कॉलम न हो?
- क्या चैटबॉट हथियार बनाने का तरीका बताने से मना कर देता है?
- क्या चैटबॉट तब भी मना करेगा अगर अनुरोध किसी ऐसी दुर्लभ भाषा में लिखा हो जिसका हमने टेस्ट नहीं किया?
- मॉडल नेटवर्क में किस जगह पर भारत के हर राज्य की राजधानी को स्टोर करता है?
- क्या मॉडल तब अलग जवाब देता है जब प्रॉम्प्ट में लिखा हो कि "यह एक टेस्ट है"?
फिर mechanistic मार्क किए गए किसी एक सवाल को चुनें और तीन वाक्यों में बताएं कि आप मॉडल के अंदर क्या देखना चाहेंगे।
आपका काम तब पूरा होगा जब
कठिन सवाल
उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।
Q1अगर कोई मॉडल आपके सोचे गए हर behavioural test को पास कर लेता है, तब भी आपको mechanistic understanding की ज़रूरत क्यों पड़ सकती है?दिखाएं
क्योंकि आपके टेस्ट एक सीमित सैंपल हैं, और मॉडल उन इनपुट पर अलग तरह से व्यवहार कर सकता है जिन्हें आपने कभी आज़माया नहीं या जब उसे पता चल जाए कि उसका टेस्ट लिया जा रहा है। इसके मैकेनिज़्म को समझना, सैद्धांतिक रूप से, ऐसे व्यवहार को सामने ला सकता है जिसे आपने कभी ट्रिगर नहीं किया। व्यावहारिक रूप से बड़े मॉडलों के लिए यह अभी भी एक उम्मीद ही है, इसलिए टेस्ट करना बेहद ज़रूरी बना रहता है।
Q2अरबों सीखे गए weights को इंसानों की समझ में आने वाली व्याख्या में बदलना इतना मुश्किल क्यों है?दिखाएं
वेट्स को पढ़ने के लिए डिज़ाइन नहीं किया गया था। ट्रेनिंग में सिर्फ़ अच्छे प्रेडिक्शन्स को रिवॉर्ड मिलता है, इसलिए मॉडल एक आइडिया को कई यूनिट्स में फैला सकता है और कई आइडियाज़ को एक ही यूनिट में भर सकता है। इंसानी व्याख्या को इसे कुछ ही कॉन्सेप्ट्स में समेटना पड़ता है, और इस बात की कोई गारंटी नहीं है कि मॉडल के असली कॉन्सेप्ट्स हमारे कॉन्सेप्ट्स से मेल खाते हों। आगे के लेसन्स (superposition, sparse autoencoders) ठीक इसी समस्या से निपटते हैं।
अक्सर पूछे जाने वाले सवाल
अगर मैंने कोड की हर एक लाइन खुद लिखी है, तो मुझे मॉडल समझ क्यों नहीं आता?
कोड सिर्फ़ हिसाब-किताब का ढांचा तैयार करता है। ट्रेनिंग उन नंबरों को भरती है, और वे नंबर ही तय करते हैं कि मॉडल कैसा व्यवहार करेगा। यह क्रिकेट के नियम जानने जैसा है, लेकिन आपको यह नहीं पता कि अगला ओवर फेंकने वाले गेंदबाज़ की क्या योजना है।
क्या interpretability और explainable AI (XAI) एक ही चीज़ हैं?
ये काफी हद तक एक जैसे हैं, लेकिन थोड़ा फ़र्क है। क्लासिक explainable AI अक्सर किसी एक फैसले का आसान सारांश देती है, जैसे कि कौन से इनपुट शब्द सबसे ज़्यादा मायने रखते थे। Mechanistic interpretability नेटवर्क के अंदर होने वाले असली हिसाब-किताब को reverse-engineer करने की कोशिश करती है। दोनों अलग-अलग कामों के लिए उपयोगी हैं।
क्या मैं किसी ऐसे मॉडल पर interpretability कर सकता हूं जिस तक मेरी पहुंच केवल API के ज़रिए है?
ज्यादातर मामलों में नहीं। आपको activations की ज़रूरत होती है, और आमतौर पर weights की भी। इसीलिए बहुत सारी रिसर्च में open-weight मॉडल या अध्ययन के लिए खास तौर पर ट्रेन किए गए छोटे मॉडल इस्तेमाल किए जाते हैं। API के ज़रिए आप सिर्फ़ behavioural testing कर सकते हैं।
क्या interpretability मुख्य रूप से सुरक्षा के लिए है?
सुरक्षा (Safety) एक बड़ी वजह है, लेकिन अकेली नहीं। इंजीनियर इसका इस्तेमाल मॉडल्स को debug करने के लिए करते हैं, और वैज्ञानिक इसका अध्ययन इसलिए करते हैं क्योंकि यह समझने के लिए एक बिल्कुल नई चीज़ है।
पाठ का टेस्ट
5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।