एक LLM बनाएँमध्यमपाठ 436 मिनट का पाठ

स्टेप 7 · डेटा ही असली प्रोडक्ट है

आर्किटेक्चर लगभग मुफ़्त है — आप इसे कॉपी कर सकते हैं। डेटा वह जगह है जहाँ मॉडल्स वास्तव में अलग होते हैं, और जहाँ लगभग सारा काम होता है।

पाठ वीडियो में

60 सेकंड में

स्टेप 7 · डेटा ही असली प्रोडक्ट है

आर्किटेक्चर लगभग मुफ़्त है — आप इसे कॉपी कर सकते हैं। डेटा वह जगह है जहाँ मॉडल्स वास्तव में अलग होते हैं, और जहाँ लगभग सारा काम होता है।

1/7
आसान शब्दों में
अच्छी किताबें पढ़ने वाला छात्र होशियार बनता है। केवल स्पैम पढ़ने वाला छात्र भ्रमित हो जाता है। किताबें मायने रखती हैं, मेज़ का आकार नहीं।
यदि डेटा अलग हो, तो एक जैसे कोड और एक जैसे कंप्यूट वाली दो टीमें बिल्कुल अलग मॉडल्स बनाएंगी। हर फ्रंटियर लैब आर्किटेक्चर को लगभग सार्वजनिक मानती है और डेटा को अपनी सबसे अनमोल धरोहर (क्राउन ज्वेल्स)।

पाइपलाइन, क्रम में

  1. 1

    1 · हासिल करना (Acquire)

    वेब क्रॉल, किताबें, कोड, रिसर्च पेपर्स, क्यूरेटेड कलेक्शन्स। लाइसेंस ज़रूर जांचें। "यह इंटरनेट पर था" कोई लाइसेंस नहीं होता, और इस पर अब नियमित रूप से मुकदमे चल रहे हैं।
  2. 2

    2 · एक्सट्रैक्ट करना (Extract)

    HTML से टेक्स्ट निकालना जितना आसान दिखता है, उससे कहीं ज़्यादा कठिन है। बॉयलरप्लेट, नेविगेशन, कुकी बैनर और कमेंट स्पैम सब कुछ नौसिखिए एक्सट्रैक्शन में आ जाते हैं और ये सभी मॉडल को ख़राब (ज़हरीला) करते हैं।
  3. 3

    3 · क्वालिटी के लिए फ़िल्टर करना (Filter for quality)

    भाषा की पहचान, अच्छे माने जाने वाले टेक्स्ट पर ट्रेंड क्लासिफायर, पर्प्लेक्सिटी फ़िल्टर्स, विराम चिह्नों और लाइन की लंबाई पर नियम (ह्यूरिस्टिक्स)। क्रॉल किए गए अधिकांश टेक्स्ट को हटा दिया जाता है — अक्सर 90% या उससे भी अधिक।
  4. 4

    4 · डुप्लिकेट हटाना (Deduplicate)

    एक जैसे और लगभग मिलते-जुलते (near-duplicate) टेक्स्ट को हटाना, आमतौर पर MinHash के साथ। यह सबसे अधिक फ़ायदेमंद अकेला स्टेप है: डुप्लिकेट टेक्स्ट कंप्यूट बर्बाद करता है और रटने की समस्या पैदा करता है।
  5. 5

    5 · डीकंटेमिनेट करना (Decontaminate)

    अपने इवैल्यूएशन सेट्स से मेल खाने वाली किसी भी चीज़ को हटा दें। इसे छोड़ देंगे तो आपके बेंचमार्क नंबर्स मनगढ़ंत होंगे — मॉड्यूल 28 देखें।
  6. 6

    6 · मिक्स करना (Mix)

    हर सोर्स के लिए अनुपात चुनें और तय करें कि किसे कितनी बार दोहराया जाएगा। यह एक डिज़ाइन निर्णय है जिसका अंतिम मॉडल पर बहुत बड़ा असर पड़ता है।
  7. 7

    7 · टोकनाइज़ और शार्ड करना (Tokenize and shard)

    पहले से टोकनाइज़ करके फ़्लैट बाइनरी शार्ड्स में बदलें। टोकनाइज़्ड uint16 ऐरे को पढ़ना, साथ के साथ (on the fly) टोकनाइज़ करने की तुलना में काफ़ी तेज़ होता है।
Near-duplicate detection with MinHashpython
from datasketch import MinHash, MinHashLSH

def shingles(text, k=5):
    words = text.split()
    return {" ".join(words[i:i+k]) for i in range(len(words) - k + 1)}

lsh = MinHashLSH(threshold=0.8, num_perm=128)
kept = []
for i, doc in enumerate(documents):
    m = MinHash(num_perm=128)
    for sh in shingles(doc):
        m.update(sh.encode("utf-8"))
    if not lsh.query(m):          # nothing similar seen yet
        lsh.insert(str(i), m)
        kept.append(doc)

