1 पॉइंट द्वारा GN⁺ 2024-10-04 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Transformer ने 2017 के बाद deep learning को फिर से आकार दिया, लेकिन लंबी sequences में self-attention की लागत बढ़ने के कारण parallel training वाले recurrent models फिर से ध्यान खींच रहे हैं
  • Transformer से पहले 20 वर्षों तक sequence modeling में व्यापक रूप से इस्तेमाल हुए LSTM और GRU में, अगर gate की previous state पर निर्भरता कम की जाए तो parallel training की संभावना खुलती है
  • सरल किए गए minLSTM और minGRU में पारंपरिक LSTM·GRU की तुलना में कम parameters हैं, training के दौरान ये पूरी तरह parallelize हो सकते हैं, और कई tasks में Transformer सहित नवीनतम models के मुकाबले प्रतिस्पर्धी performance दिखाते हैं
  • Transformer को अधिक efficient बनाने का काम sparsity, low-rank approximation और tiling तक पहुँचा, और हाल में state space models, linearized attention, linear RNN जैसे वैकल्पिक recurrent models भी मजबूत performance दिखा रहे हैं
  • परिशिष्ट में कुछ पंक्तियों के plain PyTorch implementation की वजह से minGRU और minLSTM को beginners, practitioners और researchers के लिए प्रयोग करने योग्य हल्के models के रूप में देखा जा सकता है

Transformer के बाद फिर चर्चा में आए recurrent models

  • RNN 1990 के दशक से machine translation, text generation जैसे sequence modeling tasks में व्यापक रूप से इस्तेमाल होते रहे हैं
    • प्रमुख models हैं LSTM(1997) और GRU(2014)
    • इनकी संरचना मूलतः sequential होने के कारण parallelization सीमित रहता है, और लंबी sequences पर training में computational efficiency घट सकती है
  • Transformer ने 2017 में self-attention के जरिए parallel training mechanism पेश किया और sequence modeling में तेज़ी से सफल हुआ
    • इसके बाद यह large language models के साथ-साथ computer vision, reinforcement learning और bioinformatics तक फैल गया
    • self-attention tokenों के बीच interaction को model करता है, लेकिन इसकी computational complexity sequence length के साथ वर्गानुपाती रूप से बढ़ती है
    • लंबी sequences या सीमित resources वाले environments में इसकी लागत काफी बढ़ सकती है
  • Transformer की efficiency बढ़ाने के लिए research कई दिशाओं में चली है
    • sparsity
    • low-rank approximation
    • tiling
  • हाल में अधिक efficiently scale होने वाले parallelizable recurrent models फिर उभर रहे हैं
    • state space models
    • linearized attention
    • linear RNN
    • ऐसे आधुनिक recurrent models input-dependent transitions का उपयोग करते हैं और Transformer जैसी मजबूत performance दिखाते हैं
    • इन्हें large language models के अलावा image और graph-आधारित data पर भी लागू किया जा रहा है

minLSTM और minGRU का मुख्य विचार

  • यह शोध Transformer से पहले लंबे समय तक इस्तेमाल हुए LSTM और GRU को ऐतिहासिक दृष्टि से फिर देखता है
  • इन दोनों models को शुरुआती input-dependent recurrent models के उदाहरण के रूप में देखा जा सकता है
  • अगर gate का previous state पर निर्भर हिस्सा हटा दिया जाए, तो LSTM और GRU भी parallel training के लिए सक्षम हो जाते हैं
  • अतिरिक्त simplification के जरिए minLSTM और minGRU नाम के न्यूनतम versions निकाले गए हैं
    • इनमें पारंपरिक LSTM·GRU की तुलना में कम parameters हैं
    • training के दौरान ये पूरी तरह parallelize हो सकते हैं
    • सरल संरचना के बावजूद कई tasks में प्रतिस्पर्धी performance दिखाते हैं
    • तुलना में Transformer सहित हाल के models शामिल हैं
  • यह नतीजा model structure और algorithmic complexity को लगातार बढ़ाते जाने की प्रवृत्ति पर सवाल उठाता है
  • परिशिष्ट में minGRU और minLSTM का plain PyTorch implementation कुछ ही lines के code में दिया गया है
    • models हल्के हैं और अनुकूलित करना आसान है
    • beginners, practitioners और researchers के लिए उपयोग में आसान रूप है

