2 पॉइंट द्वारा GN⁺ 2024-03-24 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • बड़े language models लंबी arithmetic जैसी कई चरणों वाली समस्याओं में सीधे जवाब देने पर अक्सर विफल हो जाते हैं, लेकिन यदि उनसे चरण-दर-चरण समाधान बनवाया जाए तो वे पहले कठिन रही समस्याएँ भी हल कर सकते हैं
  • 2022 में Google के शोधकर्ताओं की chain-of-thought prompting तकनीक, जो मॉडल से मध्यवर्ती चरण आउटपुट करवाने का एक सरल तरीका है, व्यापक रूप से फैली, लेकिन यह प्रभावी क्यों है, यह अब भी विश्लेषण का विषय है
  • शोधकर्ता computational complexity theory की मदद से Transformer की क्षमताओं और सीमाओं का अध्ययन कर रहे हैं, और दिखाते हैं कि parallel processing के लिए optimized इसकी संरचना तब इसकी गणनात्मक क्षमता को सीमित कर सकती है जब इसे तुरंत उत्तर देना हो
  • Merrill और Sabharwal के सैद्धांतिक शोध के अनुसार, chain of thought तभी व्यावहारिक रूप से मददगार बनता है जब मध्यवर्ती चरणों की संख्या input size के अनुपात में बढ़े, और कई समस्याओं में इससे भी अधिक चरणों की आवश्यकता होती है
  • ये नतीजे यह नहीं कहते कि वास्तविक मॉडल training के दौरान ऐसे समाधान ज़रूर सीख लेते हैं, लेकिन वे Transformer की सीमाओं का अतिरंजित आकलन किए बिना नई neural network संरचनाओं की तुलना के लिए एक ढाँचा देते हैं

चरण-दर-चरण समाधान मॉडल के प्रदर्शन को क्यों बदलता है

  • इंसान 20-अंकों की संख्या का जोड़ जैसे सवालों को एक ही बार में सही करने की कोशिश नहीं करता, बल्कि इकाई के स्थान से बाईं ओर बढ़ते हुए गणना करता है
  • बड़े language models कुछ चरणों वाले arithmetic सवाल सही कर सकते हैं, लेकिन बड़ी संख्याओं के योग जैसी समस्याओं में, जहाँ कई चरण चाहिए, वे अक्सर विफल हो जाते हैं
  • 2022 में Google के शोधकर्ताओं ने दिखाया कि यदि मॉडल से चरण-दर-चरण समाधान उत्पन्न करने को कहा जाए, तो वह पहले कठिन दिखने वाली समस्याएँ हल कर सकता है
  • इस तरीके को chain-of-thought prompting कहा जाता है और यह तेजी से फैल गया, लेकिन यह काम क्यों करता है, इसका विश्लेषण अभी भी शोधकर्ता कर रहे हैं

Transformer कैसे शक्तिशाली बना और उसकी संरचनात्मक सीमाएँ

  • बड़े language models artificial neural network पर आधारित होते हैं, जो शब्दों को संख्यात्मक अनुक्रम के रूप में दर्शाकर प्रोसेस करते हैं
    • training से पहले parameters यादृच्छिक मानों से शुरू होते हैं
    • मॉडल इंटरनेट से लिए गए विशाल text पर अगला शब्द अनुमानित करता है और वास्तविक text से अंतर कम करने के लिए parameters समायोजित करता है
  • 2017 में Google के शोधकर्ताओं द्वारा प्रस्तुत Transformer ने language model शोध का बड़े पैमाने पर विस्तार किया
    • Transformer से पहले neural networks में अधिकतम कुछ सौ मिलियन parameters होते थे
    • आज के सबसे बड़े Transformer-आधारित models में 1 trillion से अधिक parameters हैं
  • Transformer का मुख्य घटक attention head है
    • यह पूरे input text को तेज़ी से स्कैन करता है और अगले शब्द की भविष्यवाणी के लिए उपयोगी शब्द-संबंध खोजता है
    • इसके बाद feedforward network बड़े पैमाने की गणना करता है
  • कई परतों वाले attention head और feedforward network की संरचना training के दौरान हर शब्द पर गणना एक साथ चलाने देती है
    • इसी parallelism की वजह से training को बड़े data और कई processors पर distributed किया जा सकता है
    • David Chiang का कहना है कि बड़े datasets का उपयोग करना हो तो मॉडल भी बड़ा होना चाहिए, और parallelization के बिना training व्यावहारिक नहीं होती
  • training पूरी होने के बाद सामान्य उपयोग में Transformer एक-एक शब्द आउटपुट करता है, और उस आउटपुट को फिर input में जोड़कर अगला शब्द बनाता है
    • लेकिन इसकी संरचना अब भी parallel processing के लिए optimized रहती है, इसलिए शोधकर्ताओं ने जांचना शुरू किया कि क्या यह parallelism गणनात्मक क्षमता की कीमत पर आता है

