1 पॉइंट द्वारा GN⁺ 2024-10-27 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • Entropix एक ऐसा प्रोजेक्ट है जो उस क्षण LLM की अनिश्चितता को पढ़ता है जब वह अगला token चुनता है, और स्थिति के अनुसार sampling का तरीका बदलकर inference quality बढ़ाने की कोशिश करता है
  • निर्णय के मानदंड logits distribution की entropy और varentropy हैं, और इन दोनों के संयोजन से मॉडल की confidence state को 4 प्रकारों में बाँटा जाता है
  • confidence अधिक होने की स्थिति में argmax sampling उपयुक्त है, लेकिन जब कई मजबूत उम्मीदवार हों तो branching के जरिए अलग-अलग paths की तुलना की जा सकती है
  • high entropy की स्थिति में मॉडल सचमुच नहीं जानता हो सकता है, या विकल्प व्यवहारिक रूप से बराबर हो सकते हैं, इसलिए thinking token जोड़ना, temperature समायोजित करना, या branching जैसी प्रतिक्रियाएँ ज़रूरी हो सकती हैं
  • अभी large-scale evaluation नहीं है, इसलिए प्रभाव निश्चित नहीं है, लेकिन inference-time sampling ऐसा क्षेत्र है जहाँ बड़े बजट के बिना भी open source experiments के जरिए सुधार की कोशिश की जा सकती है

Entropix किस समस्या को लक्ष्य बनाता है

  • Entropix XJDR द्वारा विकसित एक प्रोजेक्ट है, जो मॉडल के अनिश्चित क्षणों में sampling strategy बदलकर inference को बेहतर बनाने की कोशिश करता है
  • अभी Entropix पर large-scale evaluation नहीं है, इसलिए वास्तविक performance improvement की सीमा स्पष्ट नहीं है
  • फिर भी uncertainty-based sampling, LLM inference को अलग नज़रिए से देखने का एक प्रयोगात्मक तरीका और reasoning model प्रदान करता है

LLM की अनिश्चितता कहाँ दिखती है

  • sampling वह प्रक्रिया है जिसमें LLM यह तय करता है कि संभावित tokens की distribution यानी logits में से कौन-सा token चुना जाए
  • मॉडल की confidence का स्तर अगले token की logits distribution में देखा जा सकता है
    • confidence अधिक हो तो probability कुछ tokens पर स्पष्ट रूप से केंद्रित होती है
    • confidence कम हो तो अगले token के उम्मीदवार अधिक फैले हुए होते हैं
  • अनिश्चितता हमेशा बुरा संकेत नहीं होती, और इसके कई कारण हो सकते हैं
    • good और great की तरह tokens synonyms हों या व्यवहारिक रूप से बराबर हों
    • जैसे किसी program को Java में भी लिखा जा सकता है और C में भी, यानी branching paths मौजूद हों
    • मॉडल को समझ न आ रहा हो कि क्या करना है, या वह training data में न देखे गए out of distribution input से टकरा गया हो

entropy और varentropy

  • Entropix, logits की entropy और varentropy से अनिश्चितता को मापता है
  • entropy यह दिखाती है कि predicted logits एक-दूसरे से कितने अलग हैं, और सबसे संभावित परिणाम को लेकर कितनी अनिश्चितता है
    • low entropy में कुछ logits को लेकर काफ़ी confidence होता है
    • high entropy में logits distribution अधिक uniform हो जाती है, इसलिए confidence कम हो जाता है
  • varentropy अनिश्चितता की shape दिखाने वाला माप है
    • high varentropy का मतलब है कि कुछ मान बाकी मानों से काफ़ी अलग हैं
  • ये दोनों माप surprisal(self-information) की अवधारणा पर आधारित हैं
    • surprisal यह मापता है कि कोई घटना अपनी probability की तुलना में कितनी अप्रत्याशित है
    • घटना x की probability P(x) हो तो surprisal I(x) = -log₂(P(x)) होता है
    • P(x) = 1/8 हो तो surprisal 3 bit होता है, और P(x) = 1/2 हो तो 1 bit
  • entropy, सभी संभावित परिणामों के surprisal का expected value है
  • varentropy, surprisal के variance के रूप में निकाली जाती है, और यह दिखाती है कि कुछ परिणाम औसत surprisal की तुलना में कितने अधिक चौंकाने वाले हैं

