स्पार्स सर्किट के ज़रिए न्यूरल नेटवर्क को समझना
हमने मॉडलों को सरल और ज़्यादा आसानी से ट्रेस हो सकने वाले चरणों में सोचने के लिए ट्रेनिंग दी थी, ताकि हम बेहतर तरीके से समझ सकें कि वे कैसे काम करते हैं.
आज के सबसे सक्षम AI सिस्टम को न्यूरल नेटवर्क चलाते हैं, लेकिन उन्हें समझना अब भी मुश्किल है. हम इन मॉडलों को स्पष्ट, चरण-दर-चरण निर्देशों के साथ नहीं लिखते हैं. इसके बजाय, वे अरबों इंटरनल कनेक्शन या "वेट्स" को एडजस्ट करके सीखते हैं, जब तक कि वे किसी टास्क में महारत हासिल नहीं कर लेते. हम ट्रेनिंग के नियमों को डिज़ाइन करते हैं, लेकिन उभरने वाले खास व्यवहारों को डिज़ाइन नहीं करते हैं और इसका नतीजा यह होता है कि कनेक्शन का एक घना जाल बनता है जिसे कोई भी इंसान आसानी से नहीं समझ सकता.
जैसे-जैसे AI सिस्टम ज़्यादा सक्षम होते जा रहे हैं और असल दुनिया में विज्ञान, शिक्षा और स्वास्थ्य सेवा से जुड़े फ़ैसलों पर उनका असर पड़ रहा है, यह समझना बेहद ज़रूरी हो गया है कि वे कैसे काम करते हैं. इंटरप्रिटेबिलिटी का मतलब है वे तरीके जो यह समझने में हमारी मदद करते हैं कि किसी मॉडल ने एक खास आउटपुट क्यों दिया. ऐसे कई तरीके हैं जिनसे हम यह समझ सकते हैं.
उदाहरण के लिए, रीज़निंग मॉडलों को इस बात की व्याख्या करने के लिए बढ़ावा दिया जाता है कि वे अंतिम जवाब तक कैसे पहुँचे. विचार शृंखला की इंटरप्रिटेबिलिटी में मॉडल के व्यवहार की निगरानी करने के लिए इन व्याख्याओं का उपयोग किया जाता है. यह तत्काल उपयोगी है: ऐसा लगता है कि मौजूदा रीज़निंग मॉडलों की विचार शृंखलाओं से धोखे जैसे चिंताजनक व्यवहारों के बारे में जानकारी मिल सकती है. हालांकि, इस प्रॉपर्टी पर पूरी तरह भरोसा करना एक कमज़ोर रणनीति है और यह समय के साथ नाकाम हो सकती है.
दूसरी ओर, मैकेनिस्टिक इंटरप्रिटेबिलिटी, जो इस काम का केंद्र है, किसी मॉडल के कंप्यूटेशन को पूरी तरह से रिवर्स इंजीनियर करने की कोशिश करती है. यह अभी तक उतनी तत्काल उपयोगी नहीं है, लेकिन सैद्धांतिक रूप से, यह मॉडल के व्यवहार की ज़्यादा पूरी व्याख्या कर सकती है. सबसे सूक्ष्म स्तर पर मॉडल के व्यवहार की व्याख्या करने की कोशिश करके, मैकेनिस्टिक इंटरप्रिटेबिलिटी कम धारणाएं बना सकती है और हमें ज़्यादा भरोसा दिला सकती है. लेकिन निचले स्तर की जानकारी से लेकर जटिल व्यवहारों की व्याख्या तक का रास्ता बहुत लंबा और मुश्किल है.
इंटरप्रिटेबिलिटी कई प्रमुख लक्ष्यों का सपोर्ट करती है, जैसे कि बेहतर निगरानी की सुविधा देना और शुरुआत में ही असुरक्षित या रणनीतिक रूप से गलत व्यवहार के चेतावनी संकेत देना. यह हमारे अन्य सुरक्षा प्रयासों में भी उपयोगी है, जैसे कि स्केलेबल ओवरसाइट, एडवर्सरियल ट्रेनिंग और रेड-टीमिंग.
इस काम में, हम यह दिखाते हैं कि हम अक्सर मॉडलों को इस तरह से ट्रेन कर सकते हैं कि उन्हें समझना आसान हो जाए. हमें पूरी उम्मीद है कि हमारा काम डेंस नेटवर्क के पोस्ट-हॉक एनालिसिस को बेहतर बना सकता है.
यह बहुत ही चुनौतीपूर्ण लक्ष्य है. हमारे काम से हमारे सबसे शक्तिशाली मॉडलों के जटिल व्यवहारों को पूरी तरह समझने तक का रास्ता बहुत लंबा है. फिर भी, सरल व्यवहारों के मामले में, हमने देखा है कि हमारी पद्धति से ट्रेन किए गए स्पार्स मॉडलों में छोटे, स्पष्ट रूप से अलग सर्किट होते हैं, जो समझने योग्य होने के साथ-साथ व्यवहार करने के लिए भी काफ़ी होते हैं. इससे पता चलता है कि बड़े सिस्टम को ट्रेनिंग देने के लिए एक ऐसा सरल रास्ता हो सकता है जिसकी प्रणाली को हम समझ सकें.
मैकेनिस्टिक इंटरप्रिटेबिलिटी का पिछला काम डेंस, उलझे हुए नेटवर्क से शुरू हुआ और उसमें उन नेटवर्क को सुलझाने की कोशिश की गई. इन नेटवर्क में, हर एक न्यूरॉन हज़ारों अन्य न्यूरॉन्स से जुड़ा होता है. ऐसा लगता है कि ज़्यादातर न्यूरॉन कई अलग-अलग काम करते हैं, जिससे उन्हें समझना असंभव लगता है.
लेकिन क्या होगा अगर हम सुलझे हुए न्यूरल नेटवर्क को कई और न्यूरॉन्स के साथ ट्रेन करें, लेकिन हर न्यूरॉन के पास सिर्फ़ कुछ दर्जन कनेक्शन हों? तब जो नेटवर्क बनेगा, वह शायद सरल और समझने में ज़्यादा आसान होगा. यह हमारे काम में रिसर्च का मुख्य विषय है.
इस सिद्धांत को ध्यान में रखते हुए, हमने ऐसे लैंग्वेज मॉडल ट्रेन किए, जिनका आर्किटेक्चर GPT‑2 जैसे मौजूदा लैंग्वेज मॉडलों के समान है. इनमें एक छोटा-सा बदलाव किया गया है: हमने मॉडल के ज़्यादातर वेट्स को ज़ीरो पर रखा. इसकी वजह से मॉडल अपने न्यूरॉन्स के बीच सिर्फ़ कुछ ही संभावित कनेक्शनों का इस्तेमाल कर पाता था. यह एक साधारण बदलाव है जिसके बारे में हमारा तर्क है कि यह मॉडल की आंतरिक कंप्यूटेशन्स को काफ़ी हद तक सुलझा देता है.
सामान्य डेंस न्यूरल नेटवर्क में, हर न्यूरॉन अगली लेयर के हर न्यूरॉन से कनेक्ट होता है. हमारे स्पार्स मॉडलों में, हर न्यूरॉन अगली लेयर के सिर्फ़ कुछ न्यूरॉन्स से ही कनेक्ट करता है. हमें उम्मीद है कि इससे न्यूरॉन्स और पूरे नेटवर्क को समझना ज़्यादा आसान हो जाएगा.
हम यह मापना चाहते हैं कि हमारे स्पार्स मॉडलों की कंप्यूटेशन्स किस हद तक सुलझी हुई हैं. हमने सरल मॉडल के कई व्यवहारों पर विचार किया और यह देखा कि क्या हम हर व्यवहार के लिए ज़िम्मेदार मॉडल के हिस्सों को अलग कर सकते हैं, जिन्हें हम सर्किट कहते हैं.
हमने खुद चुनकर सरल एल्गोरिदमिक टास्क का एक सेट बनाया. हर टास्क के लिए, हमने मॉडल को उस सबसे छोटे सर्किट तक सीमित कर दिया जो फिर भी टास्क कर सकता है और यह जांचा कि वह सर्किट कितना सरल है. (ज़्यादा जानकारी के लिए कृपया हमारा पेपर(एक नई विंडो में खुलेगा) देखें.) हमने पाया कि ज़्यादा बड़े और स्पार्स मॉडल को ट्रेनिंग देकर, हम ज़्यादा सरल सर्किट के साथ ज़्यादा सक्षम मॉडल बना सकते हैं.
हम सभी मॉडलों में इंटरप्रिटेबिलिटी बनाम क्षमता का ग्राफ़ बनाते हैं (निचला-बायां बेहतर होता है). स्पार्स मॉडल के एक निश्चित आकार के लिए, स्पार्सिटी बढ़ाने यानी ज़्यादा वेट्स को ज़ीरो पर सेट करने से क्षमता कम हो जाती है लेकिन इंटरप्रिटेबिलिटी बढ़ जाती है. मॉडल का आकार बढ़ाने से यह फ़्रंटियर बढ़ जाता है, जिससे यह पता चलता है कि हम ऐसे बड़े मॉडल बना सकते हैं जो न सिर्फ़ सक्षम हों बल्कि उन्हें समझा भी जा सकता हो.
इसे ठोस रूप देने के लिए, एक ऐसे टास्क के बारे में सोचें जिसमें पायथन कोड पर ट्रेन किए गए मॉडल को सही तरह के कोट के साथ एक स्ट्रिंग को पूरा करना होता है. पायथन में, 'hello' के आखिर में सिंगल कोट होना चाहिए और “hello” के आखिर में डबल कोट होना चाहिए. मॉडल इसे हल करने के लिए यह याद रख सकता है कि स्ट्रिंग की शुरुआत में किस तरह का कोट था और उसी को आखिर में लगा सकता है.
ऐसा लगता है कि हमारे जिन मॉडल को समझना सबसे आसान है उनमें सुलझे हुए सर्किट हैं, जो ठीक इसी एल्गोरिदम को लागू करते हैं.

