स्टोर किए गए ज्ञान को खोजने के लिए LLM द्वारा इस्तेमाल किया जाने वाला आश्चर्यजनक रूप से सरल मेकैनिज़्म
(news.mit.edu)- MIT और अन्य शोधकर्ताओं ने पाया कि ChatGPT जैसे AI चैटबॉट्स की बुनियाद Large Language Models (LLM) जब स्टोर किए गए कुछ facts निकालते हैं, तो अक्सर एक सरल linear function का इस्तेमाल करते हैं
- यह function “किसी व्यक्ति द्वारा बजाया जाने वाला वाद्य” या “किसी व्यक्ति का जन्म-राज्य” जैसे fact के प्रकार के अनुसार बदलता है, और समान प्रकार के facts पर वही decoding function लागू होता है
- 47 relations के लिए functions का अनुमान लगाने के बाद subject बदलकर टेस्ट करने पर, “देश की राजधानी” जैसी relations में 60% से अधिक सही object जानकारी वापस मिली
- model गलत जवाब दे तब भी उसके अंदर अक्सर सही जवाब मौजूद रहता था, और इससे यह देखने के लिए attribute lens तक बात पहुंची कि कोई खास जानकारी transformer की किस layer में स्टोर है
- सभी ज्ञान linear रूप से स्टोर नहीं होते, इसलिए जिन facts को linear function से नहीं खोजा जा सकता और बड़े models में precision validation अगले शोध-कार्य के रूप में बाकी हैं
LLM के अंदर मिला ज्ञान खोजने का सरल तरीका
- MIT और कई संस्थानों के शोधकर्ताओं ने पाया कि जटिल transformer language models स्टोर किए गए facts को retrieve करते समय अक्सर सरल linear functions का इस्तेमाल करते हैं
- linear function दो variables के बीच सीधी-रेखीय संबंध दिखाने वाला एक सरल रूप है
- जटिल non-linear computation करने वाले LLM के अंदर भी कुछ knowledge retrieval ऐसे सरल mechanism से काम करता है
- संबंधित paper “Linearity of Relation Decoding in Transformer Language Models” है, और यह शोध International Conference on Learning Representations में प्रस्तुत किया जाना है
facts को subject और object के relation के रूप में देखा जाता है
- transformer में स्टोर किया गया बहुत-सा ज्ञान subject और object को जोड़ने वाले relation के रूप में व्यक्त किया जा सकता है
- “Miles Davis plays the trumpet” में subject Miles Davis और object trumpet को जोड़ने वाला relation है
- “Miles Davis plays the...” prompt में जवाब Miles Davis का जन्म-राज्य Illinois नहीं, बल्कि trumpet होना चाहिए
- जब model किसी topic के बारे में अधिक ज्ञान हासिल करता है, तो उस topic से जुड़े कई facts कई layers में स्टोर होते हैं
- query आने पर model को response generate करने के लिए सबसे relevant fact को decode करना होता है
relation type के अनुसार बदलने वाला linear decoding function
- शोधकर्ताओं ने LLM की जांच करने वाले experiments के जरिए पुष्टि की कि model कुछ मामलों में relation information को सरल linear function से decode करता है
- retrieve किए जाने वाले fact के type के अनुसार function भी बदलता है
- कोई व्यक्ति कौन-सा वाद्य बजाता है, इसे output करने में इस्तेमाल function और कोई व्यक्ति किस राज्य में पैदा हुआ, इसे output करने में इस्तेमाल function अलग होते हैं
- शोधकर्ताओं ने ऐसे functions का अनुमान लगाने की method बनाई और “देश की राजधानी”, “band का lead singer” आदि 47 relations के लिए functions calculate किए
- संभावित relations अनंत हैं, इसलिए experiment में ऐसे तरीके से संभाले जा सकने वाले fact types का प्रतिनिधि subset इस्तेमाल किया गया
60% से अधिक retrieval success और linear storage की सीमाएं
- हर function को subject बदलते हुए टेस्ट किया गया कि वह सही object जानकारी retrieve कर सकता है या नहीं
- “देश की राजधानी” function को subject Norway होने पर Oslo और England होने पर London retrieve करना चाहिए
- function ने 60% से अधिक मामलों में सही जानकारी retrieve की
- transformer के अंदर की कुछ जानकारी इस तरह encode और retrieve की जा सकती है
- लेकिन सारी जानकारी linear रूप से encode नहीं होती
- कुछ facts को model जानता है और उनसे consistent text predict करता है, फिर भी शोधकर्ताओं को linear function नहीं मिला
- ऐसे मामलों में model उस जानकारी को store करने के लिए अधिक जटिल तरीका इस्तेमाल कर रहा होता है
model क्या जानता है, यह दिखाने वाला attribute lens
- अनुमानित functions का इस्तेमाल यह जांचने में होता है कि model किसी specific topic के बारे में किस बात को सच मानता है
- एक experiment “Bill Bradley was a” prompt से शुरू हुआ, और “खेल खेला” तथा “college में पढ़ाई की” के corresponding decoding functions लगाए गए
- यह जांचने का तरीका था कि model को पता है या नहीं कि Senator Bill Bradley basketball player थे और Princeton में पढ़े थे
- यह method दिखाती है कि text generation के दौरान model भले ही अन्य जानकारी पर ध्यान दे, उसके अंदर कई related pieces of information encoded हो सकते हैं
- इसी आधार पर attribute lens नाम का grid बनाया गया
- attribute lens visualize करता है कि किसी specific relation से जुड़ी जानकारी transformer की कई layers में से कहां स्टोर है
- इसे automatically generate किया जा सकता है, इसलिए model understanding के लिए simplified method के रूप में इस्तेमाल किया जा सकता है
गलत जवाब सुधारने की संभावना और बाकी research tasks
- model prompt का गलत जवाब दे तब भी उसके अंदर अक्सर सही जानकारी स्टोर होती है
- यह approach model के अंदर की गलत जानकारी खोजने और सुधारने में इस्तेमाल हो सकती है, और AI चैटबॉट्स की inaccurate या meaningless answers देने की tendency घटाने से जुड़ सकती है
- आगे का research उन facts में क्या हो रहा है जिन्हें linearly store नहीं किया गया, इसे बेहतर समझने पर focused होगा
- बड़े models पर experiments करने और linear decoding functions की precision का भी अध्ययन करने की योजना है
- Tel Aviv University की Mor Geva Pipek ने आकलन किया कि यह research LLMs द्वारा inference के दौरान factual knowledge recall करने के तरीके को समझने में missing piece सामने लाती है, और दिखाती है कि attribute extraction के लिए complex non-linear computation को सरल linear functions से अच्छी तरह approximate किया जा सकता है
1 टिप्पणियां
Hacker News टिप्पणियाँ
शानदार काम है, लेकिन मुझे लगता है कि यह मौजूदा AI प्रवाह की एक बड़ी समस्या भी दिखाता है। वास्तव में यह अभी भी perceptron से बहुत अलग नहीं निकल पा रहा, यानी ऐसे neurons या rules के सेट से जो लगभग एक simple summation function के करीब हैं
सिर्फ इसलिए कि single-neuron स्तर का feedforward phase training और GPU execution के लिए सबसे आसान है, यह मान लेना कठिन है कि वही वास्तव में task execution के लिए सबसे अच्छा भी है
ऐसे कई अनोखे training methods और encoding approaches भी हैं जिनका इस्तेमाल सिर्फ इसलिए नहीं होता क्योंकि बड़े libraries उनका support नहीं करते, और neural network के मूल rule set में सचमुच बदलाव आने तक लगता है कि हम आखिरकार “extra steps वाले perceptron” से ही जूझते रहेंगे
NP-completeness का एक पहलू मैं इस तरह समझता हूँ कि उस complexity class का कोई भी algorithm आखिरकार किसी ‘summation function’ जैसी चीज़ में reduce किया जा सकता है
अगर same performance तक पहुँचने के लिए GPT को 10 गुना ज्यादा neurons चाहिए हों, तब भी अगर उन neurons के लिए compute और memory खरीदने की लागत कम हो, तो उद्देश्य हासिल करने के लिए GPT बेहतर साधन है
अगर आप कोई अधिक simple और learnable structure ढूँढ लेते हैं, तो शायद आपने कुछ पकड़ लिया है। चीज़ों को जटिल बनाने की कोशिशें पहले ही की जा चुकी हैं और गायब हो चुकी हैं
“facts are stored as linear functions” से क्या मतलब यह है कि LLM के अंदर किसी न किसी रूप में encoded एक N-dimensional fact space है, और facts उसमें points, hyperspheres, Voronoi manifolds जैसी आकृतियों में जड़े हुए हैं?
अगर ऐसा है, तो किसी fact को याद करना अमूर्त रूप से क्या यह है कि neural network कोई key compute या recall करता है, और फिर उस space में key-value lookup करता है?
अगर हाँ, तो edge-propagation graph model के अंदर key-value store को कैसे डाला जाता है, और क्या आज भी ऐसी कोई प्रसिद्ध technique है जिसे लोग सीधे हाथ से बनाते हैं?
साथ ही, क्या “memory palace” technique को भी इस रूप में देखा जा सकता है कि मानव मस्तिष्क facts को आसान retrieval के लिए linear functions में रखता है?
यह query का keys के साथ dot product लेता है, फिर softmax के जरिए ज्यादातर एक winning key चुनता है, यानी query के सबसे करीब key, और उससे जुड़े value का उपयोग करता है
फर्क बस इतना है कि यह थोड़ा smooth है, इसलिए कई keys को hit कर सकता है, और gradient-descent जैसी methods से सही QKV mapping ढूँढने के लिए optimize किया जा सकता है
मैंने paper को बस सरसरी तौर पर देखा है, लेकिन बात का सार यह लगता है कि बड़े network के अंदर कुछ अपेक्षाकृत simple functions छिपे या recover किए जा सकते हैं, और वे concepts के बीच के कुछ खास relation categories को संभालते हैं
अगर ऐसे functions को अलग किया जा सके, तो सिद्धांततः उन्हें अधिक सीधे optimize किया जा सकता है, इसलिए यह ऐसे models को train करने के तरीके में प्रगति ला सकता है
आखिरकार “modern” AI की एक अच्छी आलोचना यही है कि हम बस linear algebra soup हिला रहे हैं, लेकिन अगर कुछ modularity या reductionism की गुंजाइश हो, तो यह pure black box के बजाय components-केंद्रित approach के करीब जा सकता है
इसके लिए दिमाग को स्थानों को अच्छी तरह याद रखना, उनके भीतर और बाहर रास्तों की योजना बनाना, और उसे speech या movement में बदलना बहुत अच्छे से आना चाहिए
यह बेहद दिलचस्प है। तुरंत यह सवाल आता है कि programming knowledge को किस function में encode किया जाता है, और अगर वह भी simple linear function हो, तो क्या standard libraries या दूसरी libraries को बिना महंगे training या performance बिगाड़ने वाली fine-tuning के सीधे LLM के दिमाग में upload किया जा सकता है
अभी यह science fiction जैसी क्षमता लगती है, लेकिन ऐसा लगता है कि हम धीरे-धीरे उसके करीब पहुँच रहे हैं
कहीं न कहीं कोई इसे पढ़कर यह सोच रहा होगा कि Excel या database को LLM में export कैसे किया जाए
black box के भीतर सफलतापूर्वक झाँकने वाला research आना उत्साहजनक है
इस क्षेत्र का एक और बड़ा परिणाम वह paper था जिसमें game खेलने के लिए trained LLM के भीतर game board की representation खोजी गई थी। जिज्ञासा है कि इस दिशा में और कौन से अच्छे परिणाम हैं
जैसा authors कहते हैं, LLM सिर्फ predicate information encode करने से कहीं ज़्यादा कर रहा है, और यह उसका केवल एक हिस्सा है
जिज्ञासा है कि क्या यह संबंध अधिक compute डालकर बनाए गए नए models में भी कायम रहता है
सहज रूप से मुझे लगता है कि भाषा में निहित संरचना की वजह से Word2Vec संभव हुआ। फिर जब Word2Vec और positional encoding के साथ encoded मानव text के terabytes पर training होती है, तो ऐसा लगता है कि training के दौरान अगली encoding को अतिमानवीय स्तर की cognition के साथ predict करना संभव हो जाता है
input-output scheme के रूप में bag of words, और वह सीमित context window जो positional encoding को काम करने देती है, मुझे internal cognitive structure के साथ एक बड़ा impedance mismatch लगती है
इसलिए GPT-4 वगैरह में डाले गए कहीं अधिक compute के साथ, यह पूरी तरह संभव है कि representation के नए रूप evolve हुए हों, और इंसानों को अभी सभी weights probe करके उन्हें खोजना बाकी हो
मुझे लगता है कि MemGPT असीमित long-term memory की वजह से अंततः AGI बन सकता है, लेकिन इसका अधिक संभावित रूप Memento के नायक के करीब होगा
[1] https://en.wikipedia.org/wiki/Memento_(film)
इससे मशहूर “King - Man + Woman = Queen” embedding उदाहरण याद आता है। embeddings के भीतर semantic properties होने की बात यह समझाने में मदद करती है कि simple linear functions भी इतना अच्छा क्यों काम करते हैं
ऐसा लगता है कि यह word2vec के relation vector जैसा है। “X का” जैसा vector जोड़ने पर अक्सर सही जवाब मिल जाता है
मूल सिद्धांत अब भी वही हो सकता है, और संभव है कि transformer बस entities को embedding space में map करने का काम कहीं बेहतर तरीके से कर रहे हों
यानी यह x = 0 का मतलब “उड़ना”, x = 0.01 का “ड्राइव करना”, x = 0.02 का “बैंगनी” होना कम, और x < 1.5 का “ठंडा”, x > 1.5 का “गरम” होना ज़्यादा लगता है
शायद यही उन कारणों में से एक है कि quantization, यहाँ तक कि 1-bit quantization भी, अक्सर काम कर जाता है
और यही वजह भी हो सकती है कि text या image को BERT या CLIP जैसे models में डालने के बाद, linear decision boundaries का अक्सर उपयोग करने वाले classical machine learning models भी अच्छे नतीजे दे देते हैं
LLM एक अच्छे compression mechanism जैसा लगता है
यह चौंकाने वाला है कि PC पर llama की एक local copy रखकर आप मानो पूरे internet तक पहुँच रखते हों
हाल की dump के अनुसार Common Crawl में 4.3 अरब pages हैं, जबकि Google ने 2016 में अनुमान लगाया था कि web पर 130 trillion pages हैं
130 trillion और 4.3 अरब का अंतर लगभग 130 trillion ही है। Google के searchable text index तक सीमित करें तब भी बात “सैकड़ों अरब pages” और लगभग 100PB की होती है, जिसकी तुलना Common Crawl के 400TB से की जा रही है
PAC learnability, finite VC dimension, और नीचे दिए गए रूप का compression पूरी तरह समतुल्य हैं
https://arxiv.org/abs/1610.03592
मूल रूप से individual neurons या perceptrons बस space को दो subspaces में बाँटते हैं
यह समझना मुश्किल है कि 4-bit weights वाले 70 अरब “parameters” की CSV file/database/model कैसे लगभग हर विषय पर जानकार conversational LLM/GPT बन जाती है
थोड़ा देखने पर लगा कि 4-bit तो बस compression method है, और model अंत में f32 ही देखता है?
कहा जाता है कि quantization वह प्रक्रिया है जिसमें neural network के weights, यानी 32-bit floating-point numbers, को storage और memory efficiency के लिए 4-bit values जैसे बहुत छोटे bit representations में map किया जाता है
dequantization तब होता है जब model का उपयोग किया जाता है, यानी inference के दौरान या कुछ मामलों में training के दौरान भी, और 4-bit quantized weights को फिर से उन floating-point numbers में बदला जाता है जो असली computation में इस्तेमाल होते हैं
फिर “parameters” और “model कितने unique tokens जानता है, यानी vocabulary size” के बीच क्या संबंध है, यह जानने की जिज्ञासा होती है
ऊपर-ऊपर से देखने पर कहा जाता है कि GPT-3 की तुलना में LLaMA की vocabulary size 32,000 है और parameters सिर्फ 65 अरब हैं
कहा जाता है कि LLaMA जैसे model के 65 अरब parameters एक बेहद जटिल mapping system की तरह काम करते हैं, जो training data के tokens के बीच सीखे गए संबंधों के आधार पर तय करता है कि input का जवाब कैसे देना है
थोड़ा लंबा जवाब यह है कि compressed Wikipedia text dump भी 70GB से कम होता है, और यह internet का lossy compression है
अगर उस model की token embedding length 1024 है, तो 1-bit quantization में भी हर token के लिए 2^1024 संभावित values होंगी
अगर context length 32,000 tokens है, तो संभावित inputs की संख्या 32,000^2^1024 होगी
क्या मोटे तौर पर यह कहा जा सकता है कि training mode में LLM विशाल मात्रा की ऐसी जानकारी से, जो पहले उपयोगी नहीं थी, बहुत सारे IF-THEN rules अपने-आप बना लेता है?
यह paper बढ़िया है, और इन ideas को verify करने के लिए experiments चलाना भी अच्छा लगा। बस यह नहीं पता कि idea खुद कितना नया है
अगर LLM स्वाभाविक रूप से शब्दों के बीच के साधारण statistical tendencies सीख लेते हैं, तो क्या ऐसे नतीजे अपेक्षित नहीं हैं?
बल्कि मुझे तो इससे भी ज़्यादा दिलचस्प यह लगता है कि इसने साफ़ दिखाया कि LLM का हर व्यवहार इतनी सरल तरह से समझाया नहीं जा सकता