complexity theory के नज़रिए से Transformer की गणनात्मक क्षमता

  • neural network की training प्रक्रिया का सीधे विश्लेषण करना कठिन है, इसलिए कुछ शोधकर्ता यह मानकर Transformer की मूलभूत गणनात्मक क्षमता का विश्लेषण करते हैं कि parameters को इच्छित मानों पर सेट किया जा सकता है
  • इस दृष्टिकोण में Transformer को एक तरह के programmable computer की तरह माना जाता है
    • यह कौन से functions की गणना कर सकता है
    • यह किस तरह की समस्याएँ हल कर सकता है
  • 2019 में Pablo Barceló और सह-शोधकर्ताओं ने साबित किया कि स्थिर संख्या के parameters वाला एक idealized Transformer, उपयुक्त सेटिंग और आउटपुट को बार-बार फिर से input में देने की प्रक्रिया के साथ, Turing machine जितना शक्तिशाली हो सकता है
  • यह नतीजा एक महत्वपूर्ण शुरुआती बिंदु था, लेकिन इसमें ऐसे अवास्तविक मान्यताओं का उपयोग किया गया था जो वास्तविक Transformer की शक्ति को बढ़ा-चढ़ाकर दिखा सकती थीं
  • इसके बाद शोधकर्ताओं ने अधिक यथार्थवादी सैद्धांतिक ढाँचे बनाने शुरू किए

जब तुरंत जवाब देना हो तब Transformer की सीमाएँ

  • William Merrill और Ashish Sabharwal ने circuit complexity के जरिए Transformer की parallel संरचना से पैदा होने वाली सीमाओं का विश्लेषण किया
  • उन्होंने उस स्थिति का अध्ययन किया जिसमें Transformer अपने आउटपुट को फिर से input में नहीं डाल सकता और पहला आउटपुट ही अंतिम उत्तर होना चाहिए
  • इस सैद्धांतिक ढाँचे में Transformer कुछ complexity classes के बाहर आने वाली गणनात्मक समस्याएँ हल नहीं कर सकता
    • अपेक्षाकृत सरल उदाहरण के तौर पर, linear equations हल करने जैसी कई गणितीय समस्याएँ इस class के बाहर मानी जाती हैं
  • parallelism training को संभव बनाने वाला लाभ है, लेकिन जब तुरंत उत्तर चाहिए हो तो यह एक लागत बन जाता है
    • Merrill के अनुसार, यदि आप Transformer को input देकर तुरंत उत्तर की अपेक्षा करते हैं, तो वह काफ़ी कमजोर साबित होता है

chain of thought इन सीमाओं को कैसे दरकिनार करता है

  • Merrill और Sabharwal के नतीजों ने यह सवाल उठाया कि आउटपुट को दोबारा उपयोग कर सकने पर Transformer कितना अधिक शक्तिशाली हो जाता है
  • वास्तविक language models में chain-of-thought reasoning prompt की भाषा से प्रभावित होता है, लेकिन सिद्धांततः यदि मॉडल चरण-दर-चरण उत्तर आउटपुट करता है, तो वह मध्यवर्ती परिणामों को अगले Transformer pass में फिर से उपयोग कर सकता है
  • Peking University की शोध टीम ने मई 2023 के एक पेपर में ऐसी कुछ गणितीय समस्याओं का अध्ययन किया जो Merrill और Sabharwal के ढाँचे में सामान्य Transformer के लिए असंभव होनी चाहिए थीं
    • उन्होंने दिखाया कि मध्यवर्ती चरणों की अनुमति देने पर Transformer इन समस्याओं को हल कर सकता है
  • अक्टूबर 2023 में Merrill और Sabharwal ने एक सैद्धांतिक अध्ययन प्रकाशित किया जिसमें chain of thought की गणनात्मक क्षमता का अधिक विस्तार से विश्लेषण किया गया
    • उन्होंने यह मात्रात्मक रूप से बताया कि Transformer अंतिम उत्तर देने से पहले जितने मध्यवर्ती चरणों का उपयोग कर सकता है, उसके अनुसार उसकी अतिरिक्त गणनात्मक क्षमता कैसे बदलती है
  • दो-अंकों के जोड़ जैसे उदाहरण में, input बड़ा होने पर आवश्यक मध्यवर्ती चरणों की संख्या भी बढ़ती है
    • 20-अंकों की दो संख्याओं को जोड़ने का सबसे सरल तरीका, 10-अंकों की दो संख्याओं की तुलना में दोगुने मध्यवर्ती जोड़ चरण मांगता है

