1 पॉइंट द्वारा GN⁺ 2024-09-01 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • सप्ताहांत में कुछ घंटे लगाकर LLM कैसे काम करता है इसे code के साथ follow करते हुए implementation, learning और usage flow को एक साथ समझने वाली वर्कशॉप है
  • hands-on practice LLM के परिचय से शुरू होकर input data, tokenizer और model architecture implementation तक step-by-step आगे बढ़ती है
  • architecture implementation के बाद GPT-2 और Llama 2, pretraining, pretrained weights loading को कवर किया जाता है और इसे वास्तविक model usage flow से जोड़ा जाता है
  • LitGPT का उपयोग करके weights इस्तेमाल करना, instruction fine-tuning, benchmark evaluation और conversation performance evaluation भी शामिल हैं
  • किताब, GitHub repository, workshop code, Lightning Studio और LitGPT repository साथ में दिए गए हैं, इसलिए खुद follow करना आसान है

3 घंटे की वर्कशॉप वीडियो का flow

  • LLM को implement, train और use करने की प्रक्रिया को एक coding workshop के रूप में कवर किया गया है
  • clickable chapter markers हैं, ताकि जरूरत के topic पर सीधे जा सकें
  • basics और input processing

    • 0:00 वर्कशॉप overview
    • 2:17 LLM introduction
    • 9:14 वर्कशॉप सामग्री
    • 10:48 LLM input data को समझना
    • 23:25 एक सरल tokenizer class
  • model implementation और training

    • 41:03 LLM architecture coding
    • 45:01 GPT-2 और Llama 2
    • 1:07:11 pretraining
    • 1:29:37 pretrained weights loading
    • 1:45:12 LitGPT के जरिए pretrained weights का उपयोग
  • fine-tuning और evaluation

    • 1:53:09 instruction fine-tuning
    • 2:08:21 LitGPT के जरिए instruction fine-tuning
    • 2:26:45 benchmark evaluation
    • 2:36:55 conversation performance evaluation
    • 2:42:40 समाप्ति

साथ-साथ करने के लिए जरूरी सामग्री