एक वास्तविक मिश्रण

सोर्सहिस्साक्यों
फ़िल्टर किया हुआ वेब टेक्स्ट50–65%व्यापकता, और बड़े पैमाने पर उपलब्ध एकमात्र सोर्स
कोड10–20%बिना कोड वाले टास्क्स के लिए भी रीज़निंग और स्ट्रक्चर को बेहतर बनाता है
किताबें और लंबा टेक्स्ट5–15%लंबे समय तक निरंतरता (Long-range coherence), जो वेब टेक्स्ट में शायद ही कभी होती है
एकेडेमिक और संदर्भ सामग्री5–10%तथ्यों का घनत्व (Factual density)
क्यूरेटेड / सिंथेटिक5–15%लक्षित स्किल्स, निर्देश के प्रारूप, कम प्रतिनिधित्व वाली भाषाएँ
बहुभाषी (Multilingual)बदलता रहता हैसोच-समझकर किया गया, वरना आपका मॉडल एक अंग्रेज़ी मॉडल बनकर रह जाएगा जो बाकी जगहों पर लड़खड़ाएगा
यह करें
कोड का अनुपात लोगों को हैरान करता है। कोड पर ट्रेनिंग देने से उन टास्क्स में भी साफ़ तौर पर सुधार होता है जिनका प्रोग्रामिंग से कोई लेना-देना नहीं है। इसका सबसे अच्छा मौजूदा स्पष्टीकरण यह है कि कोड स्पष्ट लंबी दूरी की संरचना (long-range structure) और चरण-दर-चरण कारण-प्रभाव में असाधारण रूप से समृद्ध होता है।

सिंथेटिक डेटा: वर्तमान फ्रंटियर

इंसानों द्वारा लिखा गया उच्च-गुणवत्ता वाला टेक्स्ट ख़त्म हो रहा है। इसलिए लैब्स तेज़ी से मौजूदा मॉडल्स से ही ट्रेनिंग डेटा बना रही हैं: पाठ्यपुस्तक-शैली के स्पष्टीकरण, सवाल-जवाब के जोड़े, सत्यापित रीज़निंग स्टेप्स, और बिखरे हुए वेब टेक्स्ट को साफ़-सुथरे लेख में बदलना।
सिंथेटिक डेटा कहाँ काम करता है
  • बिखरे हुए टेक्स्ट को साफ़ स्पष्टीकरणों में फिर से लिखना।
  • रीज़निंग स्टेप्स जिन्हें जाँचा (verify) जा सके — उत्तरों के साथ गणित, टेस्ट्स के साथ कोड।
  • निर्देशों और फ़ॉर्मेट की विविधता।
  • कमियों को भरना: दुर्लभ भाषाएँ, दुर्लभ क्षेत्र।
यह कहाँ ग़लत साबित होता है
  • असत्यापित तथ्य — जनरेटर की ग़लतियाँ ट्रेनिंग का लक्ष्य बन जाती हैं।
  • स्टाइल कोलैप्स: सब कुछ एक जैसा लगने लगता है।
  • पीढ़ी-दर-पीढ़ी कम होती विविधता।
  • चुपके से अपने ही बेंचमार्क उत्तरों पर ट्रेनिंग देना।
ख़तरा
डेटा पॉइज़निंग इस स्तर पर एक वास्तविक सप्लाई-चेन जोखिम है। क्रॉल में थोड़े से बनाए गए दस्तावेज़ एक बैकडोर इंस्टॉल कर सकते हैं: एक ऐसा ट्रिगर वाक्यांश जो हमलावर की पसंद का व्यवहार दिखाता है। यह OWASP LLM04 है, और यही कारण है कि ट्रेनिंग डेटा का स्रोत (provenance) उतना ही मायने रखता है जितना कि डिपेंडेंसीज़।

कितना डेटा?

हिसाब-किताब के लिए मॉड्यूल 44 देखें। संक्षेप में: एक कंप्यूट-ऑप्टिमल मॉडल को लगभग प्रति पैरामीटर 20 टोकन चाहिए, और भारी इनफ़्रेंस उपयोग के लिए बनाए गए मॉडल्स को जानबूझकर इससे कहीं अधिक — अक्सर 100–1000 टोकन प्रति पैरामीटर — पर ट्रेन किया जाता है, क्योंकि एक छोटे, लंबे समय तक ट्रेंड मॉडल को हमेशा चलाना सस्ता होता है।

और देखें और पढ़ें

लैब

एक डेटा पाइपलाइन जो अपने अधिकांश इनपुट को सही तरीके से बाहर फेंक देती है।

~25 min

समस्या