अनिश्चितता की 4 अवस्थाएँ

  • entropy और varentropy को साथ देखने पर मॉडल की स्थिति को 4 हिस्सों में बाँटा जा सकता है
    • low entropy·low varentropy: नुकीली distribution जिसमें एक परिणाम की probability बहुत अधिक होती है
    • low entropy·high varentropy: ऐसी distribution जिसमें कुछ अलग-अलग peaks हों
    • high entropy·low varentropy: uniform या लगभग uniform distribution
    • high entropy·high varentropy: व्यापक रूप से फैली हुई लेकिन एकसमान नहीं distribution

अवस्था के अनुसार adaptive sampling

  • low entropy·low varentropy

    • यह आदर्श स्थिति है जिसमें मॉडल न सिर्फ अपनी पहली पसंद को लेकर, बल्कि उसके गलत होने पर विकल्पों को लेकर भी अपेक्षाकृत आश्वस्त होता है
    • अक्सर candidate list साफ़-सुथरे क्रम में होती है, इसलिए सबसे अधिक probability वाले token को चुनने वाली argmax sampling उपयुक्त होती है
  • low entropy·high varentropy

    • यह वह स्थिति है जिसमें मॉडल कुछ चुनिंदा विकल्पों को बहुत ऊँची probability देता है
    • यह स्थिति पूरी तरह नए output path का संकेत हो सकती है, या synonyms की तरह कुछ ऐसे expressions की, जहाँ कई अभिव्यक्तियाँ संभव हों; इसलिए निर्णय कठिन होता है
    • एक संभव प्रतिक्रिया branching है: दोनों logits की भविष्यवाणी करके उनके paths पर आगे बढ़ना और कुछ बिंदु के बाद परिणामों की तुलना करना
    • अगर branching के परिणामों की confidence मिलती-जुलती हो लेकिन सामग्री अलग हो, तो इसे उपयोगकर्ता से पूछे जाने वाले सवाल में बदला जा सकता है
  • high entropy·low varentropy

    • यह ऐसी स्थिति हो सकती है जहाँ मॉडल low confidence में हो, या सभी विकल्प एक-दूसरे के बदले इस्तेमाल किए जा सकें
    • Entropix इस समय यह सुझाव देता है कि मॉडल को अधिक confidence वाली स्थिति तक ले जाने के लिए अगले token के रूप में thinking token डाला जाए
    • उदाहरण के तौर पर Wait.. जैसा token
    • thinking token output में इस संकेत के रूप में डाला जाता है कि मॉडल को जवाब देने से पहले और computation time लेकर सोचना चाहिए
    • उदाहरण के लिए, अगर मॉडल The capital of Germany is Paris की भविष्यवाणी करने की कोशिश कर रहा हो लेकिन आश्वस्त न हो, तो Wait जोड़कर यह आगे The capital of Germany is Paris… Wait, no, it’s actually Berlin जैसा बन सकता है
  • high entropy·high varentropy

    • इसमें कोई स्पष्ट top candidate नहीं होता, लेकिन कुछ outputs पर मॉडल बाकी outputs की तुलना में अधिक आश्वस्त होता है
    • top choices synonyms की तरह सभी स्वीकार्य हो सकती हैं, इसलिए अधिक temperature के साथ random selection किया जा सकता है
    • पिछली अवस्थाओं की तरह branching या thinking token insertion भी संभव है

