न्यूरल नेटवर्क्स: ज़ीरो से हीरो तक
(karpathy.ai)- Andrej Karpathy द्वारा संचालित यह कोर्स, कोड के ज़रिए न्यूरल नेटवर्क्स को शुरुआत से implement करते हुए सीखने की प्रक्रिया है
- Backpropagation की बुनियाद से शुरू होकर GPT स्तर के आधुनिक deep learning models तक को चरणबद्ध तरीके से बनाया जाता है
- सीखने का मुख्य फोकस language model पर है, और इसमें PyTorch, torch.Tensor, BatchNorm, WaveNet, GPT tokenizer जैसी प्रमुख तकनीकों का hands-on अभ्यास शामिल है
- हर लेक्चर को model training, loss calculation, hyperparameter tuning, overfitting diagnosis जैसी वास्तविक development प्रक्रिया के केंद्र में रखा गया है
- Deep learning के अंदरूनी काम करने के तरीके और optimization intuition को व्यवस्थित रूप से सीखने के लिए यह एक practical curriculum है
कोर्स अवलोकन
- यह कोर्स न्यूरल नेटवर्क्स को कोड में सीधे implement करते हुए सीखने के रूप में तैयार किया गया है
- इसके लिए बुनियादी गणित (differentiation, Gaussian) और Python programming skills की आवश्यकता है
- शिक्षार्थियों के बीच संवाद के लिए Discord channel उपलब्ध है
- सीखने की प्रक्रिया language model के इर्द-गिर्द आगे बढ़ती है, और यह ज्ञान दूसरे क्षेत्रों (जैसे computer vision) में भी उपयोगी रूप से transfer हो सकता है
लेक्चर संरचना (Syllabus)
1. Intro to Neural Networks and Backpropagation (2h25m)
- micrograd को खुद implement करते हुए backpropagation और neural network training process को चरण-दर-चरण समझाया जाता है
- केवल Python की बुनियादी जानकारी और स्कूल-स्तर के calculus से इसे समझा जा सकता है
2. Intro to Language Modeling: Building makemore (1h57m)
- character-level bigram language model को implement किया जाता है
- torch.Tensor के उपयोग और efficient neural network computation तरीकों को कवर किया जाता है
- इसमें model training, sampling, loss evaluation (negative log likelihood) की प्रक्रिया शामिल है
3. Building makemore Part 2: MLP (1h15m)
- multi-layer perceptron (MLP) आधारित character-level language model implement किया जाता है
- इसमें learning rate tuning, hyperparameters, data split (train/dev/test), overfitting/underfitting जैसे machine learning के बुनियादी concepts शामिल हैं
4. Building makemore Part 3: Activations & Gradients, BatchNorm (1h55m)
- multi-layer MLP के अंदरूनी व्यवहार का विश्लेषण करते हुए activation values और gradients की statistical properties की जांच की जाती है
- Batch Normalization को जोड़कर training stability बेहतर की जाती है
- Residual connection और Adam optimizer पर बाद के वीडियो में चर्चा की जाएगी
5. Building makemore Part 4: Becoming a Backprop Ninja (1h55m)
- PyTorch autograd के बिना manual backpropagation किया जाता है
- cross-entropy loss, tanh, BatchNorm, embedding table आदि पर सीधे backpropagation लागू किया जाता है
- gradient flow और tensor-level optimization intuition को मजबूत किया जाता है
6. Building makemore Part 5: Building a WaveNet (56m)
- पहले के 2-layer MLP का विस्तार करके WaveNet (2016) जैसी hierarchical CNN architecture implement की जाती है
- torch.nn की internal working और deep learning development workflow (documentation exploration, tensor dimension management, code integration आदि) का अभ्यास कराया जाता है
7. Let's Build GPT: From Scratch, in Code (1h56m)
- GPT model को सीधे implement करते हुए “Attention is All You Need” पेपर और OpenAI GPT-2/3 architecture का अनुसरण किया जाता है
- ChatGPT और GitHub Copilot से इसके संबंध का उल्लेख है
- यह पहले के makemore लेक्चर्स में कवर किए गए autoregressive language modeling और PyTorch nn fundamentals पर आधारित है
8. Let's Build the GPT Tokenizer (2h13m)
- GPT series में उपयोग होने वाले tokenizer को शुरुआत से implement किया जाता है
- इसमें Byte Pair Encoding (BPE) आधारित training process शामिल है
- string↔token conversion (encode/decode) functionality सीधे implement की जाती है
- उदाहरणों के साथ यह विश्लेषण किया जाता है कि LLM के असामान्य व्यवहार के कुछ कारण tokenization stage में होते हैं
- tokenizer को हटाने की संभावना पर भी चर्चा शामिल है
प्रगति स्थिति
- कोर्स ongoing है, और आगे भी नए वीडियो लगातार अपलोड किए जाएंगे
1 टिप्पणियां
Hacker News की राय
इससे पहले भी deep learning की किताबें, Coursera lectures, university classes, fast.ai course वगैरह बहुत देखे थे, लेकिन असली काम में उनका लगभग इस्तेमाल नहीं किया
लेकिन यह series अब तक देखी गई चीज़ों में intuition बनाने के लिए सबसे बेहतर लगी। इसमें लगभग कुछ भी फालतू नहीं है और यह बोरिंग भी नहीं है
अब अगर कोई DNN के low-level principles सीखना चाहता है, तो मैं सबसे पहले यही recommend करता हूँ
अगर आप किसी पड़ोसी field से आए हैं, तो यह थोड़ा slow लग सकता है, लेकिन फिर भी हमेशा interesting रहता है
मैं urban transport systems prediction model बनाने के लिए spatiotemporal data modeling पर research कर रहा हूँ। ML infra भी खुद बना रहा हूँ, और उसे real traffic event streams पर deploy करने वाली app भी तैयार कर रहा हूँ
मैंने Deeplearning.ai और skills.google पर online learning की, जिसमें पहला थोड़ा पुराना लगा, जबकि दूसरे ने GPU·TPU optimization जैसी practical चीज़ों को अच्छी तरह कवर किया
लेकिन जिसने मुझे सच में practitioner बनाया, वह Keras के creator Francois Chollet की किताब 『Deep Learning with Python』 थी। यह किताब deep learning के 70 साल के इतिहास की पृष्ठभूमि में concepts को साफ़ ढंग से समझाती है, और GPT या Diffusion models को खुद implement करने की recipes भी देती है
सबसे बड़ा सबक यह था कि “deep learning विज्ञान से ज़्यादा एक कला है।” इसमें बहुत practice चाहिए, और आप नतीजों को पूरी तरह explain नहीं कर सकते
इसमें TensorFlow, PyTorch, Jax example notebooks भी शामिल हैं। इसकी वजह से अब मुझमें इतना confidence आ गया है कि paper abstracts को reproduce कर सकूँ और models को production में deploy कर सकूँ
अगर मैं यह material पूरा देख लूँ, तो किस स्तर तक पहुँच सकता हूँ?
क्या मैं खुद कुछ बना पाऊँगा, या discussions में हिस्सा ले सकूँगा? या फिर बस concepts समझने तक ही बात रहेगी?
researchers की सीमाएँ और फर्क क्या होते हैं, यह जानना चाहता हूँ
मैं Deep RL Course कर रहा हूँ, और अभी तक यह काफ़ी intuitive लगा है। हाँ, maths वाला हिस्सा आते ही शायद थोड़ी मुश्किल हो
फिर भी मैं backprop और tiny GPT implementation process समझ पाया। Karpathy की classes बुनियादी principles समझने में बेहतरीन हैं
लेकिन इसमें library-based hands-on practice लगभग नहीं है, इसलिए तुम्हारे बताए गए course practical काम के लिए ज़्यादा उपयुक्त हो सकते हैं
auto-grading system बहुत ज़्यादा formal है, इसलिए सही answer पाने के लिए वाक्य जबरन एक खास तरीके से लिखने पड़ते थे। इससे learning efficiency गिरती है और समय बर्बाद होता है
इसके मुकाबले Karpathy के videos सच में रत्न जैसे resources थे
इसलिए यह सीखना सीधे practical job skill में न बदले, ऐसा हो सकता है
इसके बजाय Karpathy का एक और video Deep Dive into LLMs like ChatGPT recommend करता हूँ
Neural Network from Scratch in Python (NumPy)
No local GPU? No problem – running Karpathy’s NanoGPT on Modal.com
Modal.com and NanoGPT continued – producing output using Tiktoken for bigger tokens
अगर neural networks का basic mechanism मुश्किल लगे, तो पहले एक बार बस ऊपर-ऊपर देख लें और बाद में फिर से देखें। दूसरी बार में यह बहुत बेहतर समझ आता है
यह video autograd के principles समझाता है, यानी वह तरीका जिससे PyTorch अंदर ही अंदर differentiation अपने-आप calculate करता है
पहले TensorFlow या Torch में हर layer के differentiation functions अलग से define करने पड़ते थे, लेकिन PyTorch runtime के दौरान Python code को record करके अपने-आप graph बनाता है और differentiation calculate करता है
इसे समझने से यह पता चलता है कि PyTorch अंदर कैसे काम करता है
लेकिन ज़्यादातर users को अच्छे से model इस्तेमाल करने के लिए उसके internals जानने की ज़रूरत नहीं होती
अगर आप पूरी तरह beginner हैं, तो Andrew Ng का Coursera Introduction to ML course recommend करूँगा। इसका latest version कैसा है, यह नहीं जानता, लेकिन वह शानदार शिक्षक हैं
cs231n बेहतरीन courses में से एक था, लेकिन इसमें काफ़ी overlap दिख रहा है, इसलिए मैं इसे टालता रहा हूँ। शायद इसमें transformer वाला हिस्सा अतिरिक्त है
यह समझने में मदद करता है कि gradient descent और normalization क्यों काम करते हैं, और training dynamics तक गहराई से जाता है
इससे यह समझने की समझ विकसित होती है कि model सही तरह से train हो रहा है या नहीं