1. लोकल लैंग्वेज मॉडल को चलाने के लिए प्रारंभिक सेटअप [0]

thumbnail
  1. मॉडल डाउनलोड करना:

    1. सबसे पहले, चुने हुए लैंग्वेज मॉडल को डाउनलोड करना होगा [1]।
    2. कोई भी बहुत बड़ा मॉडल डाउनलोड न करें [2]।
    3. बड़े मॉडल GPU या सिस्टम पर ठीक से नहीं चलेंगे [2]।
    4. एक छोटा मॉडल चुनें [3]।
    5. उदाहरण के लिए, स्मॉलर लामा (Smaller Llama) का उपयोग करें [4]।
    6. इसका सबसे छोटा या दूसरा सबसे छोटा संस्करण चुनें [5]।
    7. यह मॉडल हगिंग फेस (Hugging Face) पर उपलब्ध है [6]।
    8. सभी फ़ाइलों को डाउनलोड करें और उन्हें एक डायरेक्टरी में रखें [7]।
    9. उस डायरेक्टरी के ऊपर वाली डायरेक्टरी में query.py (या रन करने वाला कोड) रखें [8]।
  2. क्वेरी कोड बनाना और मॉड्यूल इंस्टॉल करना:

    1. पहला काम एक क्वेरी कोड बनाना है [9]।
    2. इसके लिए सरल Python का उपयोग किया जाएगा [10]।
    3. यह कोड मॉडल के आउटपुट की जांच करने और ट्रेनिंग के काम को देखने के लिए है [10]।
    4. मॉडल का उपयोग करने के लिए कुछ मॉड्यूल की आवश्यकता होगी [11]।
    5. आवश्यक मॉड्यूल को pip install या Conda install से इंस्टॉल करें [12]:
      1. Transformers [12]
      2. Torch [12]
      3. Protobuf [12]
      4. SentencePiece [12]
      5. Datasets [12]
      6. Accelerate (कम से कम 2.6 संस्करण) [12]
    6. ध्यान दें कि Python 3.7 से 3.10 का उपयोग करना होगा [14]।
    7. अन्यथा Torch का ठीक से उपयोग नहीं हो पाएगा [14]।

2. मॉडल को लोड करना और क्वेरी कोड चलाना [15]

thumbnail
  1. मॉडल और टोकेनाइज़र लोड करना:

    1. इंस्टॉलेशन के बाद, मॉडल को लोड करना होगा [15]।
    2. मॉडल, टोकेनाइज़र और टॉर्च को प्राप्त करना होगा [16]।
    3. मॉडल को लोड करने के लिए "loading" प्रिंट करें [18]।
    4. Model equals मॉड्यूल के भाग का उपयोग करें [19]।
    5. from pre-trained का उपयोग करें और मॉडल वाली डायरेक्टरी दें [19]।
    6. टोकेनाइज़र और मॉडल प्राप्त करें [20]।
  2. डिवाइस सेटअप और इनपुट प्रोसेसिंग:

    1. इसके बाद डिवाइस सेट करना होगा [20]।
    2. प्रदर्शन के लिए CPU का उपयोग किया जाएगा [21]।
    3. गंभीर काम के लिए GPU का उपयोग करना चाहिए [21]।
    4. GPU सेटअप कठिन है, इसके लिए CUDA और अन्य चीजें इंस्टॉल करनी पड़ती हैं [21]।
    5. मॉडल को डिवाइस पर मूव करें [22]।
    6. कोड को कई बार चलाने के लिए while loop में शामिल करें [22]।
    7. उपयोगकर्ता से इनपुट डेटा प्राप्त करें (जैसे "ask the AI") [23]।
    8. टोकेनाइज़र से टोकन प्राप्त करें [24]।
    9. यह इनपुट डेटा को लैंग्वेज मॉडल के समझने योग्य रूप में बदलता है [24]।
    10. टोकन पर एक और ऑपरेशन करें और उन्हें लोड करें [25]।
  3. आउटपुट प्राप्त करना और डीकोड करना:

    1. मॉडल से आउटपुट प्राप्त करें [26]।
    2. इसमें टोकन डालें [27]।
    3. अधिकतम नए टोकन की संख्या बताएं, इसे 128 पर सेट करें [28]।
    4. ऐसे मॉडल आमतौर पर बहुत अधिक टोकन नहीं रख सकते [29]।
    5. आउटपुट को डीकोड करें ताकि हम उसे समझ सकें [30]।
    6. विशेष टोकन (special tokens) की आवश्यकता नहीं है, क्योंकि वे समझने योग्य नहीं होते [30]।
    7. टेक्स्ट को लूप करके पूरा प्रिंट करें [31]।
    8. मॉडल लोड हो गया है, और इसे "hello" पूछने पर यह कुछ लौटाता है [33]।
    9. यह मॉडल अच्छी तरह से प्रशिक्षित नहीं है, इसलिए आउटपुट उपयोगी नहीं होगा [41]।
    10. यह केवल इसके प्रशिक्षण डेटा की कुछ बुनियादी सामग्री है [42]।

3. मॉडल ट्रेनिंग (फाइन-ट्यूनिंग) के लिए सेटअप [43]