branching और thinking token में अंतर

  • दोनों तरीके अनिश्चित स्थिति में अधिक inference computation खर्च करने की कोशिश करते हैं
  • branching prediction कुछ logits को follow करके देखता है कि वे किन दूसरे tokens की ओर ले जाते हैं
    • इसे अक्सर MCTS(Monte Carlo Tree Search) कहा जाता है
    • LLM में इस पर कई बार प्रयोग हुए हैं, लेकिन नतीजे मध्यम रहे हैं
    • मुख्य trade-off यह है that हर branch दूसरे की computation का लाभ नहीं उठा पाती
  • thinking token, उन branches को explore करने में computation खर्च नहीं करता जिन्हें बाद में फेंका भी जा सकता है; इसके बजाय यह अनिश्चित अवस्था में अतिरिक्त computation हासिल करने का तरीका है
    • Wait… insertion से AI को यह पहचानने में मदद मिलती है कि उससे गलती हुई हो सकती है
  • branching और thinking token में कौन बेहतर है, यह अभी भी open research question है

attention-आधारित signals

  • Entropix, temperature adjust करते समय कुछ अन्य entropy measurements का भी उपयोग करता है
  • Attention Entropy यह दिखाती है कि attention head किसी खास token को follow कर रहा है या context के कई tokens में ध्यान फैला रहा है
  • Attention Agreement यह बताती है कि अलग-अलग attention heads एक ही token पर ध्यान दे रहे हैं या अलग-अलग tokens को देख रहे हैं
  • अगर heads की entropy low हो और agreement high हो, तो यह इस बात का अतिरिक्त संकेत हो सकता है कि highest-probability token sample करना ठीक है
  • अगर agreement low हो, तो अलग-अलग heads अलग-अलग predictions में योगदान दे रहे हो सकते हैं, इसलिए branching पर विचार किया जा सकता है

यह क्यों महत्वपूर्ण है

  • Entropix का विचार समझने में आसान है और पूरी तरह नया भी नहीं, लेकिन यह sampling stage पर LLM inference improvement को फिर से सोचने पर मजबूर करता है
  • भले ही evaluation में अभी बड़ा लाभ साबित न हुआ हो, ऐसी inference-time techniques पर प्रयोग करना अपेक्षाकृत आसान है
  • यह open source hackers के लिए बिना बड़े बजट के inference improvement आज़माने की एक promising दिशा बन सकती है

