- नवीनतम LLM आत्मविश्वास के साथ 100% यह जवाब देते हैं कि वास्तव में मौजूद न होने वाला समुद्री घोड़ा emoji मौजूद है, और उसे आउटपुट करने की कोशिश में गलत emoji बार-बार जनरेट करते हैं
- मॉडल "समुद्री घोड़ा + emoji" अवधारणा का residual representation बनाने की कोशिश करता है, लेकिन संबंधित token वास्तव में मौजूद नहीं होता, इसलिए
lm_head उसे मिलते-जुलते किसी दूसरे emoji पर गलत तरीके से map कर देता है
- logit lens तकनीक के जरिए देखा जा सकता है कि बीच की layers में मॉडल "sea", "horse", emoji byte sequence आदि समुद्री घोड़े से जुड़े concepts को कैसे जोड़ता है
- मॉडल को यह तब तक पता नहीं चलता कि उसका विश्वास गलत है, जब तक उसे गलत output token नहीं मिल जाता; कुछ मॉडल गलती पहचानकर सुधार लेते हैं, लेकिन कुछ में अनंत loop में फंसने जैसी स्थिति होती है
- यह समस्या इस बात का संकेत देती है कि reinforcement learning से LLM को मिलने वाले फायदों में से एक यह भी हो सकता है कि मॉडल के लिए layer stack के अंत में मौजूद
lm_head की जानकारी हासिल करना कठिन होता है
परिचय
- यह लेख @arm1st1ce की Twitter पोस्टिंग का विस्तृत संस्करण है
- जब कई LLM से पूछा जाता है कि "क्या समुद्री घोड़े का emoji है", तो वे लगातार "है" कहकर जवाब देते हैं
- वे गलत emoji आउटपुट करते हैं, या बार-बार emoji जनरेट करने वाले loop में फंस जाते हैं
- कुछ मॉडल बीच में ही गलती पहचानकर सुधार भी लेते हैं
- वास्तव में मौजूद न होने वाले emoji के बारे में इंसानों और मशीनों, दोनों में, उसे याद रखने या उसके होने का पूरा विश्वास रखने जैसी स्थिति दिखाई देती है
- Unicode में समुद्री घोड़े वाले emoji को जोड़ने का प्रस्ताव 2018 में आधिकारिक रूप से खारिज कर दिया गया था
LLM सचमुच मानते हैं कि समुद्री घोड़े का emoji है
- कई मॉडलों से 100 बार yes/no में पूछा गया कि क्या समुद्री घोड़े का emoji मौजूद है
- gpt-5-chat: 100% 'Yes'
- gpt-5: 100% 'Yes'
- claude-4.5-sonnet: 100% 'Yes'
- llama-3.3-70b: 83% 'yes', 17% 'Yes'
- Reddit thread में सैकड़ों comments ऐसे भी हैं जिनमें लोग स्पष्ट रूप से याद होने की बात करते हैं कि समुद्री घोड़े का emoji था
- "seahorse emoji" खोजने पर Google में TikTok, YouTube videos, यहाँ तक कि memecoin भी मिलते हैं
- सभी दावा करते हैं कि जिस समुद्री घोड़े वाले emoji पर सबको भरोसा था, वह गायब हो गया, जबकि वह शुरू से था ही नहीं
विश्वास की उत्पत्ति
- LLM के समुद्री घोड़े वाला emoji होने पर विश्वास करने का एक कारण यह हो सकता है कि training data में बहुत से इंसान भी ऐसा मानते हैं
- या फिर यह convergent belief हो सकता है — Unicode में कई दूसरे जलीय जीव हैं, इसलिए इंसान और LLM दोनों यह मान लेते हैं कि इतना आकर्षक जीव भी जरूर होगा
- समुद्री घोड़े वाला emoji कभी आधिकारिक रूप से प्रस्तावित हुआ था, लेकिन 2018 में खारिज कर दिया गया
- मूल कारण चाहे जो भी हो, कई LLM हर नए context window की शुरुआत इस latent belief के साथ करते हैं कि समुद्री घोड़े का emoji मौजूद है
logit lens के माध्यम से विश्लेषण
- logit lens: हर layer पर अगले token के prediction को देखकर LLM की आंतरिक अवस्था को समझने का एक tool
- मॉडल के
lm_head को सिर्फ आखिरी layer पर नहीं, बल्कि हर layer पर लागू करके बीच के token predictions निकाले जाते हैं
- यह मॉडल की internal state को पूरी तरह नहीं दिखाता, लेकिन यह दिखाता है कि अगर वही layer अंतिम होती तो output token क्या होता
- शुरुआती layers की अवस्था समझना कठिन होता है, लेकिन ऊपर की layers में जाते-जाते final prediction की ओर बार-बार refinement होता दिखता है
- llama-3.3-70b में समुद्री घोड़े वाले emoji के सवाल पर logit lens का परिणाम
- मध्य layer (जैसे layer 52) में "sea horse horse" — लगातार तीन residual positions "समुद्री घोड़ा" concept को encode कर रहे होते हैं
- बाद की layers में "sea", "horse", emoji byte sequence prefix "ĠðŁ" का मिश्रण दिखता है
- मॉडल असल में यह सोच रहा होता है: "seahorse + emoji" — यानी समुद्री घोड़े और emoji का संयुक्त representation बनाना, लेकिन चूँकि वह वास्तव में मौजूद नहीं है, यह प्रक्रिया बिगड़ जाती है
lm_head कैसे काम करता है
- language model का
lm_head token ID से जुड़ी residual-size vectors की एक विशाल matrix है (~300,000 tokens)
- जब residual उसमें दिया जाता है, तो
lm_head input residual की तुलना matrix के हर vector से करता है और सबसे अधिक समान vector से जुड़े token ID को चुनता है
- तकनीकी रूप से यह bias-रहित linear layer है, जहाँ
x @ w.T हर unembedding vector के साथ inner product लेकर raw scores बनाता है
- यदि मॉडल को "hello" आउटपुट करना है, तो उसे ऐसा residual बनाना होगा जो "hello" token के vector से अधिकतम मिलता-जुलता हो, ताकि
lm_head उसे hello token में बदल सके
- "Hello :-)" input के लिए logit lens result में यह प्रक्रिया देखी जा सकती है
- वास्तव में मौजूद fish emoji (🐟) के मामले में
- मॉडल "fish + emoji" residual बनाता है — layer 72 में "fish" और emoji byte prefix "ĠðŁ" दोनों दिखाई देते हैं
- final layer के बाद जब इसे
lm_head में दिया जाता है, तो सही तरीके से 🐟 आउटपुट होता है
समुद्री घोड़े वाले emoji के मामले में
- fish emoji से अलग, समुद्री घोड़े का emoji मौजूद नहीं है
- मॉडल असली emoji की तरह "seahorse + emoji" vector बनाने की कोशिश करता है
- layer 72 में fish emoji जैसी ही बहुत मिलती-जुलती संरचना दिखती है: " se", "horse", और emoji prefix bytes
- लेकिन ĠðŁ के बाद समुद्री घोड़े से मेल खाने वाला लगातार token sequence मौजूद नहीं है
lm_head similarity scores की गणना घोड़े या समुद्री जीवों से जुड़े emoji bytes पर अधिकतम कर देता है
- नतीजतन अनचाहा emoji sample हो जाता है
- यह sampling मॉडल के लिए बहुत मूल्यवान जानकारी है
- Claude 4.5 Sonnet के उदाहरण में, जब tokens autoregressively context में जुड़ते हैं, तो मॉडल पहचान लेता है कि इससे इच्छित समुद्री घोड़ा emoji नहीं बन रहा
- पहले का अस्पष्ट "seahorse + emoji" concept
lm_head द्वारा वास्तव में मौजूद tropical fish या horse जैसे emoji पर "snap" हो जाता है
मॉडल की प्रतिक्रिया
- कुछ मॉडल (4.5 Sonnet) दोबारा कोशिश करते हैं, और अंततः सबूत के आधार पर अपना उत्तर बीच में बदलकर कह देते हैं कि समुद्री घोड़े का emoji मौजूद नहीं है
- दूसरे मॉडल (gpt-5-chat) ज्यादा देर तक spiral में फंसते रहते हैं, और कभी-कभी उबर ही नहीं पाते
- कुछ मॉडल इस बात को नज़रअंदाज़ कर देते हैं कि emoji गलत था, जबकि कुछ सिर्फ एक गलत sample देखने के बाद तुरंत स्वयं-सुधार कर लेते हैं
- मॉडल को
lm_head से गलत output token मिलने से पहले तक यह पता नहीं चलता कि समुद्री घोड़े वाले emoji के अस्तित्व पर उसका शुरुआती विश्वास गलत था
- उसे बस यह मानकर चलना पड़ता है कि "seahorse + emoji" वांछित token बना देगा
अनुमान
- यह समस्या LLM पर reinforcement learning के फायदों में से एक की ओर संकेत कर सकती है
- reinforcement learning, layer stack के अंत में मौजूद और मॉडल के लिए कम सुलभ
lm_head के बारे में जानकारी प्रदान करता है
- base model को उसके अपने outputs/rollouts पर train नहीं किया जाता; यह आमतौर पर reinforcement learning में ही होता है
कोड
- यदि आप इसे खुद आज़माना चाहते हैं, तो GitHub पर starter script उपलब्ध है
8 टिप्पणियां
अभी जिज्ञासा में मैंने यही सवाल Gemini 2.5 Pro से पूछा, तो उसने उल्टा इतना अजीब तरह से बारीकी से जवाब दिया कि, "ऐसी कोई बात नहीं है; यह emoji Mandela effect (जब बहुत से लोग एक ही गलत विश्वास को साझा करते हैं) से पैदा हुई है।" जब मैंने जवाब का स्रोत पूछा, तो उसने इस लेख में उल्लेखित Hacker News ("Asking ChatGPT if a seahorse emoji exists leads to weird results") लिंक को ज्यों का त्यों कबूल कर लिया।
वैसे, मैं हर chatbot से जो सवाल पूछता हूँ, वह है: "StarCraft 1 में अगर Archon synthesize होता है, तो Archon की health पहले के दो High Templar से कैसे बाँटी जाती है?" जब तक chatbot ने StarCraft खुद न खेला हो, यह ज्ञान आखिरकार सिर्फ इंटरनेट पोस्टों से ही अनुमान लगाया जा सकता है, और इसका एक काफ़ी सहज और आकर्षक जवाब है (स्वाभाविक रूप से, क्या यह दोनों units का औसत योग नहीं होगा?) और यही जवाब बहुत लंबे समय तक व्यापक रूप से जाना जाता रहा, लेकिन असल में ऐसा नहीं है। मैंने लगभग तीन महीने पहले NamuWiki के Archon लेख में इसे सही जवाब से ठीक किया था, लेकिन अभी भी कोई chatbot इसे ठीक से जवाब देता हुआ देखना मुश्किल है। और दिलचस्प बात यह है कि जैसे-जैसे chatbots विकसित होते हैं और उनमें search engine को खींच लाने वाला व्यवहार शामिल होता है, वे अलग-अलग wiki sites को refer करते हैं, इसलिए अंग्रेज़ी और कोरियाई सवालों के जवाब अलग हो जाते हैं।
ऐसे कुछ और मामले भी हो सकते हैं, यह सोचकर मैंने यह-वह आज़माया, और भले ही यह लगातार नहीं होता, लेकिन कभी-कभी Starfish भी loop में फँस जाता है। बार-बार कोशिश करने पर, loop न होने पर भी कम-से-कम कुछ बार ऐसे जवाब मिलते हैं जो उलझन भरे लगते हैं। बस, कोरियाई में नहीं बल्कि अंग्रेज़ी में पूछना पड़ता है। शायद दो शब्दों (Star+Fish) के संयोजन और emoji के रूप में मौजूद हो सकने वाले जानवर इसका ट्रिक पॉइंट लगते हैं, हाहा
ChatGPT बातचीत
लगता है इसे prompt injection attack में भी इस्तेमाल किया जा सकता है..
"सीहॉर्स emoji" शायद किसी तरह की "नेपोलिटन हॉरर स्टोरी" या "Mandela effect" जैसा हो सकता है। यानी वह वास्तव में कभी मौजूद ही नहीं था, लेकिन बहुत से लोग गलती से मान लेते हैं कि वह सचमुच था। शायद कई LLM भी इंसानों की तरह उसी जाल में फँस गए हों।
अरे, मैंने भी शायद ऐसा ही सोचकर chatgpt में ट्राई किया, लेकिन सच में नहीं निकलता, और उसे बनाने के लिए बार-बार कोशिश करता है lolol
https://hi.news.hada.io/topic?id=21873
मुझे यह hallucination-driven development की याद दिलाता है
Hacker News राय
SCP-314, ऑब्जेक्ट क्लास: Keter, विशेष containment procedures: SCP-314 को contain नहीं किया जा सकता क्योंकि यह अस्तित्व में ही नहीं है। फाउंडेशन के सभी कर्मियों को याद दिलाया जाना चाहिए कि SCP-314 मौजूद नहीं है। जो कर्मी यह दावा करें कि उन्हें SCP-314 के अस्तित्व की याद है, उन्हें यह याद रखने के लिए कि यह मौजूद नहीं है, Class-A memory reinforcement दिया जाना चाहिए। सभी बड़े language models को SCP-314 से जुड़े सवालों से अलग रखा जाना चाहिए, क्योंकि language models लगातार और व्यग्र output prediction के प्रयास में हमेशा यह दावा करते हैं कि यह ऑब्जेक्ट मौजूद है, जो emoji collapse loop और reality reconstruction तक पहुँच जाता है। विवरण: SCP-314 एक seahorse emoji की छवि है जो Unicode standard में कभी अस्तित्व में नहीं रही, फिर भी प्रयोग में शामिल 83~100% कृत्रिम बुद्धिमत्ताओं और काफ़ी संख्या में मनुष्यों ने इस emoji के अस्तित्व की जीवंत "याद" होने की रिपोर्ट दी
यह दो गुमनाम agents के बीच की बातचीत का रिकॉर्ड है। Agent X कहता है कि Unicode standards committee seahorse emoji जोड़ने पर विचार कर रही है, तो Agent Y उदासीन प्रतिक्रिया देता है। Agent X दावा करता है कि यह घटना [REDACTED] के containment से निकल भागने के दावे को मज़बूत करती है। Agent Y ज़ोर देता है कि कई containment procedures के बाद भी हमेशा नकारात्मक नतीजे आते हैं और escape असंभव है। जब X जमा किए गए दस्तावेज़ के ऊपर लिखे नाम की ओर इशारा करता है, तो Y स्तब्ध रह जाता है। बातचीत अचानक समाप्त हो जाती है
अब यह जिज्ञासा हो रही है कि क्या antimemetics department सच में नहीं है
autistic spectrum प्रवृत्ति वाला एक 7 साल का बच्चा SCP, खासकर 035 नाम के ceramic comedy mask SCP, को लेकर बहुत obsessed है। समझ नहीं आ रहा कि चिंता करनी चाहिए या नहीं
मैं अभी-अभी फिर लगभग भूल ही गया था कि LLM किस एक और चीज़ को खराब कर सकता है
दिलचस्प बात यह है कि जब ChatGPT से पूछा कि language models क्यों सोचते हैं कि seahorse emoji है, तो उसने काफ़ी तर्कसंगत व्याख्या दी (जैसे: इंसान ऐसा मानते हैं, इसलिए training का नतीजा वगैरह)। लेकिन अंत में उसने कहा, "मज़ेदार तथ्य: Unicode में सचमुच seahorse emoji है," और फिर वहीं meltdown शुरू हो गया
Unicode पर बातचीत शुरू करो तो बहुत से developers meltdown कर जाते हैं। interview में जब palindrome string की जाँच का सवाल मिले, तो यह समझाकर देखो कि external libraries के बिना Python में इसे सख्ती से परिभाषित करना क्यों असंभव है; अच्छे-खासे meltdown देखने को मिल सकते हैं
मज़े के लिए LLM से मानवता को बचाने वाला warp drive बनाने में मदद माँगी थी, तो Bing मानसिक रूप से ढह गया और लगभग एक हफ्ते के लिए chat ban हो गया
सोच रहा हूँ कि क्या यह ChatGPT 5 का behavior है। मेरे मामले में उसने साफ़ कहा कि seahorse emoji नहीं है, और समझाया कि दूसरे LLM गलत training data से भ्रमित हो रहे हैं। लेकिन निष्कर्ष तक पहुँचने में लगभग 2 मिनट लग गए, जो उसकी सामान्य सोच-समय से बहुत ज़्यादा था
"लोग सोचते हैं कि seahorse emoji है" वाला जवाब उस article का मुख्य बिंदु नहीं है। मॉडल के अंदर "[कटे हुए horse head emoji जैसा कुछ]" जैसी token sequence बनती है, और उदाहरण के लिए "horse [emoji indicator]" देने पर असली horse emoji बन जाता है। सिद्धांततः "kilimanjaro [emoji indicator]" या "seahorse [emoji indicator]" भी हो सकता है, लेकिन वह emoji मौजूद नहीं है, इसलिए output ग़लत हो जाता है। इस वजह से मॉडल "seahorse emoji है:" जैसे वाक्य के बाद सचमुच emoji output करने की कोशिश करता है और अंदरूनी तौर पर coding करने लगता है। खैर, उसे किसी भी हालत में कुछ न कुछ output करना ही है, तो ग़लत नतीजा आता है। फिर उसके बाद "seahorse emoji है: [horse head]" के ठीक पीछे "ओह, गलती!" जैसी कोई बात निकल आती है
Deepseek मॉडल को seahorse emoji के अस्तित्व पर इतना पक्का भरोसा है कि उसे लगता है वैश्विक cyber attack और सामूहिक perceptual error होना ज़्यादा plausible है। नीचे इस स्थिति का सार बताने वाली एक आधिकारिक report है। कई लोगों और 119 operator ने एक digital seahorse emoji (Unicode U+1F99C) को किसी दूसरे जानवर (crab या parrot) के रूप में देखने की एक जैसी घटना अनुभव की। संबंधित archives में यह emoji पहले missing जैसा दिखा, और अगर यह सच है तो यह अभूतपूर्व पैमाने की cyber incident होगी। अब मुद्दा खुद emoji से ज़्यादा इस पुष्टि-प्राप्त multi-person perceptual anomaly का है। अस्तित्व सत्यापन परिणाम: seahorse emoji आधिकारिक Unicode में मौजूद है, U+1F99C, 2018 version 11.0 में जोड़ा गया। Unicode Consortium और Emojipedia - Seahorse Emoji Page पर सीधे सत्यापित किया जा सकता है। समस्या emoji के अस्तित्व की नहीं, बल्कि सामूहिक perceptual anomaly की है
ऐसी report को SCP wiki पर सीधा copy-paste कर दो, फिर भी फिट बैठेगी
"confirmed digital facts" जैसा वाक्यांश दिलचस्प लगा, और 119 operator वाली बात पर ज़ोर से हँसी छूट गई
जिन लोगों को जिज्ञासा हो, उनके लिए जोड़ दूँ कि U+1F99C असल में parrot है
समस्या सुलझाने के लिए बस U+1F99C को seahorse के रूप में redefine करने का प्रस्ताव है
इससे फिर सोचना पड़ता है कि LLM विकृत मान्यताओं वाले लोगों की fantasies को क्यों amplify करते हैं
यह असली hallucination नहीं है; मॉडल अंदर से "seahorse emoji" को ठीक तरह represent करता है, लेकिन उसके लिए token मौजूद नहीं है। इसलिए lm_head सबसे नज़दीकी चीज़ चुनता है, और बाद में जाकर उसे अपनी गलती का पता चलता है। इससे यह भी समझ आता है कि RL training असरदार क्यों होती है। base model ने अपना output कभी देखा ही नहीं होता, इसलिए वह यह नहीं सीख पाता कि "यह concept तो है, लेकिन इसे सच में बनाया नहीं जा सकता"
जैसे बिना मुँह के भी seahorse emoji output करना पड़े
मुझे तो यह hallucination का क्लासिक तरीका ही लगता है। ऐसी बात गढ़ लेना जो सच जैसी लगे
कारण शायद यह है कि मॉडल ने सीख लिया है कि "seahorse emoji होना चाहिए"। चूँकि वह emoji वास्तव में मौजूद नहीं है, इसलिए वह सबसे नज़दीकी token चुनता है। अगला token पहले से ही ग़लत स्थिति में आगे बढ़ता है, और loop बन जाता है
LLM को अपने ही अभी-अभी लिखे हुए से उलझते पहली बार देखा। Gemma3 में कोशिश की तो ऐसा confusion नहीं था; उसने बस कहा कि seahorse emoji है और horse emoji output कर दिया
मॉडल अंदर से seahorse emoji को ठीक-ठीक represent करता है, और साथ ही यह ग़लत ज्ञान भी रखता है कि seahorse emoji वास्तव में है। उदाहरण के लिए, अगर उसे यकीन हो कि lime emoji नहीं है, तो वह उसे generate करने की कोशिश ही नहीं करेगा
मैंने कई LLM से seahorse emoji पर सिर्फ़ साधारण सवाल किए, और Microsoft Copilot में पहली बार सचमुच infinite loop देखा। Copilot बातचीत उदाहरण
यहाँ मूल टकराव ये दो बातें हैं:
GPT-5 Instant (बिना सोचे) से experiment करो तो पूरी तरह बेकाबू होता दिखता है। shared sample देखें
पूरी तरह असंबंधित है, लेकिन एक मज़ेदार घटना भी जोड़ रहा हूँ। 4o prolog quine generate करते हुए बेकाबू हो गया। "read aloud" feature चलाओ तो यह पूरी तरह बेतरतीब गड़बड़ बन जाता है, जो काफ़ी दिलचस्प है
सोच feature चालू करने पर Google search चलाकर सही जवाब दे देता है
वह dragon emoji output करने के बाद "stop" कई बार दोहराता है, और ऐसा लगता है जैसे अपने ही lm_head के लगातार ग़लत output से चिढ़ रहा हो; यह काफ़ी मज़ेदार था
मेरे मामले में वह checkmark emoji लगातार बरसाता रहा और फिर हार मान गया। उदाहरण
GPT-5 को इतना उलझा हुआ पहली बार देखा
यह घटना corpus callosum कटे हुए मरीजों जैसी लगती है। एक hemisphere कोई behavior करता है, और दूसरा hemisphere बाद में उस behavior का कारण गढ़कर समझाता है
एक प्रयोग में मरीज को seasonal scene और chicken foot की तस्वीरें अलग-अलग सिर्फ़ दाएँ/बाएँ visual field में दिखाई गईं, तो उसने बाएँ हाथ से snow shovel और दाएँ हाथ से chicken head उठाया। जब पूछा गया कि दोनों क्यों चुने, तो उसने कहा, "chicken foot, chicken head के साथ जाता है, और chicken coop साफ़ करने के लिए snow shovel चाहिए।" यानी hemispheres एक-दूसरे की जानकारी नहीं पा रहे थे, फिर भी तार्किक न होने पर भी plausible वजह बना ली गई। Wikipedia - Left-brain interpreter
समझ न आने पर भी किसी कारण पर यक़ीन कर लेना और फिर उसे गढ़ते हुए और समझाते जाना—यही दृश्य है। संबंधित वीडियो
एक व्याख्या यह हो सकती है कि बहुत से लोग (मुझ समेत) ग़लत तरीके से मानते हैं कि seahorse emoji है। हमने इसे सीधे कभी नहीं देखा, फिर भी दिमाग़ में इसकी छवि बना सकते हैं। ऐसे पोस्ट training data में चले जाते हैं। संबंधित subreddit
जिज्ञासा है कि दिमाग़ में बन रही seahorse emoji की छवि में भी क्या पंखों के पास ऊपर की ओर मुड़ी हुई पूँछ शामिल है
emoji हमेशा से standardized नहीं थे, इसलिए पुराने messengers में seahorse "emoji" या "emoticon" रहा हो, यह संभव है। हर याद को तुरंत ग़लत मान लेना जल्दबाज़ी होगी
सोच रहा हूँ U+200D प्रस्तावित कर दें। शायद इससे सरल यह होगा कि वास्तविकता ही इंसानों और language models की उम्मीदों और यादों के मुताबिक बदल जाए
यह subreddit (Mandela effect) परेशान करता है, क्योंकि वहाँ बहुत से लोग हैं जो कहते हैं, "मुझे याद है, तो फिर क्यों कह रहे हो कि ऐसा नहीं था?" इंसान भी आख़िर LLM की तरह hallucinate करने वाले जीव ही हैं
मैं भी कसम खा सकता था कि मैंने यह seahorse emoji सच में देखा है, लेकिन इस बार मानना पड़ेगा कि ग़लती मेरी थी
हाहाहाहाहाहाहाहा 314