10 हज़ार रॉ वेब दस्तावेज़ लें। पाइपलाइन बनाएं: एक्सट्रैक्ट करें, फ़िल्टर करें, MinHash से डुप्लिकेट हटाएं, इवैल सेट्स के आधार पर डीकंटेमिनेट करें। रिपोर्ट करें कि प्रत्येक चरण में कितना हिस्सा बचा और यह जाँचने के लिए 20 रिजेक्ट किए गए दस्तावेज़ पढ़ें कि क्या आप सही चीज़ों को बाहर फेंक रहे हैं।
शुरुआती कोडpython
stages = ["raw", "extracted", "quality", "deduped", "decontaminated"]
for a, b in zip(stages, stages[1:]):
    print(f"{a:16} -> {b:16} {len(sets[b])/len(sets[a]):.1%} survived")
Google Colab खोलें ↗इस कोड के लिए आपके अपने सेटअप की ज़रूरत है (एक मॉडल, एक GPU या अतिरिक्त पैकेज)। इसे Google Colab में चलाएं: File → Upload notebook।

आपका काम तब पूरा होगा जब

कठिन सवाल

उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।

Q1आपका क्वालिटी फ़िल्टर क्रॉल का केवल 8% रखता है। पहले तर्क दें कि यह बहुत ज़्यादा आक्रामक है, फिर तर्क दें कि यह नहीं है।दिखाएं
बहुत ज़्यादा आक्रामक: क्वालिटी क्लासिफायर्स को 'अच्छे' की एक संकीर्ण धारणा पर ट्रेन किया जाता है — अक्सर विकिपीडिया जैसी भाषा — और वे व्यवस्थित रूप से बोलियों, कोड-स्विचिंग, अनौपचारिक शैलियों और ग़ैर-पश्चिमी स्रोतों को हटा देते हैं, इसलिए आप सीमित कर रहे हैं कि मॉडल किसकी भाषा सीखता है। काफ़ी आक्रामक नहीं: एक रॉ क्रॉल का अधिकांश हिस्सा नेविगेशन क्रोम, स्पैम और डुप्लिकेट होता है, और प्रकाशित पाइपलाइनें डाउनस्ट्रीम लॉस में सुधार करते हुए नियमित रूप से केवल सिंगल-डिजिट प्रतिशत ही रखती हैं। दर पर भरोसा करने के बजाय कैटेगरी के अनुसार रिजेक्ट किए गए डेटा को पढ़कर इसका समाधान करें — यह जाने बिना कि क्या हटाया गया, संख्या आपको कुछ नहीं बताती।

जारी रखने के लिए कृपया साइन इन करें।

अक्सर पूछे जाने वाले सवाल

क्या मैं सिर्फ़ किसी पब्लिक डेटासेट का उपयोग कर सकता हूँ?

हाँ, और सीखने के लिए आपको ऐसा करना भी चाहिए। FineWeb, The Pile, RedPajama, Dolma और ऐसे ही कलेक्शन्स पहले से ही फ़िल्टर और डुप्लिकेट-मुक्त हैं। उनकी डेटाशीट्स पढ़ें — उन्होंने जो फ़िल्टरिंग विकल्प चुने हैं, वे अब आपके विकल्प हैं।

डुप्लिकेट हटाना (deduplication) कितना मायने रखता है?

बहुत ज़्यादा। प्रकाशित परिणाम फ़ाइनल लॉस में सार्थक सुधार और हूबहू रटने में भारी कमी दिखाते हैं। यह पूरी पाइपलाइन में प्रति-घंटा सबसे अधिक फ़ायदा देने वाला स्टेप है।

क्या कॉपीराइट वाले टेक्स्ट पर ट्रेनिंग देना कानूनी है?

इस पर विवाद जारी है, यह क्षेत्राधिकार के अनुसार अलग-अलग है, और अभी अदालतों में इस पर फ़ैसले हो रहे हैं। यदि आप व्यावसायिक रूप से कुछ लॉन्च कर रहे हैं, तो बड़ी लैब्स जो करती दिख रही हैं उसका अनुसरण करने के बजाय अपने बाज़ार के अनुसार सलाह लें।

क्रॉल में पर्सनल डेटा के बारे में क्या?

यह वहाँ मौजूद होता है, और मॉडल्स इसे याद रख सकते हैं और दोबारा दोहरा सकते हैं। पर्सनल जानकारी को फ़िल्टर करें, डेटा हटाने के अनुरोधों का समर्थन करें, और समझें कि अधिकांश प्राइवेसी कानूनों के तहत "मॉडल ने इसे रट लिया था" कोई बचाव नहीं है।

पाठ का टेस्ट

5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।

टेस्ट देने और अपनी प्रोग्रेस सेव करने के लिए साइन इन करें