thumbnail
  1. अतिरिक्त इंपोर्ट और डेटा तैयारी:

    1. ट्रेनिंग के लिए बहुत अधिक इंपोर्ट की आवश्यकता होगी [43]।
    2. Pandas को भी इंपोर्ट करना पड़ सकता है, यदि वह अन्य इंपोर्ट में शामिल न हो [46]।
    3. सबसे पहले, डेटा को फिर से जनरेट करना होगा [48]।
    4. एक बहुत ही सरल CSV (जो वास्तव में एक टेक्स्ट दस्तावेज़ है) का उपयोग किया जा रहा है [49]।
    5. फिर डेटा सेट बनाना होगा, जो आसान होना चाहिए [50]।
    6. पिछले बार की तरह टोकेनाइज़र प्राप्त करें [51]।
    7. एक टोकेनाइज्ड फ़ंक्शन को परिभाषित करें [52]।
    8. टोकेनाइज्ड डेटा को मैप करना होगा [57]।
    9. एक डेटा कलेक्टर बनाएं और टोकेनाइज़र असाइन करें [59]।
    10. मॉडल को पहले की तरह लोड करें [60]।
  2. पैड टोकन और ट्रेनिंग आर्गुमेंट्स सेट करना:

    1. पैड टोकन (pad token) असाइन करना चाहिए [61]।
    2. यह सुनिश्चित करने के लिए आवश्यक है कि यह सही ढंग से काम करे [63]।
    3. फिर रिसाइज़ करना होगा [64]।
    4. इसके बाद ट्रेनिंग आर्गुमेंट्स असाइन करने होंगे [65]।
    5. आउटपुट डायरेक्टरी को "results" पर सेट करें [66]।
    6. मूल्यांकन रणनीति (evaluation strategy) को Epoch पर सेट करें [68]।
    7. लर्निंग रेट को पर सेट करें [69]।
    8. यह एक अच्छी दर है [70]।
    9. इससे काफी अधिक दर पर चीजें बहुत जल्दी सीखी जाती हैं [71]।
    10. इससे मॉडल किसी टेक्स्ट पर अति-प्रशिक्षण (overtraining) कर सकता है [72]।
    11. बैच साइज़ को सीमित VRAM वाले GPU के लिए इसी साइज़ पर रखना चाहिए [73]।
    12. तीन इपोक (epochs) सेट करें [74]।
    13. वेट डीके (weight decay) भी सेट करें [75]।
  3. ट्रेनर सेटअप:

    1. ट्रेनर (trainer) को भी सेट करें [75]।
    2. मॉडल ID को सेट करें [75]।
    3. डेटा सेट को टोकेनाइज्ड डेटा के बराबर सेट करें [75]।
    4. मूल्यांकन डेटा सेट (evaluation data set) भी समान उपयोग करें [75]।
    5. हालांकि, सेटअप करते समय अलग-अलग डेटा सेट का उपयोग करना बेहतर हो सकता है [75]।
    6. कोलेटर (collator) और टोकेनाइज़र को टोकेनाइज़र के बराबर सेट करें [76]।

4. ट्रेनिंग प्रक्रिया और फाइन-ट्यून्ड मॉडल का परीक्षण [78]

thumbnail
  1. ट्रेनिंग और सेविंग:

    1. train चलाएं, और evaluate करके परिणाम प्राप्त करें [78]।
    2. यह चलते समय बहुत कुछ प्रिंट करता है [81]।
    3. यह प्रक्रिया काफी लंबी चलती है [82]।
    4. प्री-ट्रेन्ड मॉडल को सेव करें ताकि इसे फिर से एडिट किया जा सके [82]।
    5. यदि आप इसे प्रशिक्षित करना चाहते हैं, तो इसे फाइन-ट्यून्ड ट्रेनिंग स्थान से लोड करना होगा [83]।
  2. ट्रेनिंग डेटा का प्रारूप:

    1. डेटा के लिए, कुछ सामग्री लिखनी होगी [84]।
    2. उदाहरण के लिए, स्काईरिम (Skyrim) के बारे में कुछ यादृच्छिक सामग्री का उपयोग किया गया [85]।
    3. डेटा टेक्स्ट से शुरू होना चाहिए [88]।
    4. प्रत्येक लाइन उद्धरण चिह्नों (quotation marks) से शुरू और समाप्त होनी चाहिए [88]।
    5. उदाहरण: "I know Whiterun is in Skyrim, and Skyrim has a hold called Whiterun" [90]।
    6. आमतौर पर लंबे प्रशिक्षण डेटा की आवश्यकता होती है, लेकिन प्रदर्शन के लिए यह ठीक है [91]।
  3. त्रुटियों को ठीक करना और ट्रेनिंग आउटपुट:

    1. कुछ छोटी त्रुटियों को ठीक करने के बाद (जैसे वर्तनी की गलतियाँ) [92]।
    2. उदाहरण के लिए, इंपोर्ट के नाम में "for" शामिल नहीं किया गया था [94]।
    3. ट्रेनिंग पूरी हो गई है, और यह सुनिश्चित करने के लिए बहुत सारा आउटपुट प्रिंट करता है कि यह सही ढंग से काम कर रहा है [95]।
  4. फाइन-ट्यून्ड मॉडल का परीक्षण:

    1. अब मॉडल का परीक्षण किया जा सकता है [96]।
    2. क्वेरी कोड को फाइन-ट्यून्ड मॉडल से पढ़ने के लिए पुनः उपयोग करना होगा [97]।
    3. मॉडल लोड करने की जगह को बदलें और कोड चलाएं [98]।
    4. AI से पूछने पर, यह अभी भी बहुत अच्छा नहीं होगा [99]।
    5. यह अभी भी पूरी तरह से नहीं समझेगा कि यह किस बारे में बात कर रहा है [100]।
    6. हालांकि, इसमें सीखी हुई कुछ सामग्री शामिल होती है [100]।
    7. यह अभी भी बहुत स्मार्ट नहीं है [101]।
    8. यह निश्चित रूप से सामग्री वापस दे रहा है, लेकिन उपयोगी होने के लिए बहुत अधिक प्रशिक्षण की आवश्यकता होगी [102]।