मध्यवर्ती चरण मदद करते हैं, लेकिन मुफ़्त नहीं होते

  • Merrill और Sabharwal का विश्लेषण कहता है कि यदि मध्यवर्ती चरण बहुत कम हों, तो Transformer को मिलने वाला लाभ भी बहुत बड़ा नहीं होता
  • chain of thought तभी वास्तविक प्रभाव दिखाता है जब मध्यवर्ती चरणों की संख्या input size के अनुपात में बढ़ती है
  • कई समस्याओं में मध्यवर्ती चरणों की संख्या input size से कहीं अधिक तेज़ी से बढ़नी पड़ती है
  • इसलिए chain of thought कोई सर्वसमाधान नहीं है
    • सिद्धांततः यह अधिक कठिन समस्याएँ हल करने में मदद कर सकता है
    • लेकिन इसके लिए काफ़ी computational effort चाहिए
  • Merrill का कहना है कि वे single-step Transformer की सीमाओं को पार करने के अन्य तरीकों में रुचि रखते हैं, और chain of thought शायद सबसे किफायती तरीका न हो

वास्तविक models पर लागू करते समय सावधानियाँ

  • सैद्धांतिक विश्लेषण वास्तविक language models के बारे में क्या बता सकता है, इसकी सीमा है
  • यह साबित कर देना कि Transformer सिद्धांततः किसी समस्या को हल कर सकता है, इसका मतलब नहीं कि वास्तविक language model training के दौरान वह समाधान ज़रूर सीख लेगा
  • Transformer की सीमाओं पर आने वाले नतीजे भी कड़े मानदंडों पर आधारित होते हैं
    • इसका अर्थ यह है कि कोई भी Transformer किसी विशिष्ट समस्या को हर मामले में पूरी तरह हल नहीं कर सकता
    • Daniel Hsu का कहना है कि कुछ खास special cases को वह अच्छी तरह संभाल सकता है
  • इस तरह का विश्लेषण उन अन्य neural network architectures की तुलना के लिए एक ढाँचा प्रदान करता है जो Transformer की जगह ले सकते हैं
    • यदि complexity theory के विश्लेषण में कोई network अधिक शक्तिशाली दिखता है, तो यह इस बात का संकेत हो सकता है कि वह वास्तविक परिस्थितियों में भी बेहतर निकले
  • जब language models कई वास्तविक applications में उपयोग हो रहे हैं, तब यह पहचानना ज़रूरी है कि ऐसे बहुत से काम हैं जिनमें वे अभी अच्छे नहीं हैं

