बुनियादी बातेंशुरुआतीपाठ 24 मिनट का पाठ

एक large language model क्या करता है

LLM एक ऐसा autocomplete है जिसने पूरी लाइब्रेरी निगल ली है। इस एक वाक्य को समझ लेने से इसकी ज़्यादातर खूबियाँ और इसकी हर एक कमज़ोरी समझ में आ जाती है।

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

60 सेकंड में

एक large language model क्या करता है

LLM एक ऐसा autocomplete है जिसने पूरी लाइब्रेरी निगल ली है। इस एक वाक्य को समझ लेने से इसकी ज़्यादातर खूबियाँ और इसकी हर एक कमज़ोरी समझ में आ जाती है।

1/5
आसान शब्दों में
यह बहुत तेज़ी से, बार-बार "अगला शब्द बूझो" का खेल खेलता है। बस सारा खेल यही है।
आप टाइप करें The cat sat on the ___ और मॉडल "बिल्लियों के बारे में सोचने" नहीं लगता। यह अपने जाने हुए हर शब्द को एक स्कोर देता है और सबसे संभावित शब्द चुन लेता है। फिर नए शब्द को शामिल करके यह दोबारा यही करता है। और फिर से करता रहता है।
The cat sat on the ___Next word: optionsmat61.0%floor14.0%roof8.0%piano2.0%telephone0.4%it rolls a weighted dice on this list — that is why the same question gives different answers
हर जवाब एक बार में एक शब्द जोड़कर बनता है। मॉडल कभी भी पहले से पूरे वाक्य की योजना नहीं बनाता। यह एक शब्द तय करता है, फिर वहाँ से आगे का अगला अंदाज़ा लगाता है।

यह इतना समझदार क्यों लगता है

इसने इंसानों द्वारा लिखा गया बहुत सारा साहित्य पढ़ा है। पाठ्यपुस्तकें, कोड, बहसें, रेसिपीज़, कविताएँ। इन सबमें अगले शब्द का सही अंदाज़ा लगाने के लिए, इसे दुनिया को किस तरह बयां किया जाता है, इसके बहुत से ढांचों को समझना पड़ा।
इसलिए यह खारिज करने वाले अंदाज़ में "सिर्फ autocomplete" नहीं है। यह एक ऐसा autocomplete है जिसे अपना काम करने के लिए व्याकरण, तथ्य, तर्क करने के तरीके और लहज़ा सब सीखना पड़ा। लेकिन काम अब भी वही है: अगला शब्द बूझना।

एक prompt के तीन हिस्से

  1. 1

    System prompt

    डेवलपर की तरफ से तय किए गए स्थायी निर्देश। "आप Acme के लिए एक मददगार सपोर्ट एजेंट हैं। कभी भी प्रतिस्पर्धियों की चर्चा न करें।"
  2. 2

    User message

    इंसान ने अभी-अभी जो टाइप किया। "मेरा ऑर्डर कहाँ है?"
  3. 3

    बाकी सब कुछ

    सर्च रिज़ल्ट, फ़ाइल का कंटेंट, वेब पेज, टूल का आउटपुट, पिछले मैसेज। यही वह हिस्सा है जो आगे चलकर ख़तरनाक बन जाता है।
ख़तरा
इस बात को याद रखें: मॉडल इन तीनों हिस्सों को टेक्स्ट की एक लंबी लड़ी की तरह देखता है। यहाँ कोई ऐसी पक्की दीवार नहीं है जो कहे कि "यह हिस्सा निर्देश है, और यह हिस्सा सिर्फ़ डेटा।" Module 9 पूरी तरह इसी बात पर है कि इससे क्या नुकसान होते हैं।

Tokens: मॉडल की वर्णमाला

मॉडल अक्षर या शब्द नहीं पढ़ते। वे tokens पढ़ते हैं, जो शब्दों के टुकड़े होते हैं। "Unbelievable" शायद un + believ + able बन जाए। मोटे तौर पर, 1 token अंग्रेज़ी के लगभग 4 अक्षरों के बराबर होता है।
यही वजह है कि मॉडल कभी-कभी किसी शब्द में अक्षर गिनने में कच्चे होते हैं। वे असल में अक्षरों को देख ही नहीं पाते, सिर्फ़ उन टुकड़ों को देखते हैं।

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

But what is a GPT? Visual intro to transformers3Blue1Brown · 27 min · video
Intro to Large Language ModelsAndrej Karpathy · 1 hr · video

लैब

आप अगले token की संभावनाओं (probabilities) को अपनी आँखों से देखेंगे।

~15 min

समस्या

कोई भी वाक्य लें और खुद से अगले शब्द के लिए अपने पाँच सबसे अच्छे अंदाज़े लिखें और हर एक के लिए एक अनुमानित संभावना भी लिखें। फिर किसी असली मॉडल से उसका डिस्ट्रीब्यूशन देखें (logprobs वाली किसी भी प्रोवाइडर की API, या transformers वाला कोई ओपन मॉडल)। अपने अंदाज़े की तुलना मशीन के अंदाज़े से करें। फिर temperature को 0 और 1.5 पर सेट करें और दोनों पर 200 tokens जनरेट करें।
शुरुआती कोडpython
from transformers import AutoTokenizer, AutoModelForCausalLM
import torch

name = "gpt2"   # small enough for a laptop
tok = AutoTokenizer.from_pretrained(name)
model = AutoModelForCausalLM.from_pretrained(name)

