2 पॉइंट द्वारा GN⁺ 2023-09-24 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • लेखक ने GPT-2 जैसे एक ट्रांसफॉर्मर मॉडल को हाथ से बनाया ताकि वह सरल sequence का अनुमान लगा सके और ट्रांसफॉर्मर तथा attention mechanism की गहरी समझ हासिल कर सके.
  • ट्रांसफॉर्मर को किसी मौजूदा weights के साथ train नहीं किया गया; हर weight को हाथ से assign किया गया.
  • ट्रांसफॉर्मर के लिए चुना गया कार्य "aabaabaabaab..." sequence का अनुमान लगाना था, जिसमें अगला output तय करने के लिए पिछले दो tokens को देखना पड़ता है.
  • लेखक ने एक tokenization scheme का उपयोग किया जिसमें 'a' को 0 और 'b' को 1 से दर्शाया गया.
  • मॉडल का code jaymody के picoGPT GPT-2 implementation पर आधारित है, जिसमें सरलता के लिए कुछ संशोधन किए गए हैं.
  • मॉडल के dimensions में 5 की context length, 2 की vocabulary size, और 8 की embedding size शामिल हैं.
  • लेखक ने embedding weights को डिज़ाइन किया, जहाँ पहले 5 elements position one-hot embeddings के लिए और अगले 2 elements token id one-hot embeddings के लिए उपयोग किए गए.
  • ट्रांसफॉर्मर block को इस तरह डिज़ाइन किया गया कि वह q, k, v matrices बनाए, परिणाम को फिर से embedding में project करे, और token embedding weights का उपयोग करके उसे अगली token logits के set में दोबारा project करे.
  • लेखक ने attention head design और embedding space में projection के बारे में विस्तृत व्याख्या दी है.
  • अंतिम चरण में ट्रांसफॉर्मर block चलाने के परिणाम को transposed token embedding weights से गुणा करके अंतिम logits प्राप्त किए जाते हैं.
  • मॉडल training के लिए softmax function का उपयोग करता है और दिए गए sequence के लिए उचित completions बना सकता है.
  • अस्पष्टता-रहित context के साथ test करने पर मॉडल ने 100% success rate हासिल किया.
  • लेखक पाठकों को प्रोत्साहित करता है कि वे ट्रांसफॉर्मर और attention की अधिक सहज समझ विकसित करें और अपना खुद का मॉडल बनाकर देखें.
  • लेख में numpy का उपयोग करके calculations करने और tokenization, prediction, तथा sequence completion के लिए functions परिभाषित करने वाला मॉडल का पूरा code शामिल है.
  • लेखक का सुझाव है कि context window को छोटा करके और fused multiply-add, kv caching जैसी तकनीकों का उपयोग करके मॉडल की efficiency बढ़ाई जा सकती है.
  • यह लेख खास तौर पर language models, machine learning, और AI में रुचि रखने वाले पाठकों के लिए है.

1 टिप्पणियां

 
GN⁺ 2023-09-24
Hacker News की राय
  • यह लेख हाथ से simple sequence को predict करने वाले transformer बनाने पर चर्चा करता है.
  • संबंधित शोध "Thinking Like Transformers" RASP को पेश करता है, जो एक primitive programming language है जिसे transformer components के साथ model किया जा सकता है.
  • RASP जैसे प्रोग्राम बिना training के model weights में compile किए जा सकते हैं.
  • dropout के महत्व और tokens पर training की parallelization जैसी समझ को बेहतर बनाने के लिए transformer को शुरू से implement करने की सिफारिश की जाती है.
  • लेख यह सुझाव देता है कि transformers के साथ सीधे काम करने का अनुभव अप्रत्याशित learning outcomes ला सकता है.
  • Karpathy आदि द्वारा बनाए गए video का उल्लेख transformer को समझने में मददगार सामग्री के रूप में किया गया है.
  • model weights के लिए एक intuitive interface का विचार प्रस्तावित किया गया है, जिसे domain experts हाथ से tune करके training को तेज कर सकते हैं.
  • transformer पर स्पष्ट व्याख्या के कारण इस लेख की सराहना की जा रही है, जो technical concepts को अधिक सुलभ बनाती है.
  • transformers की तुलना Turing machine या regular expressions को parse करने वाली machine जैसी abstract machine से की जाती है.
  • लेखक practical applications पर संदेह जताते हुए भी पाठकों को खुद model बनाकर देखने के लिए प्रोत्साहित करता है.
  • यह लेख रोचक और उपयोगी है, और तकनीक-समझ रखने वाले पाठकों के बीच चर्चा और नए ideas को प्रेरित करता है.