1 पॉइंट द्वारा GN⁺ 2023-11-01 | 1 टिप्पणियां | WhatsApp पर शेयर करें
  • 'Phind मॉडल, GPT-3.5 की गति और 16k context के साथ कोडिंग में GPT-4 से आगे' शीर्षक वाला लेख
  • Phind मॉडल, GPT-3.5 की गति और 16k context बनाए रखते हुए कोडिंग कार्यों में GPT-4 से बेहतर प्रदर्शन करता है
  • www.phind.com वेबसाइट, एक्सेस करने से पहले सुरक्षा समीक्षा आवश्यक
  • वेबसाइट बताती है कि उपयोगकर्ता का ब्राउज़र पुराना है और उसे अपडेट करने की आवश्यकता है
  • ब्राउज़र समर्थन के बारे में अतिरिक्त जानकारी Cloudflare डेवलपर पेज पर देखी जा सकती है
  • वेबसाइट का प्रदर्शन और सुरक्षा Cloudflare द्वारा प्रदान किए जाते हैं

1 टिप्पणियां

 
GN⁺ 2023-11-01
Hacker News की रायें
  • distributed work queue पर एक काफ़ी अस्पष्ट high-level design सवाल के साथ कुछ मिनटों तक Phind और GPT-4 की तुलना की। Phind ने implementation से जुड़ी खास libraries को सक्रिय रूप से recommend किया, जो मेरी research से भी अच्छी तरह मेल खाती थीं, और सुझाई गई library के साथ example code भी दिया।
    Phind ने GitHub, Stack Overflow जैसे relevant sources भरपूर जोड़े, इसलिए follow-up research के starting point के तौर पर इस्तेमाल करना अच्छा था, और उसके recommended follow-up questions भी काफ़ी अच्छे थे।
    हालांकि GPT-4 की answer quality बेहतर थी, और system design interview हो तो वह बेहतर candidate जैसा लगा। उसने logging और metrics जैसे सवाल के बाहर के context भी पकड़े, “सवाल के पीछे का सवाल” बेहतर समझा, और follow-up questions में भी बातचीत की दिशा को narrow करने का एहसास ज्यादा मजबूत था।
    यह algorithm implementation जैसी coding ability test नहीं थी, बल्कि high-level design और architecture decisions के लिए thinking aid tool के तौर पर तुलना थी।

    • GPT-4 दूसरे models की तुलना में “सवाल के पीछे का सवाल” सच में बहुत अच्छी तरह पकड़ता है, और घर की दीवार की मरम्मत जैसे ऐसे random कामों में भी बहुत useful था जिनके बारे में मुझे बिल्कुल जानकारी नहीं थी।
    • जिज्ञासा है कि Phind ने GitHub, Stack Overflow जैसे जो भरपूर sources दिए, वे वाकई accurate थे या नहीं।
    • यह भी बताना चाहिए कि custom instructions थीं या नहीं, तभी तुलना सिर्फ़ anecdote बनकर नहीं रह जाएगी। Prompt भी साथ में post करना चाहिए।
    • “context देना” वाला हिस्सा model के हिसाब से prompt अच्छी तरह लिखने के तरीके से बहुत जुड़ा है। Fair comparison के लिए सिर्फ़ code देना चाहिए और देखना चाहिए कि वह क्या बनाता है।
    • अच्छा होगा अगर कुछ हिस्सा share करें कि किस prompt से सवाल पूछा गया था।
  • LLMs से अक्सर पूछे जाने वाले trap question के तौर पर मैंने पूछा, “GeoJSON जैसे geospatial data को input और output के रूप में इस्तेमाल करने वाले 5 recent machine learning papers और code दीजिए।”
    मेरी समझ में ऐसा कोई recent research field नहीं है, geoinformation data non-continuous होता है इसलिए transformers के लिए unsuitable है, और context-dependent होने के कारण दूसरे approaches के लिए भी मुश्किल है। असली machine learning experts की बेहतर explanation मानूंगा।
    आमतौर पर LLMs 5 nonexistent papers/code गढ़ देते हैं, लेकिन Phind ने 5 real links दिए और यह भी समझाया कि वे GIS data इस्तेमाल करने वाले paper+code क्यों नहीं हैं; अब तक मिले answers में यह सबसे अच्छा था।

    • समझ नहीं आता कि इसका code model से क्या लेना-देना है। Code model papers या articles search करने के लिए trained नहीं होता, बल्कि code completion के लिए होता है, और unrelated task में hallucination ढूंढना कोई खास interesting नहीं है।
    • ChatGPT 4 web browsing के साथ: https://chat.openai.com/share/19a425b5-ed37-469e-860d-65ee70...
      ChatGPT 4 web browsing के बिना: https://chat.openai.com/share/7e11b4a6-52f2-441a-8614-7266c3...
    • GIS tasks में से कुछ road locations या building outlines जैसे point, line, polygon vector data इस्तेमाल करते हैं, और उन्हें GeoJSON या WKT जैसे formats में store किया जा सकता है।
      वहीं remote sensing data या satellite images GeoTIFF जैसे raster format में store किए जा सकते हैं, जो असल में georeference information लगी हुई TIFF images होती हैं।
      जिन satellite image machine learning में input और output दोनों geospatial data हों, वे पूरी तरह possible हैं। उदाहरण के लिए land use classification में input multispectral image हो सकती है और output ऐसी image हो सकती है जिसमें हर pixel value identified land use दिखाती हो।
      satellite images पर आधारित building footprint detection और outline extraction के लिए भी machine learning इस्तेमाल की जा सकती है, और output polygons को GeoJSON में store किया जा सकता है। मुझे लगता है ये “geospatial data को input और output के तौर पर इस्तेमाल करने वाली machine learning” के examples हैं।
      [1]: https://azure.microsoft.com/en-us/blog/how-to-extract-buildi...
    • EarthPT भी देखने लायक है: https://arxiv.org/abs/2309.07207
  • Competition बढ़ना अच्छी बात है, लेकिन मुझे अभी भी लगता है कि GPT-4 बेहतर है। जब मैंने PostgreSQL table के full_text से लगभग पहले 200 words teaser में भरने वाली query मांगी, तो Phind ने अलग PL/pgSQL function बनाकर loop से words count करने वाला answer दिया, जबकि GPT-4 ने generate_series और STRING_AGG से सीधे UPDATE करने वाली query suggest की।

    • “Ignore Web Context” on करके चलाने पर ऐसे design tasks में performance बेहतर हो सकती है। मुझे ज्यादा plausible answer मिला, और consistency पर अभी काम चल रहा है: https://www.phind.com/search?cache=f0fkv5mxscwvagxgkuwnwgtl
    • सिर्फ़ एक example से performance conclusion निकालने के लिए यह पर्याप्त नहीं है।
    • सरल और स्पष्ट तरीके से पूछा तो UPDATE your_table SET teaser = substring(full_text from '(\S+\s*){1,200}') जैसा answer मिला।
    • मुझे article teaser और “read more” button सच में बहुत नापसंद हैं, और अब पता चला कि वह उस article को जानबूझकर काटने का नतीजा है।
  • “एकल stream में प्रति सेकंड 100 tokens तक संभव है और GPT-4 बहुत अच्छा करे तो प्रति सेकंड करीब 20 tokens” — यह batch processing इस्तेमाल करने का नतीजा है या नहीं, यह जानने की उत्सुकता है। अगर ऐसा है, तो यह काफ़ी प्रभावशाली है
    कठिन सवालों में सही जवाब तक पहुँचने के लिए Phind Model को GPT-4 से ज़्यादा generation attempts की ज़रूरत पड़ सकती है—यह हिस्सा कुछ हद तक sampler tuning की समस्या लगता है
    अगर अभी इस्तेमाल नहीं कर रहे हैं, तो grammar-based sampling (https://github.com/ggerganov/llama.cpp/pull/1773) और mirostat, dynatemp जैसी dynamic sampling (https://github.com/LostRuins/koboldcpp/pull/464) को देखना चाहिए
    Nvidia implementation में भी लगता है कि सिर्फ़ sampling को Hugging Face version से बदल दें तो काम कर जाएगा, और ऐसे experimental features को खुद implement कर पाना OpenAI से दूर जाने का बड़ा फायदा है

    • H100 पर प्रति सेकंड 100 tokens हासिल करने के लिए TensorRT-LLM के Flash Decoding का इस्तेमाल किया गया: https://crfm.stanford.edu/2023/10/12/flashdecoding.html
    • पता नहीं यह प्रभावशाली आंकड़ा है या नहीं। LMDeploy A100 और बड़े batch size पर प्रति सेकंड 2000 से ज़्यादा tokens का दावा करता है, यह देखते हुए H100 पर प्रति सेकंड 100 tokens काफ़ी धीमा लगता है
  • मैं GPT-4 काफ़ी इस्तेमाल करता हूँ, और Phind ने शुरुआत में दिए गए कई programming tasks में आश्चर्यजनक रूप से GPT-4 की बराबरी की। Phind की लंबी context window को देखते हुए कुछ tasks में यह GPT-4 से आगे भी निकल सकता है, और यह काफ़ी बड़ी उपलब्धि लगती है

    • संदर्भ के लिए, ChatGPT के ज़रिए GPT-4 की default context window जल्द ही 32k होने वाली है
  • Phind का scrape की गई चीज़ों के sources cite करना अच्छा लगता है। मुझे लगता है यह सभी LLMs के लिए अनिवार्य होना चाहिए, और इसी वजह से मैं अक्सर ChatGPT की जगह Phind इस्तेमाल करने की सलाह देता हूँ

    • cite की जा रही चीज़ LLM द्वारा “scrape” की गई सामग्री नहीं, बल्कि search model द्वारा LLM को दी गई सामग्री है। इसकी कोई गारंटी नहीं कि actual output में उसी का इस्तेमाल हुआ है, और यह answer generation के लिए ज़रूरी पूरी knowledge भी नहीं है
      knowledge भाषा और human language सीखने के लाखों examples में बंटी हुई है, और इंसान के समझने लायक़ तरीके से बची भी नहीं रहती
    • user के नज़रिए से links उगलने से बेहतर सही जवाब मिलना है। इसका मतलब यह नहीं कि Phind खराब है, लेकिन अभी शुरुआती दौर के LLMs पर constraints लगाने से पहले उन्हें सही जवाब देने लायक़ बनाने पर focus करना चाहिए
  • पहले मैंने अपने लिखे एक program को इस्तेमाल करवाकर GPT-4 से तुलना की थी; Phind मेरी बात ठीक से समझ नहीं पाया, जबकि GPT-4 ने पूरी तरह समझ लिया और prompts आगे बढ़ाते हुए इसे पूरा करने के लिए तैयार था
    https://www.phind.com/agent?cache=cloeowfla000dl1084ermly3c
    vs
    https://chat.openai.com/share/4147da33-3669-4657-88fa-3a9dfc...
    यह पूरे सिस्टम का प्रतिनिधित्व न भी करता हो, लेकिन बातचीत ऐसी दिशा में चली गई जिसमें अनचाही अजीब चीज़ें और पहले से पता basic information शामिल थी

    • Pair Programmer mode अभी GPT-4 इस्तेमाल करता है, या limit खत्म हो जाए तो GPT-3.5। Phind Model इस्तेमाल करना हो तो default search mode में दोबारा कोशिश करनी चाहिए
      default search में Phind Model इस्तेमाल करने पर लगता है यह ठीक काम करता है: https://www.phind.com/search?cache=ln6dpdtv5auwn4cq1ofg3gs9
    • समस्या यह है कि यह अपेक्षाकृत niche problem को search करता है और शायद कम-quality results लाता है। search text का वजन base model से ज़्यादा हो जाता है, और अगर वह context ज़्यादा मददगार नहीं है तो performance उल्टा खराब हो जाती है
      ChatGPT के Bing search में भी यह phenomenon दिखता है, और मैंने अपने project में भी इसे झेला है
  • CodeLlama का 16k tokens तक support करना हैरान करने वाला है। token window उन constraints में से एक है जो users को याद रखने और past conversations जारी रखने वाली AI बनाने में बाधा बनती है
    भविष्य के AI apps में, जहाँ लंबी conversations हफ़्तों, महीनों, सालों तक चलेंगी, बड़ी context window key होगी; अभी भी technology impressive है, लेकिन जब यह एक वास्तविक pair programmer की तरह अतीत में साथ सीखी और की गई हर चीज़ याद रख पाएगी, तब यह और भी दिलचस्प हो जाएगा
    [0] https://huggingface.co/docs/transformers/main/model_doc/llam...

    • 640k किसी के लिए भी काफ़ी है
    • MemGPT जैसे तरीकों से token window size virtualize हो रहा है, इसलिए उसका impact कम होगा
    • sentence transformers के token average pooling जैसी medium-term memory का ऐसे use cases में इस्तेमाल होने वाले दिन का इंतज़ार है। यह हर company के सामने साफ़ दिखाई देता लगता है, लेकिन कोई भी इसे implement करने के बारे में सोचता नहीं दिखता
  • मुझे पता है कि यह लोकप्रिय राय नहीं है, लेकिन काश इसे Emacs या Vim के अंदर इस्तेमाल करने का कोई तरीका होता। अब VS Code इस्तेमाल नहीं करना चाहता

    • पिछले कुछ वर्षों में VS Code पर standardize होने का चलन सचमुच अफसोसजनक बदलावों में से एक है। VS Code का होना अच्छी बात है, लेकिन हम ऐसी दुनिया की ओर जा रहे हैं जहाँ सबसे अच्छे tools इस्तेमाल करने के लिए VS Code इस्तेमाल करना पड़ता है
      Java development में IntelliJ के साथ यही हुआ था, और मुझे लगता है कि यह ecosystem के लिए बहुत unhealthy था। अच्छा है कि Copilot Vim को support करता है, लेकिन चिंता है कि कहीं जल्द ही ऐसा न रहे
    • काश Emacs के प्रति लगाव की गहराई को बाजार में ज्यादा महत्व मिला होता
      उदाहरण के लिए, यह तर्क दिया जाता है कि संगीत और कला इसलिए नीचे की ओर standardize हो जाते हैं क्योंकि करोड़ों लोगों के लिए 10 डॉलर की कीमत वाला album बनाना, कुछ दर्जन लोगों के लिए दस लाख डॉलर की कीमत वाला album बनाने से कहीं ज्यादा profitable होता है
      क्योंकि album की कीमत आखिरकार 10 डॉलर ही लगाई जाती है, और अब जाकर मुझे लगा कि यही phenomenon developer tools पर भी लागू होता है
    • Vim में selected text को Phind या किसी दूसरे LLM को भेजने के लिए shortcut बनाने की कोशिश में मैं :'<,'>y|call system('firefox ?q='.shellescape(@*).' &') तक पहुँचा था
      बची हुई समस्या यह है कि text URL-encoded नहीं होता, और शायद इसका कोई elegant तरीका होगा, लेकिन अभी तक मुझे नहीं मिला
    • किसी और के Copilot example के आधार पर, local LLM के लिए basic code completion करने वाला एक rudimentary Emacs ollama API integration मैंने मोटे तौर पर बना रखा है
      M1 Mac पर आम तौर पर हर inference में करीब 7 सेकंड लगते हैं, इसलिए यह मेरी इच्छा से धीमा है, और कौन-सा context भेजना है यह भी बहुत simple है, लेकिन फिर भी मुश्किल से usable स्तर पर है
      Copilot-style request/response को ollama के साथ भेजने-पाने के लिए यह Python façade पर निर्भर है, इसलिए इसे public करने का इरादा नहीं था, लेकिन अगर रुचि हो तो इसे polish करके release कर सकता हूँ
    • जहाँ तक मुझे पता है, GitHub Copilot में Emacs/Vim integration है
  • जल्दी तुलना करके देखा तो results शानदार हैं, और web search और references जुड़ने का फायदा देखते हुए यह GPT-4 जैसा ही है, लेकिन तेज़ है। हालांकि दो छोटी कमियाँ हैं
    dark mode में answer body का font बहुत bold और bright है, इसलिए लंबे non-code paragraphs पढ़ना मुश्किल होता है, और light mode कुल मिलाकर बहुत bright है। लंबे text के लिए OpenAI जैसा gray dark background या HN जैसा sepia light background बेहतर लगेगा
    pricing page पर “हर दिन 500+ best model uses (GPT-4)” में GPT-4 से क्या मतलब है, यह भी confusing है। Phind खुद को GPT-4 competitor के रूप में announce करते हुए साथ ही pricing में GPT-4 usage लिखता है, यह अजीब लगता है

    • answer model के रूप में GPT-4 भी support किया जाता है, ताकि users अपने use case के हिसाब से चुन सकें। हालांकि ज्यादातर users के लिए Phind Model की ही सलाह देते हैं