3 पॉइंट द्वारा GN⁺ 2025-05-06 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • बड़े language model (LLM) की sampling विधियों को इस तरह समझाने वाली एक व्यापक गाइड कि शुरुआती लोग भी समझ सकें
  • token क्या है, शब्दों की जगह इसका उपयोग क्यों किया जाता है, और model text कैसे generate करता है, इसे विस्तार से समझाया गया है
  • sampling आउटपुट की विविधता और स्वाभाविकता को नियंत्रित करने की प्रक्रिया है, और Temperature, Top-K, Top-P, DRY जैसे विभिन्न sampling algorithms का परिचय दिया गया है
  • हर sampling तकनीक को वैचारिक व्याख्या के साथ गणितीय और एल्गोरिद्मिक कार्य सिद्धांत सहित समझाया गया है, और दोहराव रोकने, रचनात्मकता बढ़ाने, संगति समायोजित करने जैसे प्रभावों की तुलना की गई है
  • samplers के बीच संयोजन क्रम, पारस्परिक प्रभाव, और टकराव के उदाहरण तक व्यवस्थित किए गए हैं, इसलिए generation quality को बारीकी से नियंत्रित करना चाहने वाले developers के लिए यह बेहद उपयोगी सामग्री है

Intro Knowledge

Short Glossary

  • Logits हर token के score को दिखाने वाले unnormalized values होते हैं
  • Softmax logits को normalized probability distribution में बदलने वाला function है
  • Entropy prediction uncertainty को दर्शाता है; यह जितना अधिक होगा, अगले token को लेकर अनिश्चितता उतनी ही अधिक होगी
  • Perplexity एक ऐसा metric है जिसमें मान जितना कम हो, model का confidence उतना अधिक माना जाता है
  • n-gram लगातार आने वाले n tokens की sequence को कहते हैं
  • Context window एक बार में model द्वारा process किए जा सकने वाले tokens की अधिकतम संख्या है

Why tokens?

Why not letters?

  • अक्षर-स्तर tokenization में sequence बहुत लंबी हो जाती है, जिससे compute cost बढ़ती है और जानकारी को जोड़कर समझना कठिन हो जाता है

Why not whole words?

  • शब्द-आधारित तरीका vocabulary size के बहुत बढ़ जाने और नए या दुर्लभ शब्दों को व्यक्त करने में कठिनाई जैसी समस्याएँ लाता है
  • Sub-word आधारित तरीका prefix, root, suffix को अलग-अलग संभाल सकता है, इसलिए यह morpheme understanding और multilingual transfer learning के लिए प्रभावी है

How are the sub-words chosen?

  • training data के representative samples के आधार पर सबसे अधिक बार आने वाले sub-words को खोजकर शब्द-सूची बनाई जाती है

How does the model generate text?

  • training के दौरान model बड़े पैमाने के text से अगले token की probability distribution सीखता है
  • inference के समय यह सभी संभावित tokens के लिए probability की गणना करता है, और sampling technique के अनुसार अगला token चुनता है

From Tokens to Text

  • prediction चरण: सभी candidate tokens के लिए probability distribution की गणना
  • selection चरण: किसी विशेष sampling strategy के अनुसार token का चयन
  • केवल सबसे अधिक probability वाले token को चुनने से नीरस या दोहराव वाला text बन सकता है, इसलिए sampling techniques महत्वपूर्ण हैं

Sampling

Temperature

  • कम मान output को अधिक conservative और repetitive बनाते हैं, जबकि अधिक मान रचनात्मक परिणाम ला सकते हैं, लेकिन गलतियों की संभावना भी बढ़ाते हैं
  • logits को temperature value से विभाजित करके probability distribution की sharpness (एकाग्रता) नियंत्रित की जाती है

Presence Penalty

  • जो token एक बार भी आ चुका हो, उसकी फिर से आने की संभावना कम कर दी जाती है
  • इसमें सिर्फ token के इस्तेमाल हुआ या नहीं देखा जाता है, उसकी आवृत्ति नहीं

Frequency Penalty

  • आने की संख्या के अनुपात में score घटाया जाता है
  • जो शब्द अधिक बार आए हों, उन्हें अधिक नुकसान मिलता है, जिससे diversity बढ़ाने में मदद मिलती है

Repetition Penalty

  • पहले आ चुके tokens पर positive/negative logit के लिए asymmetric penalty लागू की जाती है
  • यह loop जैसे दोहराव को रोकने में प्रभावी है, लेकिन context की संगति को नुकसान पहुँचा सकता है