स्पार्स ट्रांसफ़ॉर्मर के एक सर्किट का उदाहरण जो यह पूर्वानुमान लगाता है कि किसी स्ट्रिंग के आखिर में सिंगल कोट आना चाहिए या डबल कोट. यह सर्किट सिर्फ़ पाँच रेज़िडुअल चैनल (वर्टीकल ग्रे लाइन), 0 लेयर में दो MLP न्यूरॉन्स और 10 लेयर में एक वैल्यू चैनल और एक अटेंशन क्वेरी-की चैनल का उपयोग करता है. यह मॉडल (1) एक रेज़िडुअल चैनल में सिंगल कोट्स को एन्कोड करता है और दूसरे में डबल कोट्स को; (2) इसे एक चैनल में बदलने के लिए MLP लेयर का उपयोग करता है जो किसी भी कोट का पता लगाता है और दूसरा चैनल जो सिंगल और डबल कोट्स के बीच वर्गीकरण करता है; (3) बीच के token को अनदेखा करने, पिछले कोट को खोजने और उसके प्रकार को अंतिम token पर कॉपी करने के लिए अटेंशन ऑपरेशन का उपयोग करता है; और (4) मैच करने वाले क्लोज़िंग कोट का पूर्वानुमान लगाता है.
हमारी परिभाषा में, ऊपर दिखाए गए कनेक्शन ही टास्क करने के लिए काफ़ी हैं. अगर हम बाकी मॉडल को हटा दें, तब भी यह छोटा सर्किट काम करता है. वे कनेक्शन ज़रूरी भी हैं. इन कुछ भागों को डिलीट करने से मॉडल नाकाम हो जाता है.
हमने कुछ और जटिल व्यवहारों पर भी ध्यान दिया. इन व्यवहारों के लिए हमारे सर्किट (उदाहरण के लिए, नीचे दिखाया गया वेरिएबल बाइंडिंग) को पूरी तरह से समझाना ज़्यादा मुश्किल है. फिर भी, हम अपेक्षाकृत सरल आंशिक स्पष्टीकरण पा सकते हैं, जिनसे मॉडल के व्यवहार का पूर्वानुमान लगाया जा सकता है.
सर्किट का एक और उदाहरण, कम जानकारी के साथ. current नामक वेरिएबल का प्रकार तय करने के लिए, एक अटेंशन ऑपरेशन उस वेरिएबल के नाम को set() token में कॉपी करता है जब इसे परिभाषित किया जाता है, और एक अन्य ऑपरेशन बाद में set() token से उस प्रकार को वेरिएबल के अगले उपयोग में कॉपी करता है, जिससे मॉडल अगले token का सही पूर्वानुमान लगा पाता है.
यह काम एक बड़े लक्ष्य की दिशा में शुरुआती कदम है. वह लक्ष्य है मॉडल कंप्यूटेशन्स को समझना आसान बनाना. लेकिन, अब भी एक लंबा रास्ता तय करना बाकी है. हमारे स्पार्स मॉडल फ़्रंटियर मॉडल की तुलना में बहुत छोटे होते हैं और उनकी कंप्यूटेशन के बड़े हिस्से को अभी तक समझा नहीं जा सका है.
आगे, हमें उम्मीद है कि हम अपनी तकनीकों को बड़े मॉडलों तक स्केल कर पाएंगे और मॉडलों के व्यवहार के बारे में और ज़्यादा बता पाएंगे. सक्षम स्पार्स मॉडलों में ज़्यादा जटिल रीज़निंग में शामिल सर्किट मोटिफ़्स की गणना करके, हम एक ऐसी समझ विकसित कर सकते हैं जो फ़्रंटियर मॉडलों की जांच को बेहतर तरीके से टार्गेट करने में हमारी मदद कर सकती है.
स्पार्स मॉडलों को कुशलता से ट्रेनिंग न दे पाने की समस्या को दूर करने के लिए, हमें दो रास्ते दिखाई देते हैं. एक रास्ता यह है कि स्पार्स मॉडलों को शुरुआत से ट्रेनिंग देने के बजाय, मौजूदा डेंस मॉडलों से स्पार्स सर्किट एक्सट्रैक्ट करें. स्पार्स मॉडलों के मुकाबले डेंस मॉडलों को डिप्लॉय करना बुनियादी रूप से ज़्यादा कुशल होता है. दूसरा रास्ता यह है कि मॉडलों को इंटरप्रिटेबिलिटी के लिए ट्रेन करने के लिए ज़्यादा कुशल तकनीकें विकसित की जाएं, जिन्हें प्रोडक्शन में लगाना शायद आसान हो.
ध्यान दें कि हमारे ये निष्कर्ष इस बात की कोई गारंटी नहीं देते कि यह तरीका ज़्यादा सक्षम सिस्टम पर भी लागू होगा, लेकिन ये शुरुआती परिणाम आशाजनक हैं. हमारा उद्देश्य है धीरे-धीरे मॉडल के और ज़्यादा बड़े हिस्से को भरोसेमंद तरीके से समझना और ऐसे उपकरण बनाना जिनसे भविष्य के सिस्टम का विश्लेषण करने, उन्हें डीबग करने और उनका मूल्यांकन करने में आसानी हो.
लेखक
Leo Gao, Achyuta Rajaram, Jacob Coxon, Soham V. Govande, Bowen Baker और Dan Mossing