1 टिप्पणियां

 
GN⁺ 2024-10-04
Hacker News की राय
  • अगर recurrent architecture को IIR filter और केवल feedforward architecture को FIR filter माना जाए, तो digital signal processing से कई समानताएँ दिखती हैं
    IIR filter को अक्सर वही response देने वाले FIR filter की तुलना में बहुत कम elements की जरूरत होती है, जबकि FIR filter को implement, control और measure करना अपेक्षाकृत आसान होता है
    यह कुछ वैसा ही लगता है जैसे fixed-point arithmetic hardware और GPU पर अच्छी तरह चलने वाली machine learning architecture में समानता हो, और अगर AI को सचमुच डरावने exponential चरण तक पहुँचना है, तो मूल रूप से recurrent architecture की जरूरत पड़ेगी
    इस उपमा में LSTM dynamic coefficients वाले FIR जैसा एक बीच का hack अधिक लगता है, और लंबी अवधि में neuromorphic approach दक्षता के लिहाज़ से सबसे बेहतर दिखती है

    • signal processing के नज़रिए से देखें, तो z-transform किए गए filter transfer function में pole positions के आधार पर IIR output का stable region संकरा होता है, इसलिए इसे आमतौर पर बहुत सावधानी से design करना पड़ता है
      वरना IIR filter या तो 0 की ओर exponentially decay करेगा या अनंत की ओर exponentially बढ़ेगा
      LSTM जैसे RNN cell decay को रोककर कुछ “याद” रखने के लिए nonlinear gates जोड़ने वाले decay filter के अधिक करीब हैं
      FIR filter की design कहीं अधिक सरल होती है और वह ऐसे hack के बिना भी memory रख सकता है
    • अगर कोई आसानी से समझा सके कि neuromorphic approach क्या है और यह AI/AGI में कैसे योगदान देती है, तो अच्छा होगा
      एक बाहरी व्यक्ति के रूप में मेरी पहली छाप यह है कि यह सिर्फ neurons को simulate करने के बजाय, कई “agents” या sub-systems के अलग-अलग तरीकों से interact करने वाली The Society of Mind जैसी सोच से मिलता-जुलता है
    • मैं काफी समय से सोचता रहा हूँ कि मूल रूप से recurrent architecture के बिना AI उस डरावने exponential चरण तक नहीं पहुँच सकता, लेकिन अब सोचता हूँ कि क्या केवल बहुत बड़ा context window ही काफी हो सकता है
      recurrence अधिक neuromorphic हो सकती है और लंबी अवधि में महत्वपूर्ण भी, लेकिन superintelligence के लिए शायद अनिवार्य न हो
      हालाँकि इस विषय में मेरी जानकारी सीमित है, इसलिए मैं पूरी तरह गलत भी हो सकता हूँ
    • यह भी सवाल है कि क्या मौजूदा GPU जैसी architecture पर IIR filter को बड़े पैमाने पर implement करके अच्छी performance और scalability हासिल की जा सकती है
  • पूरा क्षेत्र long-horizon problem के मामले में कमज़ोर दिखता है
    अभी जो व्यापक समाधान इस्तेमाल हो रहा है, वह scale बढ़ाना है, लेकिन यह छोटे स्तनधारियों के मस्तिष्क द्वारा संभाले जाने वाले horizon के स्तर तक भी नहीं पहुँचता
    models में खरबों parameters हो सकते हैं, फिर भी long-term tasks और efficiency में चूहे का दिमाग अब भी बेहतर ठहर सकता है
    मानो छोटे compute budget में लगभग optimal path खोजते रहने और लगातार सीखते रहने वाला कोई छोटा, सरल और elegant search algorithm मौजूद हो
    कभी-कभी ईर्ष्या होती है कि शायद भविष्य के engineers इन समस्याओं को laptop पर 100 lines के Jupyter notebook में हल कर लेंगे
    अगर long-horizon problem के लिए सही method या algorithm मिल जाए, तो 2 billion parameter वाला model भी छोटे और अत्यधिक reasoning tasks को छोड़कर लगभग हर क्षेत्र में मौजूदा models से आगे निकल सकता है
    एक संभावित समाधान के रूप में मैंने perfect weights के बजाय model की dimensionality को समय के साथ बढ़ाने के बारे में सोचा है
    dimensionality जितनी अधिक होगी, theoretical storage capacity उतनी बढ़ेगी, और यह कुछ ऐसे 2-layer model जैसा हो सकता है जहाँ एक layer कई attractors के superposition की तरह काम करे और दूसरी layer यह जानती हो कि उनका उपयोग कैसे करना है
    अगर loss landscape में किसी खास काम के लिए कई minima मौजूद हों, तो ज़रूरत के समय model को reconfigure करके उन minima के बीच ले जाने के तरीके से लगभग अनंत local minima, यानी अधिक उच्च-आयामी memory वाला एक single model बनाया जा सकता है
    अगर मानव मस्तिष्क हर दिन हज़ारों connections बनाता और तोड़ता है, तो संभव है कि ये connections दिन भर ज़रूरत पड़ने वाले अलग-अलग minima के बीच internal loss landscape को steer कर रहे हों

    • सही बात है, इस क्षेत्र में पवित्र ग्रेल जैसी long-horizon problem की कमी है
      लेकिन spam mail classification के लिए चूहे का दिमाग ज़रूरी नहीं है
      2 billion से अधिक parameters वाले बड़े models अब भी इतने भारी हैं कि उन्हें व्यावहारिक रूप से चलाना मुश्किल है, इसलिए वे विशेष उपयोगों तक सीमित रहते हैं; सीमित hardware और datasets पर उपयोगी समस्याएँ हल करने वाले चतुर छोटे models के लिए अभी भी बहुत जगह है
      जरूरत के अनुसार आकार बदलने वाले models पर प्रयोग हुए हैं, लेकिन सीमित power budget में वे बहुत inefficient निकले या उन्हें optimize करना कठिन था
      फिर भी अगर आगे और बड़े scale तक जाना है, तो अंततः ऐसे models की जरूरत पड़ सकती है
      असली bottleneck शायद training itself में breakthrough हो सकता है
      backpropagation loss मौजूदा models को भी पूरी तरह optimize करने के लिए बहुत साधारण है, और भविष्य के और बड़े models के लिए तो यह और भी कम पड़ेगा
      और यह भी तय नहीं कि कोई बेहतर विकल्प मौजूद है, इसलिए संभव है कि मौजूदा machine learning approach की एक स्थायी सीमा हो
  • कई जगहों पर चर्चा बिखर जाना एक फ़ायदा भी है और एक नुकसान भी
    Twitter/X पर देखा François Chollet का यह पोस्ट दिलचस्प लगा: https://x.com/fchollet/status/1841902521717293273
    “RNN को फिर से जीवित करने पर दिलचस्प काम। https://arxiv.org/abs/2410.01201 — आम तौर पर अलग-अलग दिशाओं से आई हाल की architectures लगभग Transformer के बराबर निकल रही हैं, यह इस बात का सबूत है कि curve-fitting paradigm, यानी deep learning में architecture बुनियादी रूप से इतना महत्वपूर्ण नहीं है
    curve fitting का मतलब है dataset को एक curve पर embed करना। निर्णायक कारक dataset है, कोई खास hardcoded सजावट नहीं जो curve की shape को सीमित करे। अगर curve की expressivity पर्याप्त हो, तो बड़े पैमाने के data environment में सभी architectures एक जैसी performance पर converge करती हैं”

    • “निर्णायक कारक dataset है, कोई खास hardcoded सजावट नहीं” — इस बात से मैं लगभग असहमत हूँ
      datasets तो बहुत पहले से मौजूद थे, और पिछले 10 साल की प्रगति इस बात से आई कि curve को कैसे design किया जाए, उसे data पर कैसे fit किया जाए, और ज़्यादा compute कैसे इस्तेमाल किया जाए
      पुराने models भी अगर लगभग 10 लाख गुना ज़्यादा compute इस्तेमाल करें तो शायद वही नई समस्याएँ हल कर लें — इसका कोई सैद्धांतिक अर्थ हो सकता है, लेकिन उसे “सिर्फ optimization” कहना algorithm design में complexity analysis के महत्व को नज़रअंदाज़ करने और यह कहने जैसा है कि bogosort और quicksort एक ही हैं
      overfitting घटाने के लिए कई परतों में regularization techniques डालना, और Deep Q Learning या OpenAI o1 की search space design जैसी ज़्यादा agent-like structures को भी देखें, तो इसे सिर्फ optimization कहने वाला नज़रिया ज़्यादा भरोसेमंद नहीं लगता
      सिर्फ अधिक compute से पुरानी architectures ऐसी समस्याएँ हल नहीं कर पाती थीं
    • मैंने paper पूरा नहीं पढ़ा है, लेकिन यह dataset size से ज़्यादा compute optimization पर केंद्रित लगता है
      इसमें “training के दौरान पूरी तरह parallelize किया जा सकता है, और length 512 sequence पर 175 गुना तेज़ है” जैसी बातें हैं
      भले ही अलग-अलग architectures समय के साथ एक ही loss पर converge कर जाएँ, बड़े GPU cost को देखते हुए जो architecture सबसे तेज़ converge करे उसे ढूँढना काफ़ी मूल्यवान है
    • इन अलग-अलग सजावटों की एक बड़ी भूमिका training space को सीमित करना है
      CNN ने computer vision पर इसलिए कब्ज़ा नहीं किया कि वह dense neural networks से कुछ ऐसा कर सकता था जो वे नहीं कर सकते थे, बल्कि इसलिए कि उसने बहुत-सी कम महत्वपूर्ण connections हटा दीं, जिससे training budget को ज़्यादा deep networks पर खर्च किया जा सका
      उसी तरह Transformer इसलिए शानदार है क्योंकि वह बहुत बड़े networks को कुछ हद तक efficiently train करने देता है
      यह paper भी दिखाता है कि अगर RNN training को बहुत तेज़ बना दिया जाए, तो वह व्यवहार में काफ़ी अच्छा हो सकता है
      बड़ा bottleneck architecture की वास्तविक expressivity से ज़्यादा training speed और efficiency है
    • MLP के universal function approximator होने को देखें तो यह काफ़ी स्वाभाविक लगता है
      एक बहुत बड़ा MLP भी Transformer जैसा ही result दे सकता है
      समस्या scale की है, और यह कि हम पर्याप्त बड़ा MLP train नहीं कर सकते
      Transformer performance optimization होने की वजह से उपयोगी है
    • आख़िरकार असली मुद्दा computational efficiency ही होगा
      हम महीने में एक बार retrain नहीं करना चाहते, बल्कि लगातार retrain करना चाहते हैं, और यह भी चाहते हैं कि एक agent 5 LLMs से बात करने के बजाय हज़ारों LLMs साथ मिलकर काम करें
  • जवाब “नहीं” के ज़्यादा क़रीब लगता है
    ऐसे RNN कुछ मामलों में काफ़ी अच्छे हो सकते हैं, और कुछ स्थितियों में Transformer को हरा भी सकते हैं, लेकिन LLMs में वे Transformer की सार्वभौमिक जगह नहीं ले पाएँगे
    उदाहरण के लिए, अगर user लंबा text दे और कहे “इसे German में translate कर दो”, तो Transformer पूरे history पर वापस जा सकता है
    RNN में context length भले असीमित हो, लेकिन किसी भी समय वह जितनी जानकारी याद रख सकता है, वह hidden state में समाई जानकारी तक सीमित होती है
    संबंधित paper: https://arxiv.org/abs/2402.01032

    • “याद रखी जा सकने वाली जानकारी hidden state से सीमित होती है” — Transformer भी इससे अलग नहीं है
      Transformer भी आख़िरकार सीमित state से बँधा है, बस वह state अलग तरीके से व्यवस्थित होती है
    • यह समस्या 90 के दशक से RNN को परेशान करती आई है
      इसमें information precision problem है कि पुरानी state को कितने bits आगे ले जाने हैं, attenuation की समस्या है जिसमें पुरानी जानकारी समय के साथ कमज़ोर होती जाती है, और mixing की समस्या है जिसमें representations आपस में घुल-मिल या जुड़ जाती हैं
    • इसका प्रतिवाद यह है कि अगर hidden state का आकार काफ़ी बड़ा कर दिया जाए, तो मनचाही लंबाई के sequence के लिए compressed representation रखी जा सकती है
      असली जिज्ञासा यह है कि floating-point operations की संख्या स्थिर रखने पर क्या RNN, Transformer से प्रतिस्पर्धा कर सकता है; लेकिन मूल paper शायद इस हिस्से को ठीक से नहीं देखता
    • लंबे लेख के बाद “इसे German में translate कर दो” कहने की ज़रूरत नहीं है
      इसकी जगह “निम्नलिखित को German में translate करो” कहा जाए, तो ज़रूरत सिर्फ इतनी होती है कि मौजूदा task और हाल के काफ़ी कम input को याद रखा जाए
      बेशक, input को process करते समय parallel में output देने की क्षमता भी चाहिए
  • मेरी समझ के अनुसार, Transformer के बाद जो boom आया वह इसलिए संभव हुआ क्योंकि उसने RNN की दो बड़ी समस्याओं को हल किया।
    vanishing gradient ने context और model size को सीमित किया, और parallelization मुश्किल होने से training data का आकार सीमित रहा।
    अब जिज्ञासा है कि क्या इन दोनों समस्याओं के समाधान अब मौजूद हैं।

    • Transformer किसी भी क्षण पहले की ऐसी जानकारी को फिर से ला सकता है जो बाद में उपयोगी साबित हो।
      RNN लगातार memory को update और overwrite करता रहता है, इसलिए उसे पहले से अनुमान लगाकर यह सहेजना पड़ता है कि कौन-सी जानकारी बाद में काम आएगी।
      ChatGPT जैसे conversational use case में यह Transformer की बहुत बड़ी ताकत है।
      अगर context देकर कई turns में सवाल पूछे जाएँ, तो किसी खास सवाल के लिए कौन-सा context महत्वपूर्ण था यह token sequence के काफ़ी आगे बढ़ने पर ही पता चलता है।
      ज़्यादा सही कहें तो इसे attention-based model का फ़ायदा कहना चाहिए, और Jamba जैसे hybrid model भी हैं जो दोनों approaches को सफलतापूर्वक मिलाते हैं।
    • vanishing gradient या exploding gradient सिर्फ़ RNN तक सीमित नहीं थे; इनका असर सभी deep architectures पर पड़ा।
      1997 में पहली बार प्रस्तावित LSTM ने पहले समाधान दिया था: https://www.semanticscholar.org/paper/Long-Short-Term-Memory...
      यह दिलचस्प है कि यह ज्ञान लगभग भुला दिया गया-सा लगता है।
      2014 के आसपास LSTM काफ़ी लोकप्रिय था: https://karpathy.github.io/2015/05/21/rnn-effectiveness/
      https://colah.github.io/posts/2015-08-Understanding-LSTMs/
    • पेपर को सरसरी तौर पर पढ़ने पर लगा कि यह पेपर vanishing gradient से ज़्यादा parallelization और तेज़ training को खास तौर पर निशाना बनाता है।
      हालांकि recurrent unit को सरल बनाकर इसने शायद दोनों में सुधार किया है।
      यह काफ़ी चतुर और दिलचस्प काम है।
      पेपर इसे बार-बार “10 साल पुरानी architecture” कहता है, लेकिन वास्तव में इसे कई domains में ढालना आसान है, इसलिए आज भी इसका बहुत व्यापक इस्तेमाल होता है।
      इसे Transformer का “competitor” मानना भी पूरी तरह उचित नहीं है, क्योंकि Transformer और RNN एक-दूसरे से परस्पर बहिष्कृत नहीं हैं, और दोनों को मिलाने के कई तरीके हैं।
      RNN में सुधार अप्रत्याशित रूप से कई जगह सुधार ला सकता है।
  • minGRU architecture की सादगी मुझे सच में बहुत पसंद आई।
    मूल रूप से token से proposed hidden state और mixing coefficient को अलग-अलग linear transform से निकाला जाता है, फिर torch.lerp(proposed_hidden_state, previous_hidden_state, mix_factors) से मिलाया जाता है।
    हर layer का proposed hidden state और mixing coefficient सिर्फ़ current token पर निर्भर करता है, इसलिए अगर training की तरह पूरी sequence पहले से मालूम हो तो सब कुछ parallel में compute करके फिर parallel scan से linear time में combine किया जा सकता है।
    छोटे पैमाने के experiments में इसका Transformer और state space models के मुकाबले competitive होना, “सबसे अच्छा PR वह है जो code delete करे” वाली भावना को संतुष्ट करता है।
    फिर भी, जब तक इसे नवीनतम top models जैसी parameter और data scale पर बढ़ाकर न देखा जाए, यह कहना मुश्किल है कि यह बड़े अक्षर वाला B यानी Breakthrough है या नहीं।
    appendix देखने पर लगता है कि computation सब log space में हो रहा है, और कहा गया है कि ऐसा numerical stability के लिए है।
    intuition साफ़ नहीं बन रही कि क्या यह इसलिए है क्योंकि output से tanh हटाने पर linear space में compute करने से values फट सकती हैं।
    और यह तथ्य भी दिलचस्प है कि इस तरह का sequence modeling काम करता है।
    यह कुछ ऐसा लगता है जैसे किताब के सारे पन्ने फाड़कर उन्हें random order में दे दिया जाए, बिना यह बताए कि पिछला पन्ना क्या था, और हर page vector के साथ “इसे पिछले सभी page vectors के साथ कैसे मिलाना है” भी बनाना हो; फिर मैं उन्हें वापस सही क्रम में मिलाऊँ और देखूँ कि final vector पूरी किताब का सारांश कितनी अच्छी तरह देता है।
    अभी token को proposed hidden state और interpolated mixing coefficient में बदलने के लिए सिर्फ़ दो dense linear layers इस्तेमाल हो रही हैं; यह भी जिज्ञासा है कि अगर इस transform को single linear layer की जगह MLP बनाया जाए तो क्या होगा।

    • ऊपर से देखने पर लगता है कि यह architecture token sequences को पहचानने की बुनियादी क्षमता को रोकती है।
      कम-से-कम pumping lemma जैसी समस्या तो आती हुई लगती है।
      अगर [the ][cat ][is ][black ] किसी vector के क़रीब output बनाता है, तो [the ][cat ][is ][black ] को तीन बार दोहराने वाला input उस vector के और क़रीब जाना चाहिए, न कि “एक ही वाक्य तीन बार क्यों दोहराया गया?” वाले vector के।
      अगर input token और hidden state के बीच nonlinear mixing नहीं है, तो लगता है कि मिलती-जुलती token sequences के बीच linear similarity काफ़ी हद तक बनी रहेगी।
    • मैं इसे बड़े अक्षर वाले B का Breakthrough नहीं मानता, लेकिन recurrent neural networks हर जगह मौजूद हैं।
      अगर यह training और performance में सुधार लाने वाली simplification है, तो यह उसके ऊपर फिर से higher level पर complexity जोड़ने के लिए मंच तैयार करती है।
    • log space तब महत्वपूर्ण होता है जब token probabilities की value range बहुत चौड़ी हो, यानी कई orders of magnitude का फ़र्क हो।
      maximum likelihood fitting हमेशा log likelihood में करने का एक कारण है।
  • मैंने कॉलेज प्रोजेक्ट के लिए एक RNN बनाया था, क्योंकि उस समय मुझे लुप्त हो चुकी ऐतिहासिक तकनीकों में दिलचस्पी थी और लगता था कि स्कूल छोड़ने के बाद शायद neural networks के बारे में फिर कभी सुनने को नहीं मिलेगा, इसलिए मौका पकड़ लेना चाहिए।
    जो बनाया वह काम तो करता था, लेकिन बहुत साधारण था और एक पुराने laptop पर बेहद धीमा चलता था।
    उस laptop पर कुछ भी तेज़ नहीं चल सकता था, लेकिन याद है कि RNN feedforward network से काफ़ी धीमा था।
    मुझे पूरा यक़ीन था कि यह 1980~1990 के दशक की अकादमिक जिज्ञासा भर, एक मृत तकनीक है, इसलिए यह देखना अजीब था कि चीज़ें कितनी जल्दी बदल गईं।

    • अब उम्र का एहसास होता है।
      लगभग 2000 के आसपास मैंने dynamic system learning पर, जैसे control purpose के लिए RNN इस्तेमाल करके, अपना master's thesis लिखा था, और उस समय यह काफ़ी नया विषय था।
      मैंने backpropagation को C++ में लिखा था और उसे रात भर चलने देता था; tiny gradients की वजह से यह सच में बहुत धीमा था।
      network structure भी बस एक single hidden layer और लगभग 5 या 10 neurons का था।
      neural networks इतना छोटा विषय था कि अगर उस पर कोई course मिल जाए तो आप ख़ुद को lucky समझते, लेकिन पलक झपकते ही 2015 में वापस देखा तो सब कुछ पूरी तरह बदल चुका था।
  • लेखकों में Yoshua Bengio भी शामिल हैं, और यह मानना होगा कि उन्होंने पेपर को किसी उत्तर की तरह पेश नहीं किया, बल्कि सवाल के साथ समाप्त किया
    ये मॉडल अकादमिक मानकों से भी बहुत छोटे हैं, इसलिए यह नहीं माना जा सकता कि कोई भी नतीजा ज़रूर मौजूदा LLM स्केल तक बढ़ेगा
    मुख्य निष्कर्ष यह है कि RNN परिवार के नेटवर्क्स को भी आधुनिक विकल्पों जितनी दक्षता से train किया जा सकता है, लेकिन उनकी performance प्रतिस्पर्धी है, यह सिर्फ छोटे पैमाने पर ही दिखाया गया है

    • “ज़रूरी नहीं कि ऐसा हो” वाले हिस्से पर ज़ोर होना चाहिए
      मुझे लगता है निष्कर्ष भी यही होना चाहिए कि “परिणामी performance प्रतिस्पर्धी है, यह सिर्फ छोटे पैमाने पर ही सत्यापित हुआ है”
  • पेपर का मॉडल parallelization के लिए बनाया गया है, इसलिए https://arxiv.org/abs/2404.08819 में बताए गए कारणों से यह “असली” RNN नहीं है, और इस वजह से सैद्धांतिक रूप से पारंपरिक RNN से कम शक्तिशाली है
    यह कुछ ऐसे problem classes में कठिनाई झेलता है जिनमें RNN मूल रूप से अच्छे थे
    वहीं https://arxiv.org/abs/2405.04517 में “असली” RNN components शामिल हैं, और यह उन state tracking problems में बड़ा सुधार दिखाता है जिनमें Transformer को कठिनाई होती है

    • ये भी असली RNN ही हैं
      ये अब भी पिछले hidden state पर निर्भर करते हैं, बस gating पर निर्भर नहीं करते
      मूल RNN equations को parallel prefix scan algorithm से parallelize किया जा सकता है
  • मैंने पेपर को बारीकी से नहीं देखा, लेकिन अच्छा होगा अगर कोई इसका जवाब दे सके
    जैसा कहा गया, अगर RNN से hidden state हटा दिया जाए तो फिर क्या बचता है? क्या वह single token से prediction करने वाला MLP रह जाता है?

    • इसे पूरी तरह हटाया नहीं गया, बल्कि सिर्फ input gate, forget gate और update gate से हटाया गया है
      मैंने भी पेपर को पूरी तरह नहीं समझा, लेकिन GRU के मामले में इसका मतलब शायद hidden state update masking है, यानी पेपर के equations में z_t और r_t सिर्फ नए input पर निर्भर करते हैं, input और पिछले hidden state के योग पर नहीं
    • इसे पूरी तरह हटाया नहीं गया, बल्कि सिर्फ कुछ dependencies हटाई गई हैं ताकि गणना parallel scan से की जा सके
      hidden state अब भी मौजूद है
      यह कुछ हद तक Mamba ने जो किया उससे मिलता-जुलता है
    • ऊपर-ऊपर देखने पर ऐसा लगता है कि state update को इस तरह बदला गया है कि उसे sequentially चलाने की ज़रूरत न पड़े और parallel scan से चलाया जा सके
    • असली तरकीब यह है कि recursive dependency linear बनी रहे, और इसी वजह से parallel training संभव हो पाती है