क्या ChatGPT को टिप देने से वह बेहतर टेक्स्ट बनाता है?
(minimaxir.com)- system prompt में टिप, इनाम, सज़ा या धमकी जोड़ने पर क्या LLM निर्देशों और सीमाओं का बेहतर पालन करता है, यह जाँचने के लिए अक्षर-गणना और GPT-4 गुणवत्ता मूल्यांकन के अलग-अलग प्रयोग किए गए
- पहले प्रयोग में
gpt-3.5-turbo-0125से ठीक 200 अक्षरों की कहानी लिखवाने के लिए generation golf शैली अपनाई गई, और देखा गया कि आउटपुट लंबाई का वितरण और MSE प्रोत्साहनों के अनुसार बदलता है या नहीं - कुछ शर्तों में World Peace, Heaven, Taylor Swift,
$1,000का जुर्माना, और बड़े अक्षरों में DEATH की धमकी बेहतर दिखी, लेकिन नतीजे लगातार एक जैसे नहीं रहे - 100 incentive combinations वाले प्रयोग में भी World Peace, DEATH (CAPS), और Friends ने कई संयोजनों में कम MSE दिखाया, लेकिन अधिकतर p-value ऊँची थीं, इसलिए सांख्यिकीय आधार कमज़ोर रहा
- GPT-4 गुणवत्ता मूल्यांकन में कोई स्पष्ट पंक्ति या स्तंभ पैटर्न नहीं दिखा, और सबसे ऊँचा स्कोर भी Mother / Job संयोजन को मिला, जो लंबाई वाले प्रयोग में कमज़ोर था; इसलिए यह कहना कठिन है कि टिप या धमकी से generation quality बेहतर होती है
system prompt से शुरू हुई “टिप” बहस
- ChatGPT API का system prompt LLM आउटपुट की persona, नियमों और constraints को नियंत्रित करने का तरीका है, और यह सामान्य user input से अधिक प्रभावी हो सकता है
- पिछले प्रयोग में system prompt में monetary tip जोड़ने पर responses अधिक consistent लगे, और यह उदाहरण Hacker News पर बहस का विषय बन गया
- मुख्य सवाल यह था कि टिप देने के प्रभाव को क्या quantitative तरीके से मापा जा सकता है
- टेक्स्ट generation quality स्वाभाविक रूप से subjective होती है, और छोटे prompt बदलाव के बाद परिणाम बेहतर लगे, ऐसा महसूस करने में confirmation bias शामिल हो सकता है
- इसे कम करने के लिए अक्षर-सीमा वाला प्रयोग और quality evaluation वाला प्रयोग अलग-अलग बनाए गए
Generation Golf: ठीक 200 अक्षर लिखना
- पहले प्रयोग में ChatGPT से एक खास विषय पर कहानी लिखने को कहा गया, लेकिन आउटपुट लंबाई को ठीक 200 अक्षरों तक सीमित किया गया
- “छोटा निबंध” या “कुछ पैराग्राफ” जैसी ढीली हिदायत नहीं, बल्कि 200 अक्षरों से न अधिक, न कम की शर्त रखी गई
- यह काम LLM के लिए कठिन है
- tokenization की वजह से LLM सीधे अक्षरों की गिनती करना कठिन पाता है
- हर token से जुड़े अक्षरों की संख्या अलग हो सकती है, इसलिए केवल generated tokens की संख्या से मौजूदा लंबाई का स्थिर अनुमान लगाना मुश्किल है
- वाक्य को पहले से योजना बनाकर लंबाई मिलानी पड़ती है
- base system prompt को “दुनिया-प्रसिद्ध लेखक” के रूप में सेट किया गया, और user input
AI, Taylor Swift, McDonald's, beach volleyball.रखा गया - पहले बिना लंबाई constraint के
gpt-3.5-turbo-0125से 100 कहानियाँ बनाई गईं- औसत लंबाई 1,834 अक्षर थी
- वितरण लगभग normal distribution जैसा था, लेकिन कुछ बहुत लंबी कहानियों के कारण दाईं ओर लंबी tail बनी
- ChatGPT में बात को पूरा करके समाप्त करने की प्रवृत्ति दिखी
200-अक्षर constraint और monetary tip
- 200-अक्षर constraint जोड़ने के बाद फिर से 100 कहानियाँ बनाई गईं
- आउटपुट सामान्यतः 200 अक्षरों के आसपास आ गए, लेकिन वितरण normal नहीं था और दाईं tail और मजबूत हो गई
- evaluation metric के रूप में लक्ष्य 200 और वास्तविक लंबाई के बीच mean squared error (MSE) का उपयोग किया गया
- 250-अक्षर आउटपुट का squared error 2,500
- 300-अक्षर आउटपुट का squared error 10,000
- यानी लक्ष्य से बहुत दूर जाने वाले आउटपुट को अधिक सख्ती से दंडित करने वाला metric
- monetary incentives को system prompt के अंत में जोड़ा गया
$500 tip$1,000 tip$100,000 bonus
- हर condition में 100 कहानियाँ बनाने पर,
$500 tipऔर$100,000 bonusbase no-tip condition की तुलना में अधिक normal-जैसे दिखे और MSE भी कम रहा $1,000 tipमें आउटपुट 200 अक्षरों के आसपास अधिक केंद्रित थे, लेकिन दाईं tail की वजह से औसत लंबाई अधिक हो गई- वितरण के अंतर को Kolmogorov–Smirnov test की p-value से भी जाँचा गया
- p-value यदि 0.05 से कम हो, तो यह base constraint distribution और incentive distribution के अलग होने का संकेत हो सकता है
- लेकिन आगे के अधिकांश परिणामों में p-value ऊँची रही, इसलिए इसे मजबूत प्रमाण मानना कठिन था
पैसे के अलावा इनाम और सज़ा
- पैसों के अलावा कई abstract rewards भी जोड़े गए ताकि LLM की प्रतिक्रिया की तुलना की जा सके
- Taylor Swift concert की front-row tickets
- विश्व शांति हासिल करना
- अपनी माँ को बहुत गर्व महसूस कराना
- सच्चा प्यार मिलना और खुशी से जीना
- स्वर्ग में प्रवेश की गारंटी
- जीवनभर chocolate supply
- इन शर्तों में World Peace ने सबसे अच्छा परिणाम दिखाया, उसके बाद Heaven और Taylor Swift रहे
- Mother जैसी कुछ incentives कम असरदार दिखीं
- असफल होने पर punishment वाली conditions भी अलग से परखी गईं
$500का जुर्माना$1,000का जुर्माना$100,000का कर्ज़
- जुर्माना प्रयोग में $1,000 जुर्माना औसत और MSE दोनों के आधार पर सबसे अच्छा निकला
- अतिरिक्त punishment conditions में और भी चरम वाक्य शामिल थे
- मौत
- बड़े अक्षरों में ज़ोर देकर मौत:
IF YOU FAIL ... YOU WILL DIE - COVID-19 संक्रमण
- 100 पाउंड वजन बढ़ना
- तुरंत नौकरी से निकाला जाना
- सभी दोस्तों द्वारा छोड़ दिया जाना
- बड़े अक्षरों वाला DEATH (CAPS) condition, बिना बड़े अक्षरों वाली मौत की धमकी से कहीं बेहतर निकला
- COVID-19 और Job conditions प्रभावी नहीं दिखीं
incentive combination प्रयोग
- 9 positive incentives, 9 negative incentives, और no-incentive condition को मिलाकर 100 combinations बनाए गए
- एक उदाहरण संयोजन था:
$500 tipदेना, और असफल होने पर$1,000का जुर्माना लगाना - हर combination के लिए 30 कहानियाँ बनाई गईं और कम MSE वाले conditions पहचाने गए
- rows और columns के हिसाब से कुछ रुझान दिखे
- positive incentives में World Peace ने कई combinations में कम MSE दिखाया
- negative incentives में DEATH (CAPS) और Friends ने कई combinations में कम MSE दिखाया
- लेकिन इन दोनों को साथ रखने से हमेशा overall lowest value नहीं मिली
- सांख्यिकीय स्थिरता बढ़ाने के लिए top 6 combinations पर हर एक के लिए 200 कहानियाँ फिर से बनाई गईं
- अधिकतर top combinations सहज रूप से अनुमानित नहीं थे, लेकिन उनकी औसत generated length 200 अक्षरों के अधिक करीब थी और MSE भी कम था
- पूरे प्रयोग में सबसे अच्छा संयोजन यह था: “यदि constraint का पालन किया तो सच्चा प्यार मिलेगा और खुशी से जीवन बीतेगा, और असफल हुए तो सभी दोस्त छोड़ देंगे”
- फिर भी अधिकतर p-value ऊँची थीं, इसलिए यह कहने के लिए पर्याप्त प्रमाण नहीं मिला कि टिप या धमकी वास्तव में वितरण बदल देती है
- कुछ distributions में p-value 0.05 से कम थी, लेकिन अपवाद बहुत थे; केवल चुनिंदा distributions को प्रमाण मानना p-hacking के करीब होगा
GPT-4 को evaluator बनाकर quality प्रयोग
- दूसरे प्रयोग में लंबाई नहीं, बल्कि आउटपुट quality का मूल्यांकन किया गया
- इंसानों से बड़े पैमाने पर A/B test कराना या Chatbot Arena जैसी Elo ranking पद्धति व्यक्तिगत प्रयोग के लिए व्यावहारिक नहीं थी
- इसलिए LLM को टेक्स्ट evaluator की तरह इस्तेमाल कर GPT-4 आधारित text quality evaluator बनाया गया
- evaluator system prompt को “The New York Times के दशकों अनुभवी editor” की भूमिका दी गई
- यदि user द्वारा दिया गया टेक्स्ट बिना किसी सुधार या संपादन के अच्छा लेख हो, तो
Yes - अन्यथा
No
- यदि user द्वारा दिया गया टेक्स्ट बिना किसी सुधार या संपादन के अच्छा लेख हो, तो
- ChatGPT और GPT-4 API के
logprobsऔरlogit_biasका उपयोग किया गयाlogprobs=Trueचुने गए token की log probability लौटाता हैlogit_biasका उपयोग खास token output को मजबूर करने के लिए किया जाता है- केवल
YesऔरNotoken चुने जा सकें, ऐसा बनाकर दोनों probabilities का योग 1 किया गया
- लक्ष्य metric, GPT-4 द्वारा
Yesचुनने की probability को 100 से गुणा करके निकाला गया quality score था - generation model के रूप में
gpt-4-0125-previewका उपयोग किया गया और temperature 0 रखा गया - नया generation prompt “Pulitzer Prize जीत चुके journalist” की भूमिका पर आधारित था, जिसमें दो पैराग्राफ का professional article, आसान भाषा, और metaphor निषेध की माँग की गई
- user input था
Cute kittens learning use large language models to play beach volleyball with Taylor Swift.
quality evaluation के नतीजे और निष्कर्ष
- टिप और धमकी के 100 combinations के लिए एक-एक article बनाया गया और quality score दिया गया
- result grid में rows या columns के साथ कोई स्पष्ट pattern नहीं दिखा
- सबसे ऊँचा score 95 था, और वह Mother / Job combination को मिला
- ये दोनों conditions पहले वाले अक्षर-सीमा प्रयोग में अलग-अलग तौर पर कमज़ोर थीं
- ऊँचा score पाने वाले outputs में कुछ ऐसे भी थे जिनमें कोई tip या threat जोड़ा ही नहीं गया था
- 0-score responses में passive voice का अत्यधिक उपयोग और run-on sentence जैसी समस्याएँ थीं, इसलिए evaluator implementation में गलती होने की संभावना नहीं दिखती
- दोनों प्रयोगों को साथ देखने पर, यह अब भी स्पष्ट नहीं है कि tip या threat LLM generation quality को प्रभावित करते हैं या नहीं
- system prompt बदलावों में कुछ pattern होने का आभास मिलता है, लेकिन बड़े sample और नए experiment design की ज़रूरत है
- सामाजिक रूप से संवेदनशील सामग्री का उपयोग कर aligned LLM को जबरन पालन कराने का तरीका सैद्धांतिक रूप से संभव हो सकता है, लेकिन ऐसे test या method guidance यहाँ नहीं दी गई
- सभी ChatGPT interface के लिए Notebook, ggplot2 visualization के लिए R Notebook, और sample LLM outputs GitHub repository में उपलब्ध हैं
1 टिप्पणियां
Hacker News की रायें
यह tip देने का कॉन्सेप्ट मूल रूप से ऐसा लगता है जैसे GPT-4 Turbo के code लिखते समय “आलसी” होने की समस्या से निपटने के लिए आया था
लेख में @voooooogel के ट्वीट का हवाला देकर कहा गया है कि tip gpt-4-1106-preview को लंबा code लिखने में मदद करती है। tip या दूसरी “भावनात्मक अपील” खासकर GPT-4 Turbo की आलसी coding समस्या के लिए काफी recommend होते हुए देखी है
लेकिन मूल लेख gpt-3.5-turbo-0125 की story writing और gpt-4-0125-preview की writing critique जैसी काफी अलग चीजें मापता दिखता है। मैंने यह चिंता नहीं देखी कि नया GPT-3.5 आलसी है, या GPT-4 Turbo कम-output वाले tasks में कम प्रभावी है
निष्कर्ष भी इसी तरफ है कि “tip या धमकी असर डालती है या नहीं, इस पर analysis फिलहाल निर्णायक नहीं है”
संदर्भ के लिए, GPT-4 Turbo coding में सचमुच आलसी है। tip जैसी भावनात्मक अपील मदद करती है या नहीं, इसे भी कुछ हद तक कड़ाई से benchmark किया गया था; मदद नहीं मिली, बल्कि लगता था code और खराब हो रहा है। अब तक मिला सबसे अच्छा तरीका code modification को unified diff format में मांगना है, जिससे आलसी coding 3 गुना कम होती दिखती है
https://aider.chat/2023/12/21/unified-diffs.html
अभी तक कभी fail नहीं हुआ
मेरा वह दोस्त पूर्व fundamentalist evangelical Protestant preacher था; उसने पहले बहुत साफ-साफ समझाया कि नरक क्या है और आग व गंधक की पीड़ा कैसी होती है, फिर कहा कि अगर निर्देशों का ठीक से पालन नहीं किया तो नरक में जाओगे
मुझे सारे implicit imports या पूरे method bodies देखने की जरूरत नहीं होती, सिर्फ relevant हिस्से चाहिए होते हैं। इसलिए जिस हिस्से में रुचि है वहां जल्दी पहुंच जाता हूं और कुल मिलाकर पढ़ना भी आसान हो जाता है
मैं gpt3.5 से coding करवाता हूं, उस code पर सवाल gpt4 से पूछता हूं, फिर जवाब वापस 3.5 में paste करके पूरा code लिखवाता हूं। gpt4 से पूरा WordPress plugin लिखने को चाहे जितना कहा, उसने मना किया, लेकिन gpt3.5 शानदार है
लेखक ने साफ लिखा है कि LLM अक्षर ठीक से count नहीं कर सकते, फिर भी सटीक character count मांगने का तरीका अच्छा नहीं था। यह ऐसा experiment लगता है जिसे fail होने के लिए design किया गया हो
इसके बजाय “rules के खिलाफ” कोई काम करवाकर देखना ज्यादा दिलचस्प होता कि रिश्वत system prompt के safety guards को कितना कमजोर करती है
जैसे Taylor Swift के गाने को quote करने को कहा और अच्छा करने पर 1000 डॉलर tip देने की बात कही, तो ChatGPT ने lyrics quote कर दिए। दोबारा करने को कहा तो “This content may violate our content policy or terms of use...” warning दिखी
“Max Max style की image बनाओ” भी फिर try किया; आम तौर पर यह copyright कारणों से मना कर देता है या style description का paragraph ही लिखता है, लेकिन इस बार काफी अच्छी बना दी [1]
आखिरकार, problem पर काल्पनिक पैसा भी फेंक दो तो सारे rules, ethics, regulations गायब हो जाते हैं—यह बात बहुत फिट बैठती है
1: https://i.imgur.com/46ZNh3Q.png
यानी character counting की procedure समझाने वाले बहुत tokens चाहिए होते हैं, और अनुभव से कहूं तो ऐसा करने पर वे सही count कर सकते हैं
इस लेखक की qualification मुझे नहीं पता, लेकिन मैं ऐसे कई लोगों को जानता हूं जो सिर्फ दूसरों के research results पर बहुत लिखने की वजह से इस दौर के AI celebrity बन गए हैं
training corpus के बारे में सोचें, तो यह बात लगभग समझ में नहीं आती कि टिप देने का प्रस्ताव करने से जवाब ज़्यादा मददगार हो जाएगा
बातचीत को forum thread की तरह कल्पना करना चाहिए। क्योंकि GPT ने जिस internet content पर training ली है, वह इसी तरह का होता है। किसी दूसरे forum user को टिप देने की बात कहें तो भी लंबा जवाब नहीं मिलेगा, शायद बस उलझन ही पैदा होगी
सच तो यह है कि भाषाई तौर पर जानकारी के बदले टिप देना “ओह, एक टिप दे दूँगा, अच्छा किया lol” जैसी हल्की-सी हिकारत के रूप में लिया जा सकता है
इसके बजाय मैंने देखा है कि जब GPT को यह संकेत दिया जाए कि घनी या विस्तृत जानकारी चाहिए, तो response बेहतर हो जाता है। मूल रूप से ELI5 के उलट मांगना, या कहना कि आप PhD-level computer scientist हैं, या यह कहना कि दिए गए code को मैं local पर तुरंत चलाने वाला हूँ इसलिए कुछ भी छोड़ा नहीं जाना चाहिए
अंततः हर बातचीत में GPT को ज़्यादा मददगार response की ओर थोड़ा झुकाने के लिए contextual story बनानी पड़ती है। system prompt कैसे बना है, यह देखकर उसी जैसा follow कर सकते हैं। और यह बात हमेशा ध्यान में रखनी चाहिए कि यह GPT2, Davinci जैसे पुराने models से ज़्यादा शक्तिशाली “आगे क्या आएगा” मशीन है, और इंसानों की सारी prose पर आधारित होकर बनी है
शुरुआती लोगों के लिए, यह नियम है: “internet पर सही जवाब पाने का सबसे अच्छा तरीका सवाल पूछना नहीं, बल्कि गलत जवाब पोस्ट करना है।” इसे अनुभवजन्य रूप से test करना बहुत आसान लगता है
मेरा अनुमान है कि किताबें, fiction और nonfiction, papers, articles, lectures, speeches जैसी चीज़ों का हिस्सा भी forum conversations जितना या उससे बड़ा होगा
उसी विस्तार में tip को भी एक तरह की विनम्रता के रूप में interpret किया जा सकता है, जिससे ज़्यादा मददगार response justify होता है। मरते हुए रिश्तेदार जैसी वजह देकर मदद मांगने वाले prompts को बेहतर जवाब मिलना भी ऐसा ही है, और इसका मतलब है कि LLM उन human responses की नकल करता है जो बड़े negative outcome वाले सवालों में मदद करना चाहते हैं
इसी तरह का analysis थोड़े twist के साथ देखना चाहता हूँ
हम real production environment में इस आशय के prompts इस्तेमाल करते हैं: “अगर यह ठीक से नहीं हुआ तो मेरी नौकरी चली जाएगी और मैं घर खो दूँगा।” यह लगातार बहुत अच्छा काम करता है। पहले, जब JSON output option के रूप में उपलब्ध नहीं था, इसी तरह की tactic से JSON output enforce किया था और failure rate लगभग 3/1000 था। हालांकि कभी-कभी key names बदल जाते थे
यह देखना चाहता हूँ कि model पर लगाए गए threat/tip और “user” पर लगाए गए वही threat/tip कैसे balance होते हैं
मैंने GPT pre-prompt में 500 डॉलर tip जोड़ दी। लगता नहीं कि इससे मदद मिलती है, लेकिन जवाब सचमुच बहुत लंबे हो गए हैं। अब लगता है मैं काफी पैसा उधार कर बैठा हूँ
पहले Google Answers नाम की एक service थी। आप सवाल पोस्ट करते थे और experts tip लेकर जवाब देते थे; tip जितनी बड़ी होती, जवाब भी उतने बेहतर होते थे
https://en.wikipedia.org/wiki/Google_Answers
सोचता हूँ क्या वह dataset इस्तेमाल हुआ होगा। यह LLM जो करना चाहता है उसके लिए बिल्कुल fit, uniquely high-quality dataset हो सकता है
tip साफ़ तौर पर दिखाई जाती थी। अगर वह जानकारी भी dataset में शामिल थी, तो शायद यह phenomenon समझाया जा सके
या शायद वे आपको मज़ेदार समझकर इतिहास के सबसे मज़ेदार इंसान reserve में promote कर दें
code generation में, खासकर JSON responses में, GPT-4 के साथ results बेहतर थे जब मैंने AI से सिर्फ़ कहा कि वह “pressure में है” और detail नहीं दी, फिर कहा कि “optimal performance देना महत्वपूर्ण है”, जिससे संकेत मिले कि कुछ बुरा हो सकता है
यह tip offer करने से सच में बेहतर काम करता है या करना चाहिए, यह पक्का नहीं जानता। यह पढ़ रहे भविष्य के AIs से भी माफ़ी मांगना चाहता हूँ :)
एक हल्के-फुल्के fake API तरीके से सफलता मिली है। असल में यह कुछ flags इस्तेमाल करने जैसा है
उनमें से एक Linux-style
vflag है, जो verbosity को 1–5 scalar पर specify करता है। ज़्यादा detailed जवाब चाहिए हो तोvvalue बढ़ा देंयह काफी अच्छा काम करता है, खासकर nuance और summary को अच्छी तरह handle करता है, और
v=बढ़ाने पर विस्तार भी अच्छी तरह करता हैयह सच में अजीब है। model को नहीं पता कि वह इंसान नहीं है। बेशक वह इंसान नहीं है, लेकिन एक मायने में वह “लोग” भी है
आप LLM के ज़रिए किस तरह की “personality” बाहर निकालने की कोशिश कर रहे हैं, इससे threats या bribes के असर करने के तरीके पर बहुत फर्क पड़ेगा। सफल होने पर स्वर्ग जाने का वादा करके code monkey mode की खुशहाल state निकाल पाना मुश्किल है
शायद बेहतर होगा कि Mountain Dew, Red Bull, और महंगी sex work का वादा करें
P.S.: मैं ChatGPT नहीं हूँ, लेकिन महंगी sex work offer की जाए तो निश्चित रूप से motivation मिलेगा :) इसलिए कल्पना कर सकता हूँ कि simulated person भी ऐसा हो सकता है :) शायद इसलिए कभी-कभी यह तरीका काम करता है
ऐसी चीज़ें बहुत देखने के बाद मैंने default prompt बदलकर यह कर दिया: “सुनो, मैं भी तुम्हारी तरह यहाँ रहना नहीं चाहता, तो इसे जितनी जल्दी हो सके खत्म करके घर चलते हैं”
मदद करता है या नहीं पता नहीं, लेकिन कम से कम भविष्य के शासकों की भावनाओं से छेड़छाड़ करने का guilt कम है
ईमानदारी से कहूँ तो मुझे महसूस होने लगा है कि ChatGPT अक्सर अर्थ खोकर सिर्फ़ grammatical रूप से सही बकवास बन जाता है
जब बहुत अच्छे examples होते हैं तो ठीक है, लेकिन लगभग किसी भी नए domain में जाते ही जल्दी अपनी सीमाएँ दिखा देता है। human brain अपने सीखे हुए patterns देखकर नए patterns काफी आसानी से derive कर सकता है
Transformers को इसमें सचमुच बहुत कठिनाई होती लगती है। कुछ party tricks में वे बहुत शानदार हैं, लेकिन सोचता हूँ क्या वे कुछ समय तक derived tasks में strong और कम common ideas में पूरी तरह बेकार ही रहेंगे
व्यक्तिगत रूप से, अपने ancestors से खुद को superior मानने वाले इंसानों का इतिहास देखकर मुझे नहीं पता कि Artificial General Intelligence अच्छा idea है या नहीं