- XKCD 1425 “Tasks” एक ऐसी comic है जो software development की समझ को दिखाती है: जो काम ऊपर से आसान लगते हैं, उनकी असली कठिनाई बिल्कुल अलग हो सकती है; 24 सितंबर 2024 को इसकी 10वीं वर्षगांठ हुई
- comic में “यह जांचना कि फोटो में पक्षी है या नहीं” उस समय PhD-स्तर की कठिन समस्या थी, लेकिन आज vision LLM, CLIP, ResNet+ImageNet आदि से यह आसानी से हल होने वाला काम बन गया है
- खास उदाहरण technology के विकास से बदल गया है, लेकिन यह तय करने के लिए कि कौन-सी समस्या आसान है और कौन-सी कठिन, अब भी गहरा अनुभव चाहिए
- LLM के कुछ कमजोर क्षेत्र हैं, जैसे गणित या तथ्य खोज, इसलिए intuitively यह तय करना और मुश्किल हो गया है कि कौन-से काम उन्हें भरोसेमंद तरीके से सौंपे जा सकते हैं
- Claude Artifact में image analysis की सीमा की तरह, AI-assisted programming में model की क्षमता के साथ-साथ CSP headers जैसी web security constraints को भी समझना पड़ता है
XKCD 1425 ने 10 साल बाद भी जो सवाल छोड़ा
- XKCD 1425 “Tasks” एक comic है जो दिखाती है कि software development में कौन-सा काम आसान है और कौन-सा कठिन, यह अनुभव के बिना समझना मुश्किल है
- comic का प्रतिनिधि उदाहरण “यह जांचना कि फोटो में पक्षी है या नहीं” पहले PhD-स्तर की समस्या था, लेकिन अब कई computer vision technologies से आसानी से हल किया जा सकता है
- उदाहरण खुद technology के विकास से बदल गया है, लेकिन आसान और कठिन समस्याओं में फर्क करने की क्षमता के लिए अब भी काफी अनुभव चाहिए
LLM और AI-assisted programming से बनी नई मुश्किलें
- LLM किन कामों को भरोसेमंद तरीके से हल कर सकते हैं, यह आंकना intuitive नहीं है
- LLM computer systems हैं, लेकिन गणित में कमजोर हैं
- तथ्य खोज भी वे स्थिर रूप से नहीं कर पाते
- AI-assisted programming tools के फैलने के साथ, ज्यादा लोग अपना custom software बनाना शुरू कर रहे हैं
- नए उभरे AI-assisted beginner programmers ऐसी स्थिति में हैं जहां उन्हें आसान और कठिन कामों का फर्क जल्दी सीखना होगा
- Claude खुद image analysis कर सकता है, लेकिन Claude Artifact में image analysis tool नहीं बनाया जा सकता—ऐसा एक उदाहरण है
- इसे समझने के लिए यह जानना जरूरी है कि Artifacts देने में इस्तेमाल होने वाले CSP headers, generated code से external LLM API calls को रोकते हैं
1 टिप्पणियां
Hacker News की रायें
यह देखकर हैरानी होती है कि AI/ML में प्रभावशाली माने जाने का पैमाना कितना बदल चुका है
10 साल पहले जब GAN पेपर आया था, तब generated images की quality को लेकर सब बेहद उत्साहित थे: https://arxiv.org/abs/1406.2661
इस बीच हुई प्रगति सचमुच अविश्वसनीय है
जैसे, बच्चा basic arithmetic कर सकता है और कंप्यूटर भी basic arithmetic कर सकता है, तो अगर बच्चा बोल भी सकता है, लोगों को लगता है कि कंप्यूटर भी ज़रूर बोल सकता होगा
लेकिन कंप्यूटर की क्षमताएँ पूरी तरह अलग तरीके से हासिल हुए परिणाम हैं। दिलचस्प बात यह है कि LLM में क्षमताओं की रूपरेखा इंसानों के ज़्यादा करीब हो गई है, लेकिन नतीजे तक पहुँचने का तरीका अब भी पूरी तरह अलग है
सबसे भयावह उदाहरण था करीब 1.8 लाख user-generated text recipes, जिन्हें ग्राहक normalize करवाना चाहता था। portions adjust करने, nutrition information calculate करने आदि के लिए quantities, units, ingredients, steps वगैरह निकालने थे
preprocessing के लिए regex के ढेर और interns की फौज द्वारा एक-एक करके normalize करने वाली tool chain चाहिए थी, और interns द्वारा पैदा की गई गड़बड़ियों को ठीक करने में उससे भी ज़्यादा समय लगा
LLM होता तो यह काम लगभग तुरंत खत्म हो गया होता। ऐसे अनगिनत कामों में, जहाँ पूरी तरह कचरे के ढेर को usable data में बदलना था, LLM शायद बस कर देता
उस दौर की तकलीफ़ थोड़ी इसलिए कम हुई कि इस trend को देखकर उसी समय के आसपास NVDA खरीद लिया था
पहले नए machine learning models पर background knowledge रखने वाले practitioners चर्चा करते थे, इसलिए वे समझ पाते थे कि देखने में छोटा improvement भी क्यों बड़ी बात है और reasonable expectations क्या होनी चाहिए
अब नए machine learning, या कहें “AI” models को आम जनता judge करती है, जिसे technical background नहीं पता, लेकिन marketing hype पता है। आप उन्हें language-related benchmarks पर भारी पड़ने वाला शानदार language model भी दे दें, फिर भी expectations बेतुकी होने के कारण वे हमेशा निराश होंगे
जब language model grammar और syntax में अपेक्षाकृत “simple” काम भी कर लेता है, जैसे समझना कि pronoun किस object की ओर इशारा कर रहा है, तब भी मैं हैरान होता हूँ। लेकिन ज्यादातर लोगों ने language या computers को उस नज़रिए से कभी सोचा ही नहीं, इसलिए वे नहीं देख पाते कि यह कितना कठिन और प्रभावशाली है
यह comic हमेशा थोड़ी अजीब लगी। इंसानों ने navigation problem हल करने में हजारों साल लगाए
यह comic उस छोटे-से दौर में मौजूद है, जब एक task आखिरकार “solve” हुआ था और दूसरा task बस शुरू ही हुआ था
अगर आपको लगता है कि model training में बहुत energy लगती है, तो satellite constellations बनाए रखने के लिए rockets का बेड़ा launch करने के बारे में भी सोचिए
अपने career में कई बार meetings में अचानक आई एक requirement ने project estimates को महीनों तक बदल दिया
उदाहरण के लिए, retail websites या apps में store finder आमतौर पर current location और store के बीच सिर्फ straight-line distance calculate करता है और एक निश्चित range के अंदर stores को distance के हिसाब से दिखाता है
Puget Sound के पश्चिम में Seattle के पास Kingston जैसी जगहों में यह समस्या बनती है। Walgreens store finder Kingston के पास search करने पर 10 stores दिखाता है, जिनमें से 9 Puget Sound के पार Seattle side में हैं। कार लेकर जाएँ तो one-way लगभग 20 डॉलर और 30 मिनट की ferry लेनी पड़ती है
पश्चिम में दिखने वाला एक store Bainbridge Island store है, जो Kingston के किसी व्यक्ति के जाने लायक जगह नहीं है। असल में Silverdale store road distance के हिसाब से अधिक करीब है, लेकिन straight-line distance में थोड़ा दूर है
Silverdale, Bremerton के 3 stores, और Port Orchard का 1 store समय और travel cost के हिसाब से Seattle side के stores की तुलना में Kingston के बहुत अधिक करीब हैं, लेकिन map पर दिखने के लिए “load more” button दबाना पड़ता है
local inventory check feature भी ऐसा ही है: सामान “nearby” में बताया जाता है, लेकिन वास्तव में अक्सर वह केवल Puget Sound के उस पार वाले stores में होता है
इसके उलट, ऊपर से ज्यादा simple दिखने वाला काम आसानी से solve होकर API के रूप में उपलब्ध नहीं था, इसलिए उसमें सालों लग सकते थे। बेशक, अब यह संभव है
मतलब, non-developers के लिए यह जानना मुश्किल है कि current technology किन tasks को trivial तरीके से solve कर देती है और किन tasks को नहीं कर पाती। समय के साथ इन दोनों categories का distribution बदलता है, लेकिन आम व्यक्ति के लिए इसे आसानी से समझ पाना वैसा ही रहता है
आज हम जो कुछ भी करते हैं, उसे अगर शुरुआत से फिर बनाना पड़े तो वह बेहद कठिन होगा, लेकिन असल में शुरुआत से फिर बनाने की ज़रूरत नहीं होती, इसलिए वह करने में कठिन काम नहीं है
कोई कह सकता है कि यह “अच्छी तरह पुराना नहीं हुआ”, लेकिन मुझे लगता है कि असली बात—“आसान चीज़ और व्यावहारिक रूप से असंभव चीज़ के बीच का फर्क समझाना मुश्किल है”—बल्कि और मज़बूत हो गई है
लगभग विडंबना की तरह, मुश्किल काम और आसान काम आपस में बदल गए हैं। 10 साल पहले किसने सोचा होगा
https://en.wikipedia.org/wiki/DeepFace
अगर मेरी याद सही है, तो कुछ हफ्तों या महीनों बाद Yahoo/Flickr की तरफ से इसी समस्या, यानी पक्षी पहचान, पर एक पेपर आया और उसके बाद से सब कुछ मानो रातोंरात फट पड़ा। मुझे पता है कि असल में ऐसा नहीं था, लेकिन मुझे ऐसा ही लगा
LLM कौन-से काम भरोसेमंद तरीके से कर सकते हैं और कौन-से नहीं, यह समझना अब भी बहुत मुश्किल और गैर-सहज है
कुछ समय पहले मेरी बेटी एक presentation तैयार कर रही थी और उसने पूछा, “पापा, क्या आप मेरे लिए ऐसी तस्वीर ढूंढ सकते हैं जिसमें सब्जियों से HELLO शब्द बना हो?”
मैंने सोचा, “हां बिल्कुल, यह तो ChatGPT का काम है”, लेकिन ChatGPT स्पेससूट पहने बिल्ली को martini पीते हुए बना सकता है, फिर भी सब्जियों से HELLO बना हुआ चित्र निश्चित रूप से नहीं बना पाया
आखिर में मैंने उससे alphabet के हर अक्षर को सब्जियों से बनी अलग-अलग images बनवाए, और मेरी बेटी ने उन्हें जोड़कर presentation में इस्तेमाल करने वाला शब्द बनाया
यह ठीक वही वजह है जिसकी वजह से वह STRAWBERRY की spelling में अक्षरों की गिनती ठीक से नहीं कर पाता। इसलिए नहीं कि उसे फल या सब्जियों की अवधारणा नहीं पता, या वह metaphor या meme जैसे जटिल concepts नहीं समझता
मॉडल “hello” को अलग-अलग अक्षरों से बने शब्द के रूप में नहीं देखता, बल्कि एक single token के रूप में देखता है—gpt-4o में ID 24912 वाला token। वह इस token का अर्थ और दूसरे tokens से उसके संबंध जानता है, लेकिन उस शब्द को बनाने वाले अक्षरों के बारे में मूल रूप से नहीं जानता। अपवाद वे मामले हैं जहां उसे अलग से train किया गया हो या training data में मौजूद किसी संयोगवश अतिरिक्त संबंध का उपयोग हो रहा हो
Replicate पर flux-pro इस्तेमाल करके “vegetables spelling out the word "HELLO"” डालने का नतीजा: https://ibb.co/1RVKmdk
https://ideogram.ai/assets/image/lossless/response/v_LgyXI1Q...
https://ideogram.ai/assets/image/lossless/response/V4RRDJZJS...
पहली image में गाजर थोड़ी मजेदार है
बोनस Hacker News: https://ideogram.ai/assets/image/lossless/response/SW0B7y4jR...
https://i.imgur.com/mvnusFd.jpeg
prompt ऊपर वाले comment से ज्यों का त्यों copy किया था: https://chatgpt.com/share/66f530b0-3fb8-800a-8af9-8a3e48a31a...
बस यह detect करके launch कर दो कि photo में आम तौर पर दिखने वाले पक्षी के रंग हैं या नहीं। competitors को ध्वस्त करने के बाद बाद में ठीक कर लेना
deep learning का context और basics समझने के लिए मैंने यह tutorial series की थी, और पहली class में इसी comic वाला bird classifier बनाना था
यह सच में आसान और मजेदार था, और पूरा course भी शानदार है। जिन लोगों का programming background है और जो deep learning की मजबूत शुरुआत करना चाहते हैं, उन्हें जोरदार recommend करूंगा
https://course.fast.ai/
कोई इस पर ध्यान नहीं दे रहा, लेकिन LLM request के दूसरे हिस्से जितना ही पहले हिस्से में भी आगे बढ़े हैं
ChatGPT
is_point_in_national_parkfunction लिख देता है और संबंधित shapefile भी लगभग 30 सेकंड में बता देता है। यानी comic में बताए “कई घंटे” से सैकड़ों गुना तेजvision LLM सचमुच कमाल हैं
मेरे पास 20,000 से ज्यादा images को describe और catalog करने का project था
इंसान से पारंपरिक तरीके से करवाते तो इसमें कई महीने और भारी खर्च लगता। descriptions ऐसी quality की होनी थीं जिन्हें customers पढ़ सकें
OpenAI के vision API ने प्रति image कुछ cents में काम कर दिया, और कुल cost शायद 200 dollars से भी कम रही होगी
सोचता/सोचती हूँ कि क्या कभी ऐसा दिन आएगा जब तकनीकी साक्षरता उस critical point तक पहुँच जाएगी कि ऐसी गलतफहमियाँ ज़्यादातर खत्म हो जाएँ
10 साल पहले होता तो मैं हाँ कहता/कहती, लेकिन अब मुझे लगता है कि UX/UI की तरक्की और हर चीज़ के app बन जाने ने औसत व्यक्ति को बारीकियों से दूर कर दिया है
अलग-अलग product के नज़रिए से यह अच्छी बात है, लेकिन कुल मिलाकर यह अवास्तविक उम्मीदें पैदा कर सकती है। मैंने युवा लोगों को “x बस y क्यों नहीं कर देता?” पूछते सुना है, और पहले मुझे लगता था कि ऐसा सवाल सिर्फ बहुत non-technical माता-पिता की पीढ़ी से ही सुनने को मिलेगा
80 के दशक में computer बहुत लोगों के लिए लगभग जादू जैसा था, लेकिन ज़्यादातर लोगों को असल में computer से interact करने की ज़रूरत नहीं थी। computer से जुड़ी उम्मीदों का असर उतना ही कम था जितना extraterrestrial life को लेकर मेरी उम्मीदों का
लेकिन डर है कि technology को लेकर magical thinking व्यक्तिगत और सामाजिक दोनों स्तरों पर कहीं बड़े परिणाम ला सकती है
@simonw, अगर आप इसे पढ़ रहे हैं, तो सोच रहा/रही हूँ कि क्या एक छोटी-सी गुज़ारिश कर सकता/सकती हूँ
क्या publicly share किए जा सकने वाले coding work को live streaming करना बहुत बड़ी मांग होगी?
खासकर आज के ecosystem—Python, SQLite data, JavaScript—के आसपास सीखने के लिए सच में बहुत कुछ होगा