1 टिप्पणियां

 
GN⁺ 2024-09-01
Hacker News की राय
  • यह शायद बेवकूफ़ी भरा सवाल हो, लेकिन क्या यह Andrej Karpathy के https://www.youtube.com/watch?v=kCc8FmEb1nY से अलग है?
    • Andrej की series भी शानदार है, और Sebastian की किताब और यह वीडियो भी शानदार हैं।
      इनमें काफ़ी overlap है, लेकिन दोनों अलग-अलग topics को ज़्यादा detail में कवर करते हैं या उनका focus अलग है। Andrej की पूरी series देखना पूरी तरह worthwhile है, और आगे आने वाला Eureka Labs का काम भी बहुत अच्छा लग रहा है। Sebastian का blog और किताब भी समय और पैसे देने लायक हैं
  • Sebastian की लिखाई अच्छी है और किताब का इंतज़ार है। इसमें LLM कैसे बनाए जाते हैं पर बहुत detail है, लेकिन लंबे समय में लड़ाई शायद उसी मोर्चे पर जाएगी, इसलिए यह भी अच्छा होता कि Llama और OpenAI training data को कैसे refine और structure कर सकते हैं, इस पर और बात होती
  • PyTorch का इस्तेमाल करना from scratch LLM बनाना नहीं है।
    यह एक अच्छा PyTorch tutorial है, लेकिन इसे low-level होने का दिखावा नहीं करना चाहिए
    • अगर apple pie सच में from scratch बनानी है, तो पहले ब्रह्मांड का आविष्कार करना पड़ेगा
    • Sebastian का content वाकई बहुत अच्छा है, लेकिन इस बात से मैं सहमत हूँ। Karpathy series की तरह automatic differentiation engine को from scratch बनाकर शुरू करने तक मुझे deep learning में सच में entry नहीं मिली।
      उससे पहले मैंने fast.ai से सीखने की कोशिश की थी, लेकिन वहाँ सीधे Pytorch में network बनाना शुरू कर दिया जाता था, इसलिए मैं जल्दी ही बाहर हो गया। वह मुझे हाई स्कूल में Java सीखने जितना ही उबाऊ लगा, और मुझे समझना था कि मैं आखिर किस चीज़ से डील कर रहा हूँ
    • Bach बजाना सीखना: खुद piano बनाकर शुरू करना
    • किस पैमाने पर यह low-level नहीं है? अगर Python में सिर्फ socket API का इस्तेमाल करके IRC client लिखा जाए, तो क्या वह भी from scratch नहीं कहलाएगा?
    • LLM के context में pytorch.nn भी low-level है। Teaching में यह ज़रूरी है कि एक साथ बहुत सारी abstraction layers न लाई जाएँ
  • मैंने पहले Azure पर nanoGPT को from scratch train करने की एक practical guide लिखी थी। इसे हाथ से follow करना आसान है और यह काफ़ी practical है।
    https://16x.engineer/2023/12/29/nanoGPT-azure-T4-ubuntu-guid...
    • सच में इसमें सिर्फ 200 डॉलर ही लगे थे?
      यह भी जानना चाहूँगा कि उससे आप क्या कर पाए, और मौजूदा घटनाओं जैसी नई चीज़ों को train कैसे कराते हैं
  • यह शायद irrational हो, लेकिन programming या development की जगह coding शब्द इस्तेमाल करने पर मुझे बुनियादी तौर पर नकारात्मक भावना आती है
    • इस community में भाषा को लेकर सबसे ज़्यादा picky लोगों में से एक के लिखे पोस्ट पर ऐसा reaction आना काफ़ी शोरगुल जैसा लगता है।
      अब अगर nitpick करें, तो "code" वह चीज़ है जो codex नाम के माध्यम की सामग्री से बनती है। इसका historical background https://en.wikipedia.org/wiki/Codex में देखा जा सकता है, और कानून के क्षेत्र में rule set से शुरू होकर अंग्रेज़ी में कम-से-कम 16वीं सदी के मध्य से इसका इस्तेमाल दूसरे domains तक फैल गया।
      "program" किसी इरादों के set को प्रकाशित करने के काफ़ी करीब है, जैसे "पहले Bach बजाया जाएगा और फिर Mozart"। इस तरह का उपयोग "rule set" वाले code की तुलना में कई सदियों बाद आया।
      "develop" का मतलब unfold करना है, जो अच्छा है, लेकिन यह पहले दो शब्दों की तरह rules या sequential procedure का अर्थ नहीं देता
    • मैं ब्राज़ील से हूँ, और यह मुझे इसलिए मज़ेदार लगता है क्योंकि मेरे दोस्तों और सहकर्मियों के बीच अंग्रेज़ी में बात करते समय आम तौर पर coding ही कहा जाता है, और ब्राज़ीलियाई लोगों के बीच पुर्तगाली verb की तरह codar बहुत चलता है।
      पक्का कारण तो नहीं पता, लेकिन शायद इसलिए कि ब्राज़ीलियन पुर्तगाली में "program" का वेश्यावृत्ति से काफ़ी मज़बूत संबंध है
    • पूरी तरह सहमत। एक साल पहले भी इस विषय पर चर्चा हुई थी: https://news.ycombinator.com/item?id=36924239
    • शायद अब यह unpopular opinion हो, लेकिन ऐसे माहौल में भी मैं सहमत हूँ जहाँ इस तरह की बात को judgmental या gatekeeping समझ लिया जाता है
    • यह थोड़ा ज़्यादा यूरोपीय संवेदनशीलता जैसा है
  • मैं ठीक इसी level of detail की तलाश में था। मुझे deep learning और pytorch का काफ़ी अनुभव है, इसलिए उसे from scratch implement होते देखना नहीं चाहता।
    Andrej की सामग्री मेरे लिए बहुत ज़्यादा low-level हो जाती है, और मैं details में उलझकर रास्ता खो देता हूँ। यह आलोचना नहीं, बल्कि मेरे जैसी स्थिति वाले लोगों के लिए मददगार comment है
  • शानदार। अभी कल ही मैं सोच रहा था कि transformer/attention और LLM वास्तव में कैसे काम करते हैं।
    बहुत पहले मैंने deep RNN में backpropagation कैसे काम करता है, यह follow किया था, इसलिए लगा कि बाकी चीज़ें भी देखना मज़ेदार होगा
    • अगर intuition चाहिए, तो 3b1b videos काफ़ी अच्छी तरह समझाते हैं। हालांकि वे बहुत बारीक detail तक नहीं जाते
  • अच्छा है। काश यह Windows 11 पर भी चले।
    जब Windows का साफ़-साफ़ ज़िक्र नहीं होता, तो अक्सर इसका मतलब होता है कि उस environment में इसे test नहीं किया गया, और कई बार यह किसी random issue की वजह से ठीक से नहीं चलता
    • WSL2 में GPU access मिल जाता है, इसलिए शायद यह बिना दिक्कत अच्छी तरह चलेगा। Cuda toolkit install करना मत भूलिए, और NVidia इसका WSL2-specific version भी देती है।
      https://developer.nvidia.com/cuda-downloads?target_os=Linux&...
    • अगर यह Windows 11 पर न चले, तो WSL (Windows Subsystem for Linux) में आज़माना भी एक तरीका है
  • यह पेज असल में सिर्फ YouTube वीडियो को रखने वाला एक container है। पेज के description में वही links हैं, इसलिए HN link को सीधे वीडियो पर ले जाना बेहतर होगा
    • उल्टा देखें तो इससे Sebastian Raschka के लेखों के archive तक पहुँचने का एक extra step बच जाता है
    • वह बहुत सारे वीडियो और code share करते हैं, और सामग्री की value सच में बहुत है। क्यों न बस creator को support किया जाए?
    • लेखक की अपनी website को support न करने की कोई वजह है? साइट भी अच्छी लगती है