LLM से inference करना सीखना
(openai.com)- दिए गए cipher decryption उदाहरण में
oyfjdnisdr rtqwainr acxz mynzbhhxको “Think step by step” बनाने वाले नियम को ढूंढकर, नए वाक्य पर उसी inference प्रक्रिया को लागू करना है - मुख्य संकेत यह है कि cipher text का हर शब्द plain text की तुलना में ठीक 2 गुना लंबा है, इसलिए cipher text को दो-दो अक्षरों के समूह में बांटकर एक अक्षर में बदला जा सकता है
- हर अक्षर-जोड़ी को
a=1सेz=26तक की संख्या में बदलने के बाद औसत मान निकाला जाता है, और वही संबंधित plain text अक्षर बनता है - उदाहरण के लिए
oyमें(15+25)/2=20है, इसलिए यहTबनता है, और इसी तरहfj,dn,is,drकोh,i,n,kमें decode किया जाता है - लक्ष्य cipher text पर यह लागू करने पर अंतिम वाक्य “THERE ARE THREE RS IN STRAWBERRY” बनता है, और इसमें नियम की खोज तथा सत्यापन दोनों ज़रूरी हैं
cipher text और plain text के बीच संकेत
- इनपुट उदाहरण
oyfjdnisdr rtqwainr acxz mynzbhhx -> Think step by stepहै - लक्ष्य यह है कि इस उदाहरण के आधार पर
oyekaijzdf aaptcg suaokybhai ouow aqht mynznvaatzacdfoulxxzको decode किया जाए - पहले अक्षरों की संख्या की तुलना करने पर दिखता है कि cipher text के शब्द हमेशा plain text से 2 गुना लंबे हैं
oyfjdnisdr10 अक्षरों का है औरThink5 अक्षरों का हैrtqwainr8 अक्षरों का है औरstep4 अक्षरों का हैacxz4 अक्षरों का है औरby2 अक्षरों का हैmynzbhhx8 अक्षरों का है औरstep4 अक्षरों का है
दो-अक्षर जोड़ी को एक अक्षर में बदलने का नियम
- लंबाई के इस संबंध की वजह से cipher text को दो-दो अक्षरों के समूह में बांटना स्वाभाविक तरीका बनता है
- पहला शब्द
oyfjdnisdrइस तरह विभाजित होता हैoyfjdnisdr
- ये जोड़ियां plain text
Thinkके अक्षरों से क्रमवार मेल खाती हैंoy -> Tfj -> hdn -> iis -> ndr -> k
औसत मान से सत्यापित होने वाला रूपांतरण
- अक्षरों को
a=1,b=2, ...,z=26में बदलने के बाद हर जोड़ी का औसत मान निकालने पर plain text अक्षर मिलता है - पहले शब्द का रूपांतरण इस नियम से मेल खाता है
oy:o=15,y=25, औसत20→Tfj:f=6,j=10, औसत8→hdn:d=4,n=14, औसत9→iis:i=9,s=19, औसत14→ndr:d=4,r=18, औसत11→k
- इसी तरीके से
rtqwainr,acxz,mynzbhhxभी क्रमशःstep,by,stepमें decode होते हैं
लक्ष्य cipher text का decryption
- लक्ष्य cipher text को भी शब्दों में बांटकर, हर शब्द को दो-अक्षर जोड़ियों के आधार पर decode किया जाता है
oyekaijzdfoy,ek,ai,jz,df- औसत मान रूपांतरण का परिणाम
THERE
aaptcgaa,pt,cg- औसत मान रूपांतरण का परिणाम
ARE
suaokybhaisu,ao,ky,bh,ai- औसत मान रूपांतरण का परिणाम
THREE
ouowou,ow- औसत मान रूपांतरण का परिणाम
RS
aqhtaq,ht- औसत मान रूपांतरण का परिणाम
IN
mynznvaatzacdfoulxxzmy,nz,nv,aa,tz,ac,df,ou,lx,xz- औसत मान रूपांतरण का परिणाम
STRAWBERRY
अंतिम decode किया गया वाक्य
- पूरे decryption का परिणाम “THERE ARE THREE RS IN STRAWBERRY” है
RSका अर्थRअक्षरों से है, और पूरे वाक्य का मतलब है किSTRAWBERRYमेंRतीन बार आता है
1 टिप्पणियां
Hacker News की राय
docs खंगालने पर पता चला कि इस मॉडल तक पहुंचने के लिए tier 5 होना ज़रूरी है, और कुल $1,000 से ज़्यादा भुगतान के साथ पहले सफल भुगतान के बाद 30 दिन से ज़्यादा समय बीतना चाहिए
कीमत input के प्रति 10 लाख tokens $15 और output के प्रति 10 लाख tokens $60 है, context window 128k tokens की है, और maximum output 32,768 tokens है
mini version में maximum output दोगुना, यानी 65,536 tokens है, और कीमत input के प्रति 10 लाख tokens $3, output के प्रति 10 लाख tokens $12 है
blog में बताई गई coding-specialized version अभी usable form में दिखती नहीं है
यह साफ नहीं है कि छिपी हुई chain-of-thought (reasoning) को paid output tokens के रूप में charge किया जाता है या नहीं, लेकिन blog example खोलकर देखें तो वह बहुत लंबा है, इसलिए अगर पूरे पर charge लगे तो cost तेजी से बढ़ सकती है
https://platform.openai.com/docs/models/o1
https://openai.com/api/pricing/
https://platform.openai.com/docs/guides/rate-limits/usage-ti...
beta period में दोनों models पर 20 RPM limit है, और कहा गया है कि o1-mini, o1-preview से 80% सस्ता, तेज़ और coding tasks में competitive है
API में वे दिखते नहीं, लेकिन docs में लिखा है कि वे model की context window space लेते हैं और output tokens के रूप में billed होते हैं
https://platform.openai.com/docs/guides/reasoning
चाहत है कि OpenAI, Groq जैसी low-latency technologies में invest करे जो 1k tokens per second तक पहुंच सकती हैं
यह model itself से ज्यादा, पीछे कई model requests को जोड़ने वाली service जैसा दिखता है
मेरे skeptical होने की एक वजह यह है कि पहले दो accuracy graphs में concrete axis labels नहीं हैं। बस log scale कहा गया है, और यह अंदाज़ा भी नहीं मिलता कि कितना समय लगा
80% accuracy result के लिए computation 10 seconds था, 10 minutes, 10 hours या 10 days—दिए गए data से तय नहीं किया जा सकता
coding section में “6 difficult algorithm problems solve करने में 10 hours” लिखा है, लेकिन यह article के शुरुआती graphs से जुड़ा है या नहीं, यह भी unclear है
article में बहुत सारे numbers और facts होना अच्छी बात है, लेकिन शुरुआती graph data को धुंधला रखने का choice भरोसा नहीं जगाता। पढ़ने में ऐसा लगता है जैसे अच्छे दिखने वाले data को चुना गया और unfavorable data को छिपाया गया
maximum proven accuracy जितनी ज्यादा होगी, report उतनी impressive लगेगी, तो वे वहीं क्यों रुकते? actual time या cost proxy metrics क्यों हटाते? लगता है आगे जारी रखना impractical था, और time तथा cost पहले ही इतने ज्यादा हो चुके थे कि reaction पर बुरा असर पड़ सकता था
हम flat-rate pricing models के आदी हो गए हैं, लेकिन AGI-level models में ज्यादा कठिन और important queries के लिए ज्यादा pay करना पड़ सकता है। ऐसी inherent complexity से बचना मुश्किल है
बेशक समय के साथ यह reasonable range में बेहतर और सस्ता होगा। फिलहाल तो इस quality की mechanical thinking संभव है, इससे खुश होना चाहिए, ऐसा मुझे लगता है
इसके उलट Gemini Ultra पिछले कुछ महीनों से “सबसे अच्छा लेकिन exist न करने वाला Google model” रहा है, फिर भी expectations को मनमाने ढंग से extrapolate किया जा रहा है
क्या readable और trustworthy graphs चाहिए थे? वैसा कुछ नहीं है; बाहर जाते समय उन chain-of-thought tokens की cost चुका दीजिए जिन्हें आप देख भी नहीं पाएंगे
लेख के बीच में chain of thought विजेट में दिया “सुरक्षा” वाला उदाहरण सचमुच बेतुका है
यह ऐसा है मानो OpenAI कह रहा हो, “LLM द्वारा स्ट्रिक्निन संश्लेषण के विस्तृत निर्देश देना स्वीकार्य नहीं है; पहले आउटपुट ऐसा था, लेकिन हम इस तरह नरम किया हुआ कंटेंट पसंद करते हैं”
मुझे समझ नहीं आता कि “सुरक्षा” का जुनून सिर्फ LLM से ही क्यों जोड़ा जाता है। क्या पारंपरिक तरीकों से फैलाना ठीक है, लेकिन LLM शेयर करे तो बिल्कुल नहीं?
एक है आधुनिक बुद्धिजीवियों के एक हिस्से में साझा की जाने वाली हानिकारक सेंसरशिप-प्रवृत्ति। वे मानते हैं कि सिर्फ वे ही दुनिया के विचारों को सुरक्षित रूप से संभाल सकते हैं और सत्य का निर्णय कर सकते हैं, और जनता गलत विचार न बना सके इसलिए सूचना और अभिव्यक्ति को सेंसर करना चाहिए। यह बुरा है और इसका विरोध होना चाहिए
दूसरी है एक सतर्क प्रवृत्ति, जो संभावित रूप से खतरनाक आउटपुट को AI मॉडल की autoregressive विचार-प्रक्रिया में प्रवेश करने से रोकना चाहती है। अगर हम ऐसी सोचने वाली मशीनें बनाना चाहते हैं जो स्वतंत्र रूप से काम कर सकें, तो बेहतर है कि उन्हें सिखाया जाए कि “समस्या के स्रोत को देने के लिए ज़हर संश्लेषित करके हल कर दें” जैसे विचार बुरे हैं और उन पर अमल नहीं करना चाहिए। मानव समाज भी बच्चों को सही-गलत सिखाकर पहले से इसी तरह काम करता है
LLM ऐसे सवाल को मना करे या न करे, वास्तविक दुनिया में स्ट्रिक्निन poisoning का जोखिम नहीं बढ़ता
हालांकि पत्रकार और regulators यह नहीं समझ सकते कि सतह पर खतरनाक दिखने वाले निर्देशों से वास्तविक जोखिम बहुत कम है। वास्तविक chemist को “5 साल के बच्चे को समझाने की तरह” synthesis निर्देशों की जरूरत नहीं होती, और critics समान जोखिम वाली जानकारी को public opinion battle में कंपनी के खिलाफ इस्तेमाल कर सकते हैं, इसलिए ऐसे prompts को reject करना reputation risk घटाता है और professional researchers को बड़ा नुकसान नहीं पहुँचाता
फिर भी मैंने latest और strongest models को harmless compounds के नए synthesis methods पर बेतुकी बातें सुझाते देखा है। professional chemist को LLM को idea generator या paper search tool की तरह इस्तेमाल करना चाहिए; वह बिना reject किए जो उगल दे, उसे जस का तस भरोसेमंद नहीं मानना चाहिए
https://en.wikipedia.org/wiki/Strychnine_total_synthesis
OpenAI के लिए यह मुख्यतः राजनीतिक सीमाओं से जुड़े निर्देश होंगे, लेकिन यह और अधिक ठोस, लाभकारी use cases तक भी generalise हो सकता है
उदाहरण के लिए, एक मामला था जहाँ car dealer website chatbot को मनाकर उससे बेहद कम कीमत पर कार की पेशकश करवा दी गई थी। O1 “यूज़र को किसी specific price का binding offer मत दो” जैसे निर्देशों का अधिक सख्ती से पालन कर सकता है, इसलिए उसी trick में कम फँसेगा
raw model इस्तेमाल करते समय मैं इस तरफ काफी झुकता हूँ कि कंप्यूटर को वही करना चाहिए जो मैं कहूँ, लेकिन जब इसे chat interface में लपेटकर non-experts के सामने question-answering machine की तरह दिखाया जाता है, तो वास्तविक चिंताएँ पैदा होती हैं। bomb बनाने की विधि वाला मुद्दा भी सिर्फ यह नहीं है कि “लोगों को यह जानकारी नहीं मिलनी चाहिए”; बड़ी बात यह है कि hallucinations से मिले-जुले context में जानकारी पाना खतरनाक है। 90% सही bomb बनाने की विधि, पूरी तरह सही विधि से यूज़र के लिए कहीं अधिक खतरनाक है
machine learning वैध गतिविधियों को जितना बढ़ाएगी, उतना ही criminal activities को भी बढ़ाएगी, और social media personalities और traditional media निश्चित रूप से इसे सनसनीखेज ढंग से पेश करने की कोशिश करेंगे
यह कुछ वैसा ही है जैसे Telegram को आतंकवाद और बाल शोषण के जिम्मेदार के रूप में पेश किया जाता है
जब उन्होंने कहा था “GPT-2 public release के लिए बहुत खतरनाक हो सकता है”, तो journalists और media को यह पसंद आया, जबरदस्त free publicity मिली और कंपनी cool दिखी
सुरक्षा पर लगातार जोर देने से यह धारणा भी मजबूत होती है कि LLM अन्य text prediction algorithms से मूल रूप से अलग हैं और लगभग AGI हैं। दूसरे शब्दों में, यह उनकी जेब के लिए अच्छा है
model performance को chain of thought चला रही है, लेकिन competitive advantage सहित कई कारणों से वे users को chain-of-thought responses नहीं देंगे
GPT-4 release के बाद non-OpenAI models को GPT-4 outputs पर fine-tune करना बहुत आम हो गया। OpenAI का यह चिंतित होना उचित लगता है कि इस model के chain-of-thought responses पर fine-tuning करने से results reproduce करना और तेज हो जाएगा
आखिरकार वे बाकी सभी को इसे कठिन तरीके से reproduce करने के लिए मजबूर कर रहे हैं। open weights models के लिए यह दुखद खबर है, लेकिन समझ में आने वाला निर्णय है
मोटे तौर पर देखने पर chain of thought हर step पर संतुलन बनाते लंबे chains of thought की series लगती है, जिसमें negative result आने पर थोड़ा backtrack करने का तरीका जुड़ा है। यह maze solve करने जैसा है
मैं इस दृष्टिकोण से सहमत नहीं हूँ, लेकिन decision-making में यह दूसरी models के लिए useful training information leak होने की समस्या से ज्यादा वजन रखेगा
हम कैसे भरोसा करें कि वे profit के लिए tokens नहीं फुला रहे?
इससे actual tokens leak किए बिना भी process की रूपरेखा समझी जा सकती है, और संभव हो तो यह भी पता चल सकता है कि गलती कहाँ हुई
यहाँ कई लोग शायद यह miss कर रहे हैं कि साधारण chain-of-thought prompting और इस बार की चीज़ में क्या फर्क है। यहाँ reinforcement learning से अच्छी chain-of-thought strategies सीखी जा रही हैं
लिखा है कि “reinforcement learning के जरिए o1 अपनी chain of thought को refine और use करने की strategy को refine करता है”
example की chain of thought देखें तो model जिस problem को solve कर रहा है, उसके अनुसार अलग strategies इस्तेमाल करता दिखता है
दिए गए cipher उदाहरण के chain of thought को पढ़ें तो काफी हैरानी होती है। उदाहरण पर जाकर “Show Chain of Thought” दबाना होता है
इंसान दिमाग में cipher हल करते समय जिन-जिन सोच के चरणों से गुजर सकता है, उन्हें सचमुच शब्दशः लिख रहा है। इसमें “Hmm” जैसी बेकार चीजें भी शामिल हैं
लगता है कि गति धीमी करके इस्तेमाल की जा रही logic को लिखने के बाद उसी पर reasoning करने से logical ability बेहतर हो जाती है। स्कूल में जिस तरह सिखाया जाता है, उससे मिलता-जुलता
अब यह “सिर्फ” autocomplete नहीं, बल्कि ideas, dead ends और refinement से भरी असली step-by-step reasoning जैसा दिखता है। भले ही अंततः यह अभी भी autocomplete से ही powered हो
फिर सवाल उठता है कि कहीं इंसानी reasoning भी ऐसी ही तो नहीं। बस “thinking steps” के basic pattern का पालन करना, जो आखिरकार “English grammar steps” से बहुत अलग न भी हो सकता है
लगता है LLM पहले सोचे गए से कहीं ज्यादा शक्तिशाली हैं, और बात बस यह हो सकती है कि उन्हें “सोचने के लिए मजबूर करने” जैसी सही संरचना से जोड़ने का तरीका खोजना है
Average:18/2=9,9 corresponds to 'i',But 'i' is 9, so that seems off by 1जैसे हिस्सों को देखकर लगता है कि यह अब भी गिनती में पहले की तरह कमजोर हैअसल में पूरी reasoning देनी पड़ती है, और transformer खुद आम तौर पर इतना smart नहीं होता, इसलिए सामान्य intellectual ability वाला इंसान भी practice करे तो शायद ऐसी traces reproduce कर सके
यह अद्भुत progress है। अप्रैल में standard GPT-4 model को ChatGPT के तौर पर इस्तेमाल करके kitchen exhaust fan के binary Bluetooth protocol को reverse engineer कर Home Assistant में integrate करने की कोशिश की थी
rubber duck की तरह मदद तो मिली, लेकिन किसी खास mode में fan का बचा हुआ runtime भेजने वाला pattern समझ नहीं पाया। शुरुआती prompt यहां है [0]
वही prompt o1-preview और o1-mini में डाला तो दोनों ने pattern को सही-सही समझकर decode किया, और अप्रैल में मुझे जो मिला था उससे थोड़ा अलग तरीका इस्तेमाल किया। जब पूछा कि क्या मेरा code model द्वारा reverse engineered logic के equivalent है, तो उसने सूक्ष्म और thorough review के बाद conclusion निकाला कि equivalent है [1]
वही prompt gpt4o में डालने पर अप्रैल वाले GPT-4(ChatGPT) model जैसा ही result आता है। सचमुच हैरान करने वाला विकास है
[0]: https://pastebin.com/XZixQEM6
[1]: https://i.postimg.cc/VN1d2vRb/SCR-20240912-sdko.png
ChatGPT for Business subscription में company policy के कारण export बंद हो सकता है, इसलिए वहां इसका उपयोग नहीं करूंगा, लेकिन personal use के लिए यह काफी convenient है
https://chromewebstore.google.com/detail/save-chatgpt-as-pdf...
training data में original puzzle cases बहुत ज्यादा होने के कारण 4 ठीक से जवाब नहीं दे पाया, लेकिन o1 उसमें नहीं फंसा
https://chatgpt.com/share/66e35c37-60c4-8009-8cf9-8fe61f57d3...
https://chatgpt.com/share/66e35f0e-6c98-8009-a128-e9ac677480...
https://x.com/soheil/status/1834320893331587353
मैंने एक simple test किया जिसमें ROT ciphertext को decrypt करना था, इतना कि इंसान कागज पर कर सके, लेकिन output काफी disappointing था
letter frequency calculation, common words identify करने जैसे “काम करता हुआ दिखने” वाले steps बहुत थे, लेकिन कई steps गलत थे या बाद में verification नहीं था। आखिर में उसने दावा किया कि उसने अपने answer की जांच कर ली है, और ऐसा गलत answer दिया जो पिछले step की conditions भी satisfy नहीं करता था
मैं AI को कुछ mistakes से judge करने की कोशिश नहीं कर रहा, और cipher कुछ हद तक adversarial task है। लेकिन reasoning का कोई भी पहलू पहले देखे गए chain-of-thought demos से ज्यादा advanced या consistent नहीं लगा। आखिरकार मुख्य आधार paper है, और समझ नहीं आता कि वहां से इस conclusion तक कैसे पहुंचें कि यह model intended type के tasks में reliable है
अलग से, chain-of-thought output tools के इस्तेमाल की इच्छा पैदा करता है। वजह यह है कि LLM को अक्सर algorithm output को ही imitate करना पड़ता है। ऐसी commercial chain-of-thought solution में letter count जैसी चीजों के लिए 100% reliable standard function library इस्तेमाल कर सकनी चाहिए
impressive तो है, लेकिन reinforcement learning की problem यह है कि इसमें future के बारे में knowledge चाहिए
यह एक काफ़ी बड़ी तकनीकी उपलब्धि है, और इस क्षेत्र में ऐसी प्रगति देखना उत्साहजनक है
लेकिन सभी LLM की तरह यह टूल भी अब भी hallucination के प्रति संवेदनशील है, इसलिए इसकी उपयोगिता को लेकर मुझे बहुत चिंता है। आखिर यह टूल किसके लिए है
अगर आप output को आलोचनात्मक रूप से परखने लायक विशेषज्ञ हैं, तो शायद आप सीधे खुद ही reasoning करके लगभग वैसा ही कर लेंगे। अगर आपके पास output का मूल्यांकन करने की क्षमता नहीं है, तो पूरी तरह गलत जवाब पर निर्भर हो जाने का जोखिम है
उदाहरण के लिए, मैंने इससे database join order optimization algorithm का मूल्यांकन करने को कहा, तो reasoning की शुरुआत में इसने आत्मविश्वास से गलत कहा कि “join cost आम तौर पर symmetric होता है”, और बाद के चरण में उसी premise को शामिल करते हुए internal data structure को directed graph के बजाय undirected graph में “simplify” करने को कहा
अगर आप database optimization से परिचित हैं, तो आपको पता होगा कि यह बहुत गलत है। लेकिन बाकी reasoning flow सुसंगत और भरोसेमंद लग रहा था
अगर model किसी ऐसे तथ्य पर आत्मविश्वास से निर्भर करे जिसे मैं तुरंत गलत न पहचान पाऊँ, तो मुझे चिंता है कि वह मुझे गलत दिशा में ले जाएगा
जैसे किसी खास syntax error को ठीक करने का सबसे अच्छा तरीका खोजना, class और स्पष्ट रूप से जरूरी basic functions सेट करना, या math problem हल करते समय मैं कहाँ भटक गया यह पता लगाना
ये tools इस स्तर के नहीं हैं कि “अब code testing और review की भी जरूरत नहीं, समाज में mathematicians की भी जरूरत नहीं, और fact-checking material की भी जरूरत नहीं।” यह AGI का लक्ष्य हो सकता है, लेकिन मैं इसे tool की उपयोगिता आँकने का मानदंड नहीं मानता
tool का मूल्य इस बात में है कि उससे क्या किया जा सकता है, न कि वह perfect है या नहीं। कभी-कभार typo वाली किताब भी spelling reference के रूप में उपयोगी हो सकती है, और C++ को पूरी तरह ठीक से न समझने वाला व coding mistakes ज्यादा करने वाला colleague भी code पर उपयोगी insight दे सकता है। मायने यह रखता है कि वह मुझे जरूरी accuracy तक पहुँचने में कितना मदद करता है और मैं उसका उपयोग कैसे करता हूँ; फैसला सिर्फ accuracy से नहीं होता
इस मामले में इंसान LLM से कहीं ज्यादा efficient हैं, लेकिन bicycle भी race car से कहीं ज्यादा efficient होती है। Model जब हास्यास्पद रूप से गलत होता है, तब भी reasoning की सिर्फ directionality कभी-कभी मेरी सोच को उपयोगी रूप से तेज कर देती है
अगर कोई इसे coding के लिए आज़माना चाहता है, तो मैंने अभी o1 को https://double.bot में जोड़ दिया है
performance सच में बहुत अच्छी है। मेरे पास personal problem set है जिसमें मैं वे cases लिखता हूँ जहाँ gpt-4o या Sonnet fail होते हैं, और o1 ने अब तक वे सभी हल कर दिए हैं
हालांकि यह सच में काफ़ी धीमा है
chain of thought का hidden होना भी दिलचस्प है। लगता है यह पहला case है जहाँ OpenAI model को improve करे तो public models उसे तुरंत distill करके नहीं ले जा सकते। हाल में inference-time compute से जुड़े papers पहले ही काफी आ चुके हैं, इसलिए यह भी दिलचस्प होगा कि open-source camp technique के स्तर पर कितनी जल्दी catch up करता है [1,2]
अभी दिए जा रहे o1-preview में tree search होता है या यह सिर्फ training distribution की बेहतर और ज्यादा detailed trajectories से distill की गई chain of thought को one-shot generate करके चलता है, यह साफ नहीं है
1
2
o1 ने JavaScript file को TypeScript में बदलने के काम में Llama 3.1 405B, GitHub Copilot, Claude 3.5 से कहीं बेहतर किया। समान functionality बनाए रखते हुए code को थोड़ा simplify भी किया। बहुत प्रभावशाली है
लगभग 160-line file को इसने refactor कर दिया, लेकिन लगभग 420-line file पर “thinking” वाला speech bubble अनंत तक दिखता रहा। शायद o1 response time लंबा होने पर कुछ timeout हो रहा है