prompt = "The cat sat on the"
ids = tok(prompt, return_tensors="pt").input_ids

with torch.no_grad():
    logits = model(ids).logits[0, -1]        # last position only

probs = torch.softmax(logits, dim=-1)
top = torch.topk(probs, 10)
for p, i in zip(top.values, top.indices):
    print(f"{p.item():6.2%}  {tok.decode(i)!r}")
Google Colab खोलें ↗यह कोड PyTorch का इस्तेमाल करता है, जो ब्राउज़र के अंदर नहीं चल सकता। नोटबुक डाउनलोड करें, फिर Google Colab में File → Upload notebook चुनें। Colab में PyTorch पहले से तैयार है और एक मुफ़्त GPU भी है।

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

कठिन सवाल

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

Q1शीर्ष token की संभावना 0.61 है। मॉडल 'confident' है। क्या इस जवाब के सच होने की संभावना ज़्यादा है? सोच-समझकर कारण बताएं।दिखाएं
नहीं। वह 0.61 इस बात का आत्मविश्वास है कि ट्रेनिंग डेटा जैसे टेक्स्ट में अगला token कौन-सा आता है, न कि दुनिया की सच्चाई का। अगर ट्रेनिंग डेटा में ही किसी गलत बात को पूरे आत्मविश्वास के साथ कहा गया था, तो मॉडल भी 0.61 के साथ पूरे आत्मविश्वास से गलत होगा। Token probability यह मापती है कि क्या चीज़ आम तौर पर आती है, यह नहीं कि क्या सच है। ठीक यही वजह है कि Module 30 में calibration को एक अनसुलझी कमी के रूप में बताया गया है — और यही वजह है कि किसी कॉन्फिडेंस स्कोर को सही-गलत जांचने के फ़िल्टर की तरह इस्तेमाल नहीं किया जा सकता।
Q2आपके टेस्ट सेट पर दो मॉडलों की perplexity बिल्कुल एक जैसी है। उनमें से एक आपके प्रोडक्ट में कहीं ज़्यादा काम का है। इसका एक ठोस कारण बताएं।दिखाएं
Perplexity हर token का औसत निकालती है, और ज़्यादातर tokens आसान होते हैं — articles, विराम चिह्न, आम शब्द। दो मॉडल औसत में बराबर हो सकते हैं, लेकिन उन थोड़े-से अहम tokens पर बिल्कुल अलग हो सकते हैं जो असली अर्थ देते हैं: नाम, संख्याएँ, किसी निर्देश का निर्णायक शब्द। इसमें post-training को जोड़कर देखें: एक instruction-tuned मॉडल और एक बेस मॉडल की perplexity एक जैसी हो सकती है, जबकि उनमें से केवल एक ही निर्देश का पालन करता है।

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

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

यह हर बार अलग जवाब क्यों देता है?

क्योंकि यह संभावनाओं (probability) की लिस्ट में से थोड़ी-बहुत रैंडमनेस के साथ चुनाव करता है, जिसे temperature नाम की एक सेटिंग से कंट्रोल किया जाता है। कम temperature का मतलब है "हमेशा सबसे सुरक्षित शब्द चुनो" और इससे दोहराव वाला, आसानी से अंदाज़ा लगाया जा सकने वाला टेक्स्ट मिलता है। ज़्यादा temperature का मतलब है "जोखिम उठाओ" और इससे नयापन भरा, कभी-कभी गलत टेक्स्ट मिलता है।

क्या यह इंटरनेट पर चीज़ें ढूंढता है?

अपने आप नहीं। एक सादे मॉडल के पास सिर्फ़ वही होता है जो उसने अपनी ट्रेनिंग के दौरान सीखा था, जो किसी एक तारीख पर रुक चुका है। जब यह इंटरनेट पर चीज़ें ढूंढता है, तो असल में वह एक टूल का इस्तेमाल कर रहा होता है — देखें Module 4 — और वह टूल एक ऐसा दरवाज़ा है जिसके ज़रिए कोई हमलावर अपनी चीज़ें अंदर भेज सकता है।

यह पूरे आत्मविश्वास के साथ फर्जी सोर्स क्यों गढ़ लेता है?

क्योंकि "एक असली जैसा दिखने वाला संदर्भ" अगले शब्द के पैटर्न के हिसाब से बहुत संभावित होता है। मॉडल सच्चाई के हिसाब से नहीं, बल्कि संभावना के हिसाब से काम कर रहा होता है। जब तक आप अलग से कोई चेकर न जोड़ें, तब तक मशीन में ऐसा कुछ नहीं होता जो असलियत की जांच करे।

एक मॉडल और एक चैटबॉट में क्या अंतर है?

मॉडल इंजन है। चैटबॉट पूरी कार है: इंजन के साथ-साथ एक system prompt, चैट हिस्ट्री, सेफ़्टी फ़िल्टर, और कभी-कभी टूल्स और एक मेमोरी भी। सुरक्षा से जुड़ी ज़्यादातर समस्याएं कार में होती हैं, इंजन में नहीं।

क्या बड़ा मॉडल हमेशा बेहतर होता है?

आमतौर पर ज़्यादा होशियार, पर हमेशा ज़्यादा महंगा और धीमा। कई कामों के लिए, अच्छे निर्देशों और अच्छे टूल्स वाला एक छोटा मॉडल, इन दोनों के बिना वाले किसी बहुत बड़े मॉडल से बेहतर साबित होता है।

पाठ का टेस्ट

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

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