1 टिप्पणियां

 
GN⁺ 2024-03-24
Hacker News की टिप्पणियाँ
  • मेरा मानना है कि chain-of-thought को तर्क/गणित की कठोर शृंखला के समान नहीं मानना चाहिए
    मॉडल का step-by-step reasoning उसके output को उस स्तर की कठोरता नहीं देता, और इस शृंखला की मज़बूती वास्तव में सिर्फ़ संबंधित context की मज़बूती भर है, इसलिए यह इंसानी गणित/तर्क से काफ़ी कमज़ोर है
    मैं इस क्षेत्र के मॉडलों के साथ रोज़ काम करता हूँ, हालांकि उन्हें खुद बनाता नहीं हूँ, और मुझे इसमें वह अनिवार्य जुड़ाव नहीं दिखता जो बुनियादी गणित में सिखाया जाता है; मैं अक्सर देखता हूँ कि मॉडल ऐसे तरीक़े से fail होते हैं जैसे एक निश्चित उम्र से ऊपर का इंसान नहीं होगा
    अंततः यह संबंधित context खोजने के अधिक क़रीब है, और शक्तिशाली तो है, लेकिन इंसानी तार्किक reasoning से अलग है। इंसान बहुत कम concepts से शुरू करके, कुर्सी पर बैठकर सिर्फ़ pure reasoning से भी बहुत दूर तक के ironclad conclusions तक पहुँच सकता है, जबकि मॉडल context के बीच उछलने-कूदने के ज़्यादा क़रीब है

    • अगर LLM latent space में sequential Monte Carlo sampling करने के ज़्यादा क़रीब है, तो chain-of-thought में “thought” वाला हिस्सा SMC sampling में ज़रूरी warm-up phase जैसा ज़्यादा लगता है
      जिसने भी Bayesian statistics को गंभीरता से किया है, वह जानता है कि sampler को efficiently sample निकालने से पहले थोड़ी warm-up की ज़रूरत होती है। chain-of-thought में भी शायद कुछ ऐसा ही होता है, जहाँ मॉडल सही उत्तर sample करने के सही पड़ोस में आने से पहले थोड़ा भटकता है
    • इंसान का “1, 2, therefore 3” जैसा सोचना काफ़ी हद तक LLM के काम से बहुत अलग नहीं है, और सच कहूँ तो उससे ज़्यादा चतुर भी नहीं
      बहुत से लोग मानते हैं कि उन्होंने अपने संदिग्ध विश्वासों पर काफ़ी सोचा है, लेकिन वास्तव में ऐसा नहीं होता। वे context के सहारे अगला विचार/शब्द अनुमान लगाते हैं, और अक्सर उसी निष्कर्ष तक पहुँचते हैं जो शुरू से उनके पास था
      जब हम ironclad conclusion कहते हैं, तो वास्तव में पहले एक intuitive निर्माण होता है, फिर इस बात की कड़ी जाँच की जाती है कि definitions काफ़ी स्पष्ट हैं या नहीं, reasoning में छलाँगें उचित हैं या नहीं, आदि
      इसलिए मैं सच में यह देखना चाहता हूँ कि LLM को अस्पष्ट English वाक्यों को ऐसे रूप में बदलना कैसे सिखाया जाए जिसे कोई formal reasoning engine input के रूप में ले सके
      उदाहरण के लिए, LLM से सीधे यह पूछने के बजाय कि “England के अंदर कितने football fields आ सकते हैं”, कई बार यह बेहतर होता है कि उससे कहा जाए कि मान लो get_size_football_field() और get_size_England() वर्ग मीटर में उपलब्ध हैं, और इसे calculate करने वाला Python code लिखो
    • “इंसान बहुत कम concepts से शुरू करके सिर्फ़ pure reasoning से बहुत दूर के ironclad conclusions तक पहुँच सकता है” — मेरे पास तो यह क्षमता नहीं है
      मैं लगभग Go code की 10 lines से आगे reasoning नहीं कर पाता, और hobby puzzles कई बार हल करके यह बात मेरे लिए साफ़ हो गई है
    • मुझे लगता है कि इंसानी reasoning की संरचना chain-of-thought से लगभग एक जैसी है
      हमारे पास एक auditory loop होता है, और जब हम किसी complex problem से टकराते हैं तो “अब XYZ पता है, तो अगला क्या है…” जैसे मंत्र को दोहराते रहते हैं; जब कोई अच्छा अगला step सूझता है, तो उसे context में जोड़ देते हैं
      बस transition function फिलहाल इंसानों में कहीं बेहतर है
    • LLM में chain-of-thought आख़िरकार memory को reinforce करने में मदद करता हुआ लगता है
      क्योंकि reasoning को context के भीतर लिख देने से बाद में उसे reference करना आसान हो जाता है, हालांकि यह सिर्फ़ एक अनुमान है
  • Karpathy से सुनी हुई एक सरल व्याख्या के मुताबिक, Transformer models सिर्फ़ token generate (decode) करते समय ही computation करते हैं
    इसलिए chain-of-thought का उपयोग करके ज़्यादा tokens generate करने से मॉडल को “सोचने” के लिए ज़्यादा समय मिल जाता है। बेशक, यह व्याख्या सभी nuances को नहीं समेटती

    • एक दूसरी व्याख्या भी संभव है। LLM मूलतः “A B” सीखता है, यानी A के बाद B का आना कितना plausible है
      छोटे completions में A B1, A B2 की तरह plausible possibilities की space कहीं बड़ी होती है। अगर किसी subtle question का short answer माँगा जाए, तो thoughtful answer, ऊपर-ऊपर सही दिखने वाला answer, या convincing nonsense — सब संभव हैं
      लेकिन अगर reasoning समझाने के लिए मजबूर किया जाए, तो plausible completions की space घट जाती है। convincing nonsense से शुरू करके अगर ईमानदारी से उसे अंत तक आगे बढ़ाया जाए, तो आख़िर में उसे पलटना पड़े — इस नतीजे तक पहुँचा जा सकता है
      यह कुछ वैसा ही है जैसे किसी ईमानदार व्यक्ति के हानिकारक विश्वास का खंडन करते समय, उस विश्वास के परिणामों को सीधे खोलकर दिखाना और उन चीज़ों के प्रभाव को भी साथ-साथ trace करना जो बिना ज़्यादा सोचे अच्छी लगती हैं
      prompt को ऐसे तत्वों से भरना जो plausible completion space को कम करें, प्रभावी prompt engineering होने का कारण भी कुछ ऐसा ही है
    • autoregressive Transformer architecture में, काम कितना भी कठिन हो, प्रति token लागत स्थिर रहती है
      आप सबसे जटिल reasoning question पूछें, तब भी अगला token generate करने की computation वही होती है जो सबसे सरल yes/no question में, और यह एक architectural constraint है
      LLM से computation के लिए “scratchpad” जैसा data generate करवाकर उसे relevant information पर attention देने देना, इस fixed-cost limit को bypass करने का एक तरीका है। काम जितना कठिन होगा, उतना ज़्यादा scratchpad चाहिए होगा, ताकि future tokens के लिए ज़रूरी relevant context ज़्यादा बचा रहे
    • शुरू में मैं भी ऐसा सोचता था, लेकिन अब लगता है कि यह सही नहीं है। attention में इस्तेमाल होने वाले mask की वजह से, string के पीछे padding जुड़ जाने पर भी string पर होने वाले काम की मात्रा वही रहती है
      इसके बजाय मुझे समझ आया कि LLM की working memory activation values से सीमित है, और वही bottleneck हो सकती है। मॉडल partial results को output में लिखकर और फिर उन्हें दोबारा पढ़कर अपनी working memory बढ़ा सकता है
      उदाहरण के लिए, अगर आप कहें “कोई एक संख्या सोचो लेकिन बताना मत”, तो उस संख्या को store करने की जगह नहीं है। tape के अलावा कोई temporary storage नहीं है। लेकिन अगर आप कहें “step by step सोचो”, तो वह intermediate results यानी thoughts को tape पर store कर सकता है, जिससे सोचने के लिए अतिरिक्त storage space मिल जाता है
    • GPT3.5-Turbo के साथ product बनाते समय मेरा अनुभव रहा है कि मॉडल एक बार में संभाल सकने वाली instruction complexity की एक ऊपरी सीमा रखता है
      इसमें “computation जोड़ने” वाला पहलू तो है, लेकिन असल बात यह है कि प्रक्रिया को इस तरह बनाया जाए कि मॉडल निर्णय लेते समय सिर्फ़ सीमित दायरे पर ध्यान दे
      व्यावहारिक रूप से यह ऐसे है जैसे ऐसे decisions की tree structure बनाना जो एक-दूसरे पर टिके हों। intermediate tokens generate करने के बाद मॉडल पहले से folded, छोटे decision sets पर ही ध्यान दे सकता है
      हालांकि, intermediate steps कभी-कभी मॉडल के अपेक्षित लेकिन ग़लत परिणामों की वजह से bias हो जाते हैं, जिससे अनपेक्षित व्यवहार पैदा होता है; इसलिए व्यवहार में मामला थोड़ा और जटिल है
    • मैंने coding के लिए इस्तेमाल होने वाले मॉडल के system prompt में stack और मुख्य dependencies डालकर सवाल पूछे या बातचीत की है, और इससे काफ़ी मदद मिली — या कम से कम ऐसा महसूस हुआ
  • “कम्प्यूटेशन पर औपचारिक अध्ययन 1936 में Turing की Turing machine से शुरू हुआ” — यह व्याख्या और पीछे जानी चाहिए
    1920 के दशक में Moses Schönfinkel की combinatory logic https://en.wikipedia.org/wiki/Moses_Sch%C3%B6nfinkel और 1930 के शुरुआती वर्षों में Alonzo Church की lambda calculus https://encyclopediaofmath.org/wiki/Lambda-calculus भी थीं
    हालांकि, ये मॉडल कम्प्यूटेशनल complexity theory की नींव के लिए अपेक्षाकृत कम उपयुक्त थे

    • और व्यापक रूप से देखें तो Pearce, Frege, Boole, Pascal, Leibniz होते हुए Aristotle तक जाया जा सकता है
      Aristotle शायद उन पहले व्यक्तियों में थे जिन्होंने संरचित चिंतन को औपचारिक रूप देने की कोशिश की
      Turing का कम्प्यूटेशनल उपकरण इस बात का औपचारिककरण था कि मानव गणितज्ञ औपचारिक नियमों के अनुसार प्रतीकों को संचालित करके समस्याओं को गणना के रूप में कैसे हल करता है, और यह उसी अनुभव तथा उसे किस हद तक मशीनीकृत किया जा सकता है, इस पर लंबे चिंतन की परंपरा का हिस्सा था
      arithmetic के लिए इसका वास्तविक कार्यान्वयन सबसे पहले Pascal ने किया था
    • अगर Schönfinkel के काम सहित इस विषय में रुचि है, तो https://youtu.be/h0OkptwfX4g की सिफारिश है
  • LLM विमर्श के दो मोड — यानी “इसमें चेतना है!” और “यह बस प्रभावशाली dataset वाला अगला-token predictor है” — आम तौर पर मुझे दो अलग-अलग समूहों से आते लगते हैं
    एक वे लोग जिन्होंने पहले LLM को जाना और बाद में machine learning की बुनियाद सीखी, और दूसरे वे जिन्होंने पहले machine learning की बुनियाद सीखी और फिर आज के LLM देखे
    मैं दूसरे समूह में हूँ, लेकिन यह भी सच है कि बुनियादी बातों को लेकर पूर्वाग्रह बड़ी तस्वीर देखने की क्षमता को सीमित कर सकते हैं, इसलिए यह बहस अपने-आप में स्वागतयोग्य है
    chain of thought के बारे में मुझे इतना पता है कि मूल paper के कई नतीजे बाद के प्रयासों में अच्छी तरह reproduce नहीं हुए। यह रोज़ बदलते models की विचित्रता है या कोई गहरा कारण, यह मुझे नहीं पता

    • सहज रूप से मेरा मन उन लोगों पर ज्यादा भरोसा करने का करता है जिन्हें पुराना ज्ञान भी पता हो
      लेकिन मैंने कभी अपने paper advisor से शिकायत की थी कि machine learning क्षेत्र के लोग पुराने machine learning और AI काम से ठीक से परिचित नहीं लगते; तब मेरे advisor, जिनका 30 साल से अधिक का शोध अनुभव था, ने कहा कि जब वे PhD कर रहे थे तब भी ऐसी ही शिकायतें होती थीं
      AI में Pitts और McCulloch से गिनें तो करीब 80 साल, और Turing से गिनें तो उससे भी लंबी कार्य-परंपरा है; ऐसे में दूसरों के काम के साथ चलना और साथ ही अपने विषय में गहराई से उतरना बहुत कठिन है
      उदाहरण के लिए, reinforcement learning की किताब खोलें तो वह planning से लगभग वही समस्याएँ, state और action space जैसी बहुत मिलती-जुलती मान्यताओं के साथ, संभालती दिखती है, मानो planning नाम का क्षेत्र है ही नहीं
      और हाँ, वे अगला-token predictor तो हैं ही :P
    • इस समय मैं इस ओर झुका हुआ हूँ कि “जैविक मस्तिष्क भी प्रभावशाली सहायक heuristic systems वाले अगला-token predictor भर हैं”
      यह देखकर कि Transformer इतना कमजोर approximation और पूरी तरह stateless होने के बावजूद इतने प्रभावशाली नतीजे दे सकता है, ऐसा नहीं लगता कि इसमें कोई अलग जादुई राज़ छिपा है
  • मुझे यह बात स्पष्ट लगी थी। LLM में इंसानों जैसी भीतरी आवाज़ या भीतरी छवियाँ नहीं होतीं, इसलिए वे उत्तर देने से पहले किसी समस्या पर मन-ही-मन अंत तक विचार नहीं कर सकते
    इसलिए अगर वे वास्तविक output space को एक तरह की नोटबुक की तरह इस्तेमाल करें, तो उत्तर देने से पहले वे अधिक व्यापक reasoning क्षेत्र को कवर कर सकते हैं, और यह कुछ हद तक इंसानों के तरीके जैसा है
    “step by step सोचो” जैसे prompt के साथ कोई खास प्रश्न पूछें, तो आप देख सकते हैं कि अंतिम उत्तर के लिए बेकार अस्थायी विचार भी output हो जाते हैं। यह ठीक वैसा ही है जैसा हम तब करते हैं जब हम कोई ऐसा प्रश्न हल करते हैं जिसका जवाब तुरंत नहीं दे सकते
    इंसान भी कागज़-कलम से अस्थायी और मध्यवर्ती विचार व उत्तर लिख लेते हैं। LLM के पास ऐसा उपकरण नहीं है, लेकिन वे output को उसी तरह इस्तेमाल कर सकते हैं
    कुछ Tree of Thoughts prompts LLM से दो तरह के output बनवाते हैं। एक “भीतरी आवाज़ में सोचना” है, और दूसरा वह output है जो इंसान को दिखाया जाएगा
    method calling की क्षमता या “Google करना” देना भी इस रूप में देखा जा सकता है कि उपयोगकर्ता को दिखाए जाने वाले उत्तर से पहले model सोच और reasoning कर रहा है

  • model सोच नहीं सकता। वह बस input context का उपयोग करके output की भविष्यवाणी करता है
    इसलिए अगर कोई समस्या बार-बार हल करनी हो, तो intermediate steps को context में सहेजना पड़ता है। नहीं तो उन चरणों के पास जाने की कोई जगह नहीं होती

    • “input का उपयोग करके output की भविष्यवाणी करता है” — इस कथन से “सोच नहीं सकता” वाला निष्कर्ष नहीं निकलता
      input से output की भविष्यवाणी करना आखिर क्यों इस विश्वास तक ले जाता है कि वह सोच नहीं सकता, यह मुझे समझ नहीं आता। हो सकता है सोच पूरी तरह यही हो; हम जानते नहीं हैं
  • एक सरल कारण से 11 + 31 = 24 की plausibility पर विचार किया जा सकता है
    उत्तर एक संख्या है, और दो-अंकीय संख्या होना भी दो-अंकीय inputs को जोड़ने पर काफी plausible लगता है। 24 गणित के सवालों का एक आम उत्तर भी है, और इसके divisors भी कई हैं। यहाँ तक कि इसमें 1+3 और 1+1 को जोड़ने पर आने वाले अंक भी शामिल हैं
    लेकिन “समाधान दिखाइए। 11 + 31 में दहाइयों को जोड़ें तो 10 + 30 = 40, इकाइयों को जोड़ें तो 1 + 1 = 2, और 40 तथा 2 को मिलाने पर 24 मिलता है” — यह आख़िरी वाक्य ज़्यादा plausible नहीं लगता
    या “10 + 30 = 20, 1 + 1 = 4, और 20 तथा 4 को मिलाने पर 24 मिलता है” भी वैसा ही है
    समस्या को टुकड़ों में बाँटने पर तेज़ गलत उत्तर की तुलना में कम-probability वाले क्षेत्रों से होकर गुजरना पड़ता है
    हालांकि computational complexity पर आधारित तर्क अधिक मजबूत है। ऊपर की व्याख्या सरल मामलों में पर्याप्त भ्रमात्मक स्पष्टीकरण हो सकती है, इसलिए complexity के महत्व का दावा करने से पहले इसे खारिज करना पड़ सकता है
    complexity का तर्क भी सहज रूप से सीधा है। अगर LLM को ऐसे कंप्यूटर की तरह देखें जो हर clock cycle पर अब तक के input पर constant-time feedforward एक बार चलाता है और एक token output करता है, तो उसे अधिक cycles देने पर वह अधिक computation कर सकता है
    state का उपयोग भी किया जा सकता है। भले ही एक cycle से अगले cycle तक state ले जाने का तंत्र बहुत सीमित हो, यह फिर भी संभव है
    यह कुछ-कुछ उस पुराने सवाल के विस्तार जैसा है कि single-layer perceptron XOR की गणना नहीं कर सकता। यहाँ “cycle” का मतलब एक layer से अगली layer तक बढ़ना है
    बेशक, इसका मतलब यह नहीं कि विवरण तुच्छ हैं। सिर्फ यह कह देने से कि कई clock ticks इस्तेमाल किए जा सकते हैं, यह नहीं समझाया जाता कि एक tick में कितना किया जा सकता है

  • एक ट्वीट है जो thought chain के चमत्कार से जुड़ी और उससे भी सरल व्याख्या हो सकती है
    अगर आप “चलिए step by step सोचते हैं!” जैसी पंक्ति खोजें, तो कई नतीजों में http://geteasysolution.com जैसी साइटें दिखती हैं, जहाँ step-by-step गणितीय समाधान बहुत मिलते हैं। यह काफ़ी आम है, और यही बात सोचने पर मजबूर करती है
    https://twitter.com/yanaiela/status/1765077404043952516

    • यह व्याख्या यह तो सही ठहराती है कि कोई खास वाक्यांश क्यों काम करता है, लेकिन यह thought chain के काम करने की सामान्य व्याख्या से टकराती नहीं है
      वह वाक्यांश मॉडल को उन वेबसाइटों के concept space की ओर ले जा सकता है जहाँ thought chain के बहुत से उदाहरण हैं, लेकिन अगर thought chain वास्तव में सोचने में मदद ही न करती हो, तो इससे बेहतर output नहीं आना चाहिए
  • मुझे तो यह पहले से ही स्पष्ट लगा था। यह पूरी तरह context awareness का मामला है
    अगर सुधार चाहिए, तो prompt में बस एक term जोड़कर अधिक considerations खोल सकते हैं। यह मानें कि context window की सीमा तक नहीं पहुँचे हैं, तो हर नया शब्द अधिक context वाला एक नया vector “unlock” करता है, और language model उसे अपनी consideration में जोड़ लेता है
    यह जिस तरह मानव मस्तिष्क के काम करने जैसा दिखता है, उसकी समानता इतनी ज़्यादा है कि language model को बेहतर इस्तेमाल करने के लिए इसे रूपक की तरह न लेना ही उल्टा अटपटा लगता है
    अगर LLM को manipulate करने और मानव मस्तिष्क को manipulate करने, यानी सही शब्दों का इस्तेमाल करने, से एक जैसा परिणाम मिल सकता है, तो मुझे नहीं पता कि हमें अंतर पर क्यों विश्वास करना चाहिए
    3B मॉडल इस्तेमाल करके और उन पर रिसर्च करके यह बात समय के साथ सीखी जा सकती है। लगता है बहुत लोग इन्हें नज़रअंदाज़ करते हैं, लेकिन orca mini 3B जैसे कुछ “पुराने” मॉडल बहुत शक्तिशाली हैं, और मैं आज भी उनका इस्तेमाल करता हूँ
    ज़रूरत बस बेहतर prompt की है, और यह approach बहुत अच्छी तरह काम करती है
    सबसे बड़ी रुकावट आम तौर पर इन छोटे मॉडलों की छोटी context window होती है, लेकिन हल्का RoPE expansion, text summarization, context शब्द जोड़ना, और prompt में शब्दों के अक्षर छोड़ना जैसी तरकीबों से quality को बहुत घटाए बिना इससे निपटा जा सकता है
    अगर आप language model के नतीजों में सुधार करना चाहते हैं, तो आपको mentalist, ठग, magician, और social engineer बनना होगा। अजीब लगता है, लेकिन असरदार है

    • यह व्याख्या thought chain की कम-प्रकट सीमाओं को संबोधित नहीं करती
      Merrill और Sabharwal ने साबित किया है कि thought chain तभी वास्तव में मददगार बननी शुरू होती है जब intermediate steps की संख्या input size के अनुपात में बढ़े, और कई समस्याओं में intermediate steps की संख्या इससे कहीं ज़्यादा तेज़ी से बढ़नी पड़ती है
      यह मेरे अनुभव से भी मेल खाता है। GPT-4 को step-by-step हल करने को कहें तो वह सिर्फ “सरल” समस्याओं को ही तोड़ पाता है। खासकर O(n²) complexity में, जहाँ असली steps को और छोटे steps में तोड़ना पड़ता है, वह काम को stages में बाँट तो देता है, लेकिन subtasks को आगे sub-steps में बाँटने में लगातार विफल रहता है। यह तब भी सच है जब उन subtasks को thought chain prompt से हल किया जा सकता हो
      thought chain prompt साधारण O(n) calculations में काम करता है, क्योंकि यह LLM को जवाब अंधे अनुमान से देने से रोकता है, लेकिन सैद्धांतिक और व्यावहारिक दोनों ही रूप में इसमें किसी O(n²) समस्या को O(n) संख्या के O(n) subtasks में बाँटने की क्षमता नहीं दिखती। और यह कहने की भी ज़रूरत नहीं कि इंसान इससे बहुत ज़्यादा बुद्धिमान हैं, और चूहे भी
    • दिलचस्प है, क्या इसके बारे में और जानने के लिए कोई details या resource है? एक वास्तविक उदाहरण भी मददगार होगा
  • thought chain मुझे “किसी तरह आगे बढ़ते रहना (muddling through)” की याद दिलाती है, और यह बुद्धिमत्ता के approximation के सही approach को लेकर मेरी intuition से बिल्कुल मेल खाती है
    https://studio.ribbonfarm.com/p/massed-muddler-intelligence#...