1 टिप्पणियां

 
GN⁺ 2024-10-27
Hacker News की राय
  • कहा जाता है कि उनसे दो बार पूछा गया था, “Mr. Babbage, अगर मशीन में गलत संख्याएँ डाली जाएँ, तो क्या सही जवाब निकलेगा?”
    Charles Babbage ने कहा था कि वे ठीक से समझ नहीं पाए कि ऐसी बात पूछने के पीछे सोच की उलझन कैसी रही होगी

    • लोग सोचते हैं कि वे जानते हैं “AI” को क्या करना चाहिए, लेकिन जब वह उनकी अपेक्षा से अलग व्यवहार करता है, तो उसे खराब कहते हैं
    • यह पूरी तरह वाजिब सवाल है, और उल्टा ऐसा लगता है कि Babbage ने इसे समझा नहीं या जानबूझकर अनजान बने रहे
  • ऐसी sampling-आधारित तकनीकें उन दुर्लभ मामलों में से हैं जहाँ consumer hardware पर latest models को बेहतर बनाने की कोशिश की जा सकती है
    शायद यह ज्यादा लंबे समय तक नहीं चलेगा, और अंततः सीख सकने वाला sampler आ जाएगा, लेकिन अभी इसे भरपूर आजमाने लायक है: https://github.com/codelion/optillm
    optillm के authors को लगता है कि Entropics की extra computation, साधारण chain-of-thought decoding से बेहतर नतीजे नहीं देती। उन्होंने efficiency भी जाँची है या नहीं, पता नहीं: https://x.com/asankhaya/status/1846736390152949966
    LLM की कई समस्याएँ GSM Symbolic paper में दिखे semantic leakage या अप्रासंगिक जानकारी पर attention बंट जाने जैसी चीजों से आती लगती हैं, और शायद attention में सुधार की गुंजाइश भी दिखती है
    इससे जुड़े कुछ लेख भी लिखे हैं: https://zzbbyy.substack.com/p/semantic-leakage-quick-notes, https://zzbbyy.substack.com/p/llms-and-reasoning, https://zzbbyy.substack.com/p/o1-inference-time-turing-machi...

    • इन अलग-अलग sampling techniques की समस्या यह है कि लोग आम तौर पर उनका evaluation कैसे करते हैं
      कुछ लोग दावा करते हैं कि यह बेहतर काम करती हैं, लेकिन इसे साबित करने के लिए कोई rigorous benchmark नहीं है। बात “लिखाई बेहतर आती है”, “style fresh है” जैसी होती है, और मुझे लगता है LeCun इस हिस्से में 100% सही हैं। किसी general-purpose model को “कविता” या “गद्य” में अच्छा होने के आधार पर evaluate करना bias की परिभाषा जैसा है, और निजी किस्सों से खुद को ही कमजोर कर लेना है
      coding या math पर लागू किए गए नतीजे देखना चाहूँगा। मसलन, olympiad math problems में sampler बेहतर काम करता है या नहीं, इसका before/after अच्छी तरह benchmark किया जाना चाहिए
    • semantic leakage शायद बस model की कमजोरी हो सकती है, या यह उस दावे से जुड़ सकती है कि model “सच में” reasoning नहीं करता। ज्यादा training मदद कर सकती है
      या फिर यह attention mechanism की ज्यादा बुनियादी कमजोरी भी हो सकती है। अभी alternatives भी सामने आ रहे हैं
  • मुझे पूरी तरह समझ नहीं आ रहा कि यह project academic papers पर आधारित है या नहीं, यानी क्या यह LLM की uncertainty judge करने की कोई published technique इस्तेमाल करता है
    हाल के कामों में यह काफी related लगता है: https://learnandburn.ai/p/how-to-tell-if-an-llm-is-just-gues...
    यहाँ token logits की standard entropy से ज्यादा sophisticated semantic entropy का idea इस्तेमाल होता है, जो statistically quantify करने के लिए ज्यादा उपयुक्त है कि LLM guess कर रहा है या उसे high confidence है। original paper Oxford authors का Nature paper है

    • semantic entropy का core idea अच्छा है—output space की individual sequences के बजाय semantic-unit distribution की entropy estimate करना—लेकिन semantic units को output space के well-defined partition की तरह देखने में यह थोड़ा naive है
      इस approach को और generalize करने वाला research [1] भी है, जिसमें sampled outputs के बीच semantic equivalence की धारणा के आधार पर soft clustering की जाती है
      फिर भी एक बात ध्यान रखने लायक है। हमने हाल में LLM uncertainty estimation की state-of-the-art techniques का comprehensive benchmark करने वाला paper [2] निकाला है, और कई मामलों में meaning-aware methods बहुत अच्छा काम करती हैं, लेकिन दूसरे tasks में token distribution की average entropy जैसी simple baselines, complex techniques जैसी या उनसे बेहतर भी रहीं
      इसके अलावा हम एक open source Python library [3] भी develop कर रहे हैं, जो LLMs पर लागू की जा सकने वाली latest uncertainty estimation techniques implement करती है, estimation methods को benchmark करना और production में चल रहे models के outputs की uncertainty estimate करना आसान बनाती है
      [1] https://arxiv.org/abs/2307.01379
      [2] https://arxiv.org/abs/2406.15627
      [3] https://github.com/IINemo/lm-polygraph
    • यह इस anonymous Twitter account के काम पर आधारित है: https://x.com/_xjdr
      मैंने इसे काफी करीब से follow किया है, और यह दिलचस्प लगा कि छोटे models इस sampler में ज्यादा efficient हो सकते हैं। अगर रुचि हो तो posts पढ़ने लायक हैं, और इस तरह की sampling काफी मायने रखने वाला काम लगती है
    • मुझे नहीं लगता यह academic paper है। वजह यह है कि academia से उम्मीद होती कि वे token uncertainty और semantic uncertainty/semantic correctness के फर्क को बेहतर समझते, या दोनों के संबंध का दावा करने से पहले data-driven correlation establish करने की कोशिश करते
      जैसा कि मैंने दूसरे comment में भी लिखा, author शायद एक fundamental misunderstanding कर रहे हैं, और लेख के ऊपर दिए note को देखें तो इसी वजह से practical results न निकल पाए हों, ऐसा लगता है
      इसका मतलब उन्हें दोष देना या discourage करना नहीं है। हो सकता है उन्होंने कुछ पकड़ लिया हो, और ऐसी अनोखी approaches आजमाने लायक होती हैं। बस ऊपर बताई वजहों से अगर इसका positive effect नहीं है, तो यह paper बनकर आना मुश्किल होता; इसलिए इस approach पर academic paper न होना भी हैरानी की बात नहीं है
    • जहाँ तक मुझे पता है, यह academic paper नहीं है, और इसी वजह से मैं यह लिखना चाहता था। फिर भी इस project के ML Twitter पर कट्टर समर्थक और कट्टर विरोधी दोनों मौजूद हैं
    • यह बात LLM uncertainty में रुचि रखने वाले HN readers के लिए थी, और article/repository author से मैं यह देखना चाहूँगा कि यह वास्तव में uncertainty को कितनी अच्छी तरह identify करता है, इसके test results क्या हैं
  • जब entropy ज़्यादा हो, तो मॉडल के पास बच निकलने का रास्ता होना चाहिए, ऐसा मानता हूँ
    पूरे जवाब की certainty कम है, यह trigger होना चाहिए, और generation के दौरान certainty score जमा करके आखिर में user को यह देखने देना चाहिए कि जवाब की certainty बहुत खराब थी या नहीं। ऐसे जवाब को फेंक देने या “मुझे नहीं पता” से replace कर पाने की सुविधा होनी चाहिए

    • आम तौर पर इसे abstention या refusal कहा जाता है
      इस क्षेत्र में model uncertainty को quantify करने के अलग-अलग तरीकों की तुलना करते समय अक्सर refusal verification किया जाता है। मूल रूप से, uncertainty ज़्यादा वाले data points को लगातार reject करते हुए देखा जाता है कि बचे हुए outputs की average quality कैसे बढ़ती है। अच्छा uncertainty estimate output quality से strongly correlated होना चाहिए, इसलिए low-uncertainty outputs की average quality ज़्यादा होनी चाहिए
      हाल के LLM uncertainty estimation approaches benchmark [1] में भी ठीक यही तरीका इस्तेमाल किया गया, और ऐसे benchmarks को संभव बनाने वाली open-source library [2] भी develop हो रही है। किसी specific model output के लिए uncertainty score भी बनाया जा सकता है, इसलिए इसे industry में applications में integrate भी किया जा सकता है
      [1] https://arxiv.org/abs/2406.15627
      [2] https://github.com/IINemo/lm-polygraph
    • समस्या यह है कि deep neural network classifiers आम तौर पर default state में statistically well-calibrated नहीं होते
      इसलिए entropy ज़्यादा होने पर कई बार यह “confidence नहीं है” का signal होता है, लेकिन model बहुत बार confidently गलत भी हो सकता है। इसलिए logit entropy को reliability का indicator मानना आसानी से बहुत misleading हो सकता है
      मैं LLM expert नहीं हूँ; यह सामान्य classifiers की समझ के आधार पर मेरा विचार है। अगर data पर्याप्त हो तो क्या यह consideration अब लागू नहीं रहता, यह जानने की उत्सुकता है
    • Entropix ऐसा करने के लिए framework देता है। इसकी structure में current state detect करने के बाद sampler settings adjust की जाती हैं या पूरी तरह नई sampling strategy पर switch किया जाता है
      इसे refusal answer की दिशा में काफ़ी push करने वाला experiment भी किया जा सकता है, और मैं खुद करके देखने की सलाह दूँगा। smollm-entropix repository [1] ने पूरा implementation Jupyter notebook में किया है, इसलिए ideas test करना आसान है
      [1]: https://github.com/SinatrasC/entropix-smollm
    • vocabulary में काफ़ी extra tokens जुड़ने की संभावना लगभग तय लगती है। सिर्फ thinking tokens जैसी चीज़ें ही नहीं, बल्कि “पता नहीं” tokens भी संभव हैं, और कई sophisticated decoding strategies भी आएंगी। ज़रूरत data generate करने की है
    • नए Claude Sonnet 3.5 ने मेरे अनुभव में कुछ हद तक ऐसा किया है
  • आधुनिक बड़े GPT token vocabulary पूरी की तरफ़ एक विशाल classifier के logits output करते हैं
    ये किसी space में होते हैं, और न सिर्फ़ ऐसे manifold की कल्पना की जा सकती है जिसमें non-trivial convexity properties हों, बल्कि इसे empirically compute भी किया जा सकता है। किस LLM ने कौन-सा text लिखा, यह पहचानने की समस्या, किसी खास tone में लिखने का instruction दिए जाने के मामलों सहित, well-defined है या practically solved problem के काफ़ी करीब है
    यह सिर्फ़ research में रहा problem ही नहीं था, बल्कि ऐसा field था जहाँ तेज़ और impressive progress हो रही थी, लेकिन किसी point पर इसे बस बंद कर दिया गया
    इस field में सबसे अच्छा बनना बहुत बड़ा business है। और यह बिल्कुल वही तरह का काम है जो startup को करना चाहिए। वजह यह है कि पैसे वाले incumbents का competitor बनकर आना मुश्किल है—इसलिए नहीं कि वे market को ignore करते हैं, बल्कि इसलिए कि वे actively नहीं चाहते कि यह market exist करे

    • यह क्यों useful है, थोड़ा और समझा सकते हैं? सिर्फ़ explanation सुनकर लगता है कि requests का बड़ा हिस्सा output को इतना बदल देगा कि किसी specific LLM की detection रुक जाए। साथ ही नए LLMs द्वारा synthetic/generated data का ज़्यादा इस्तेमाल भी काफ़ी बड़ा variable बना देगा
  • समझाने का यह तरीका लगभग maze-search algorithm जैसा लगता है। यहाँ compute time का मतलब है “यह possible solution है या नहीं, इसे test करने के लिए किसी path पर कितनी गहराई तक जाना है”
    सोच रहा हूँ कि क्या और similarities भी हो सकती हैं। जैसे क्या कोई maze-solving algorithm है जिसे LLM पर apply किया जा सके?

    • sequence पूरे की joint probability सबसे ज़्यादा वाली चीज़ खोजने के लिए sequentially sample करना साफ़ तौर पर search problem है। इसलिए beam search जैसे algorithms sampling में अक्सर इस्तेमाल होते हैं
    • LLM decoding को navigation perspective से देखने वाला सवाल, हालांकि दूसरे angle से, इस Reddit post में भी पूछा गया था: https://www.reddit.com/r/MachineLearning/comments/1dw2pqo/d_...
    • सही है, यह और research की गुंजाइश वाला area लगता है
      सच कहूँ तो यह Bitter Lesson(http://www.incompleteideas.net/IncIdeas/BitterLesson.html) के उल्टी दिशा में है। वह lesson chess में maze search को बहुत ज़्यादा sophisticated तरीके से handle करने से भी निकला था। लेकिन अभी LLM scale पर ऐसी improvements valuable हो सकती हैं
  • जब भी मैं ऐसे संभावित optimizations के बारे में पढ़ता हूं, तो समझना मुश्किल होता है कि लोग LLMs पर इतने कम supervision के साथ कैसे भरोसा करके इस्तेमाल कर लेते हैं
    क्या वे सचमुच मानते हैं कि LLM इस्तेमाल करने वाले “AI” products कंप्यूटर को control करने या सही code लिखने के लिए पर्याप्त सक्षम हैं? design के हिसाब से क्या सब कुछ “hallucination” या अनुमान नहीं है? क्या इसे सच में पार किया जा सकता है?

    • मैंने ChatGPT और Python से अपनी कंपनी के production test system में इस्तेमाल होने वाले कुछ programs लिखवाए हैं या उनकी निगरानी की है
      ये programs machine को actions भेजते हैं, results/errors/outputs को query करते हैं, उन्हें .csv में save करते हैं और फिर अच्छी तरह formatted Excel file में बदलते हैं. किसी खास test में technician को कैसे connect करना है, यह दिखाने वाली start guide भी देते हैं
      मैं programmer नहीं हूं, और हमारी company में भी कोई programmer नहीं है. फिर भी इसने बिल्कुल वैसा code लिखा जो मैंने मांगा था. development के दौरान code कहीं अटकता तो मैं उसे फिर ChatGPT में डालकर solve करवाता, और आखिरकार सब solve हो गया. इसमें करीब एक दिन लगा; अगर मैं करता तो एक महीना लगता, और outsource करने पर 10,000 डॉलर और एक हफ्ता लगता
      LLMs ऊंची salary वाले advanced programming projects के लिए खराब हो सकते हैं. लेकिन उन लोगों के लिए वरदान हैं जिन्हें computer से कुछ करवाना है, पर computer को क्या करना है बताने वाली language barrier पार नहीं कर पाते
    • इंसान इसे कैसे पार करते हैं? थोड़ा सोचें तो आप इस नतीजे पर पहुंचेंगे कि LLMs हर तरह के कामों में इस्तेमाल हो सकते हैं. उदाहरण के लिए, इंसान भी code लिखकर उसे सीधे production environment में push नहीं कर देते
    • बिल्कुल भरोसा है. यह कोई hypothetical सवाल नहीं है. मेरे code का लगभग पूरा हिस्सा Claude 3.5 Sonnet ने लिखा है
      यह मेरे आम तौर पर लिखे जाने वाले code से कहीं ज्यादा robust और accurate है. मैं 20 साल से programming कर रहा हूं
    • मुझे ऐसा नहीं लगता. लेकिन इंसान emotions हों या पैसा, जब बहुत ज्यादा invest कर देते हैं तो आसानी से पीछे नहीं हटते, बल्कि सब कुछ दांव पर लगा देते हैं
      यह बस एक और hype है. Client/Server, Industry 4.0, Machine Learning, Microservices, Cloud, Crypto की तरह
  • क्या किसी ने experiment किया है कि अगर model को कभी uncertain होने ही न दिया जाए तो output कैसा होता है?
    जैसे हर बार certainty threshold से नीचे गिरते ही sampler वापस जाए और कोई दूसरा token चुने. आखिर में हर single token threshold से ऊपर certainty वाला होगा
    इससे unwanted outputs पूरी तरह खत्म नहीं होंगे, लेकिन interesting होगा

    • फिर क्या वह बिल्कुल जवाब ही नहीं दे पाएगा?
      या फिर “मुझे नहीं पता” को पूरी confidence के साथ कह सकता है
    • पहले लगभग deterministic quote जैसे outputs आते थे, लेकिन फिर भी floating-point error से प्रभावित होते थे
  • language models की sampling strategies अरबों तरह की हैं
    समस्या यह है कि empirically दिखाना बहुत मुश्किल है कि कोई sampling strategy standard top-k या top-p sampling से बेहतर है. सिर्फ perplexity minimize करना किसी method की superiority साबित करने के लिए पर्याप्त नहीं है. blog post में सुझाई गई strategy में भी वही समस्या है. theoretically plausible है, लेकिन practically unverified innovation है

    • proof जरूरी ही हो ऐसा नहीं है
      “बेहतर” क्या है यह साफ कहना मुश्किल है, और preference data जैसी चीजें collect करने की cost बड़ी है, इसलिए proof मुश्किल है
      बहुत सारे samples देखने के बाद common sense से कहा जा सकता है कि “X optimize करना हो तो यह तरीका बेहतर काम करता लगता है”
  • LLM answers की limitations “uncertainty” के एक dimension से कहीं ज्यादा dimensions रखती हैं
    जैसे “question/sentence का कोई मतलब नहीं है”, “answer देने के लिए information पर्याप्त नहीं है”, “expert consensus यह है कि ‘कोई सच में नहीं जान सकता’ जैसी information मौजूद है” आदि
    इंसानों की tendency है कि दिए गए question का answer देना मुश्किल क्यों है, इसे सिर्फ uncertainty की समस्या में reduce कर दें, और इसलिए LLM answer को भी केवल एक single uncertainty level वाला मानें. लेकिन यह anthropomorphism है
    AI images, और उससे पहले photography ने दिखाया था कि images नए और अनसोचे तरीकों से गलत हो सकती हैं—ऐसे तरीके जो असली जैसे लगते हैं पर गलत होते हैं. AI language interactions भी और subtle तरीके से यही करती हैं

    • सही. लेकिन अगर यह detect किया जा सके कि वह ऐसी किसी state में गया है, तो पीछे जाकर देखा जा सकता है कि वह exactly कौन-सी state है
      अब तक यह मुख्यतः reinforcement learning से किया गया है, लेकिन inference time पर पकड़कर handle करने का तरीका भी explore करने लायक लगता है. open source के लिए यह कहीं ज्यादा accessible भी है. ऐसा reinforcement learning सिर्फ बड़े ML labs ही कर सकते हैं
    • model की inaccuracies को hallucination कहना भी उतना ही anthropomorphic expression है
      मुझे लगता है anthropomorphism LLM marketing strategy का हिस्सा है
    • यह सही है कि uncertainty काफी loosely defined term है. आम तौर पर इसे model output किसी मायने में सही होने की probability के proxy के रूप में इस्तेमाल किया जाता है
      uncertainty को कई “flavors” में भी तोड़ा जा सकता है. सबसे सरल और अक्सर चर्चा किया जाने वाला breakdown aleatoric uncertainty और epistemic uncertainty है. epistemic uncertainty, या model-based uncertainty, आम तौर पर उस स्थिति को कहती है जब model को ऐसी type की input मिलती है जो उसने पहले नहीं देखी, और वह खराब output देता है—ऐसी situation जहां उससे सही handle करने की उम्मीद करना मुश्किल है. दूसरी ओर aleatoric uncertainty data में ही inherent होती है; task की natural ambiguity या noisy labeling के बारे में सोचें
      uncertainty estimation के field में इन अलग-अलग प्रकार की uncertainties को quantify करने के methods develop करने में काफी interest है, और अलग-अलग methods इनमें से किसी एक के प्रति ज्यादा sensitive हो सकते हैं
    • data structure करने के लिए LLMs का मेरा use case इससे गहराई से related लगता है. data के हर piece के लिए मुझे ठीक-ठीक अच्छा uncertainty indicator चाहिए
    • क्या वे भी अलग-अलग तरह की uncertainty नहीं हैं?