DRY (Don't Repeat Yourself)

  • n-gram pattern की पुनरावृत्ति पहचानकर दोहराव का संकेत देने वाले tokens की probability घटाई जाती है
  • जितना लंबा और जितना हाल में दोहराया गया वाक्यांश होगा, उसे उतना ही अधिक दबाया जाएगा
  • रचनात्मक text में स्वाभाविकता बनाए रखते हुए दोहराव घटाने में यह बेहद प्रभावी है

Top-K

  • केवल शीर्ष K candidates को रखा जाता है और बाकी tokens हटा दिए जाते हैं
  • इससे चरम samples हट जाते हैं और साथ ही कुछ हद तक randomness भी बनी रहती है

Top-P (Nucleus Sampling)

  • cumulative probability के P या उससे अधिक होने तक के tokens ही रखे जाते हैं, बाकी हटा दिए जाते हैं
  • model के confidence के अनुसार candidate set का आकार बदलता है, इसलिए यह adaptive है

Min-P

  • सबसे अधिक probability वाले token को आधार बनाकर केवल वही tokens रखे जाते हैं जिनका अनुपात एक न्यूनतम सीमा से ऊपर हो
  • model के confidence के अनुसार filtering dynamically adjust होती है

Top-A

  • सबसे अधिक probability वाले token की probability के वर्ग के अनुपात वाले threshold से candidates filter किए जाते हैं
  • confidence जितना अधिक होगा, filtering उतनी अधिक सख्त होगी

XTC

  • एक निश्चित probability पर सबसे अधिक संभावित candidates को जानबूझकर हटाया जाता है ताकि कम निश्चित विकल्प चुने जाएँ
  • यह अपरंपरागत या रचनात्मक responses के लिए उपयोगी तकनीक है

Top-N-Sigma

  • probability distribution की standard deviation के आधार पर valid tokens चुने जाते हैं
  • statistical features पर आधारित filtering होने के कारण यह विभिन्न परिस्थितियों में लचीले ढंग से काम करती है

Tail-Free Sampling (TFS)

  • probability slope के second-order change (curvature) के आधार पर सार्थक candidates और long-tail candidates में अंतर किया जाता है
  • यह स्वाभाविक cutoff point खोजकर filtering करने का तरीका है

Eta Cutoff

  • distribution की entropy (uncertainty) के अनुसार filtering criteria को dynamic रूप से समायोजित किया जाता है
  • confidence अधिक होने पर अधिक tokens हटाए जाते हैं, और confidence कम होने पर तरीका अधिक लचीला रहता है

Epsilon Cutoff

  • स्थिर probability threshold का उपयोग करके कम probability वाले tokens हटाए जाते हैं
  • यह सरल है, अनुमानित व्यवहार देता है, और अनावश्यक long-tail हटाने में उपयोगी है

Locally Typical Sampling

  • expected surprisal (prediction से अंतर) औसत के करीब वाले tokens को प्राथमिकता दी जाती है
  • सबसे अधिक संभावित token या सबसे विचित्र token के बजाय "typical" चयन को प्रोत्साहित किया जाता है

1 टिप्पणियां

 
GN⁺ 2025-05-06
Hacker News टिप्पणी
  • यह उल्लेख नहीं किया गया कि sampler मॉडल की internal state तक पहुँच नहीं सकते

    • वे सिर्फ output distribution पर गणित लागू करते हैं, और अगर वे मॉडल जितने smart नहीं हैं तो उसे decode नहीं कर सकते
    • repetition penalty या DRY जैसे sampler मॉडल को खुद को दोहराने से रोकते हैं, जो इस बात का संकेत है कि बेहतर training की ज़रूरत है
    • autoregressive process को hack करने से Min-P जैसे सरल सुधार संभव होते हैं
    • खराब मॉडल को अच्छे मॉडल में बदलने की कोशिश करना गलत तरीका है
  • मैंने Ollama/llama.cpp के लिए sampling guide लिखने की कोशिश की है

    • feedback या correction suggestions के लिए खुला हूँ
  • जब LLM से "ideas" output कराने की कोशिश की जाती है, तो logit vector का चयन मूल idea को तोड़ देना चाहिए

    • अगर idea पूरी तरह पूर्ण है, तो logits पर sampling की ज़रूरत नहीं होनी चाहिए
  • सब कुछ सरल तरीके से समझाया गया है, जिससे नई चीज़ें आज़माने के मौके खुलते हैं

    • उदाहरण के लिए, पूरे शब्दों को token के रूप में उपयोग करना कैसा रहेगा?
    • सीमित "robot dialect" वाला एक "robot" बनाया जा सकता है
    • नए या दुर्लभ शब्दों को संभालने की क्षमता नहीं होगी, लेकिन training data और input data को बदलकर उन्हें मौजूदा vocabulary में translate किया जा सकता है
    • इससे users को इस बात की अपेक्षा मिलती है कि robot किस तरह के जवाब अच्छी तरह दे सकेगा
  • क्या LLM मॉडल implicit tokenization कर सकते हैं?

    • अलग tokenizer बनाने के बजाय, character string का उपयोग किया जाए और neural network को उन्हें token में बदलने दिया जाए
    • उस network के weights को बाकी LLM के साथ मिलाकर train किया जाए
  • इसी संदर्भ में, हमारा min_p पेपर ICLR में 12000 submissions में 18वें स्थान पर रहा

    • poster लोकप्रिय था
    • oral presentation में Yoshua Bengio के साथ चर्चा हुई
    • यह पुष्टि की जा सकती है कि Top N sigma इस समय सबसे सामान्य sampler है
    • temperature को अभी की तुलना में बहुत अधिक बढ़ाया जा सकता है
    • top_k = 2 और ultra-high temperature का विशेष मामला बहुत दिलचस्प है
  • मैं सोचता हूँ कि क्या sampling वास्तव में मॉडल की सीमाओं को हल करती है, या सिर्फ किसी गहरी समस्या को ढकती है

  • "sampling" उम्मीद से कहीं ज़्यादा चीज़ों को कवर करता है

  • यह बहुत उपयोगी दस्तावेज़ है, इसकी व्याख्या स्पष्ट है और यह बहुत कुछ कवर करता है

    • क्या किसी को पता है कि इसे किसने लिखा है
    • DRY - "repetition penalty" सेक्शन दिलचस्प था
    • मैं अक्सर चाहता हूँ कि LLM input की बिल्कुल सटीक कॉपी output करे
    • लंबी बातचीत का सारांश बनाते समय, मैं सबसे वर्णनात्मक सटीक उद्धरण माँगता हूँ
    • DRY penalty इस लक्ष्य के साथ टकरा सकती है
  • मुझे एहसास नहीं था कि शुरुआती softmax temperature चयन के बाद इतना अधिक manipulation किया जा रहा है