Program of Thoughts Prompting (HI)
Program of Thoughts Prompting (PoT, अंग्रेज़ी: «विचारों का कार्यक्रम») — यह बड़े भाषा मॉडलों (LLM) के लिए prompt engineering की एक विधि है, जिसमें मॉडल किसी कार्य के मध्यवर्ती हल-चरणों के रूप में पाठ्य व्याख्या के बजाय प्रोग्रामिंग कोड उत्पन्न करता है[1]। यह दृष्टिकोण तार्किक तर्कणा को गणितीय अभिकलन से अलग करता है: भाषा मॉडल समाधान की योजना एक प्रोग्राम के रूप में बनाता है (उदाहरण के लिए Python में), और अभिकलन एक बाह्य, निर्धारणवादी कोड इंटरप्रेटर द्वारा किया जाता है।
यह विधि 2022 में वेनहु चेन (Wenhu Chen) के नेतृत्व में शोधकर्ताओं के एक समूह द्वारा प्रस्तावित की गई थी और मुख्य रूप से संख्यात्मक या तार्किक प्रकृति के कार्यों (गणितीय समस्याएँ, वित्तीय गणनाएँ) के लिए लक्षित है, जहाँ Chain-of-Thought जैसी पारंपरिक तर्कणा विधियाँ अभिकलन की सटीकता में कठिनाइयों का सामना करती थीं[1]।
पृष्ठभूमि और अवधारणा
Chain-of-Thought की सीमाएँ
PoT विधि Chain-of-Thought (CoT) (तर्क-श्रृंखला) की अवधारणा का विस्तार है, जो पहले LLM के तार्किक निष्कर्ष को बेहतर बनाने का प्राथमिक दृष्टिकोण था[2]। CoT विधि में मॉडल प्राकृतिक भाषा में मध्यवर्ती चरणों का अनुक्रम उत्पन्न करता है। तर्कणा की गुणवत्ता में उल्लेखनीय सुधार के बावजूद, इस दृष्टिकोण की एक मूलभूत सीमा है: मॉडल तर्क और स्वयं अभिकलन दोनों पाठ्य रूप में करता है। इससे अक्सर अशुद्ध अंकगणितीय परिचालन, पूर्णांकन त्रुटियाँ और अन्य अनिश्चितताएँ उत्पन्न होती हैं, क्योंकि भाषा मॉडल स्वभावतः सटीक कैलकुलेटर नहीं होते।
Program of Thoughts की मूल विचारधारा
PoT का मूल विचार यह है कि अभिकलन को एक बाह्य प्रणाली (कोड इंटरप्रेटर) को सौंप दिया जाए, और भाषा मॉडल से केवल समाधान की योजना को एक निष्पादन योग्य प्रोग्राम के रूप में औपचारिक बनाने की आवश्यकता हो[1]। मॉडल «अभिकलक» के बजाय «प्रोग्रामर» की भूमिका निभाता है।
कार्य की प्रक्रिया इस प्रकार है:
- मॉडल को इनपुट के रूप में एक कार्य प्राप्त होता है (उदाहरण के लिए, एक पाठ्य गणितीय समस्या)।
- पाठ्य तर्कणा के बजाय वह एक प्रोग्रामिंग भाषा (जैसे Python) में एक स्क्रिप्ट उत्पन्न करता है, जो उस कार्य को हल करती है।
- उत्पन्न कोड एक बाह्य इंटरप्रेटर को भेजा जाता है, जो उसे निष्पादित करता है।
- कोड निष्पादन का परिणाम अंतिम उत्तर होता है।
इस प्रकार, जटिल और सटीक अभिकलन (बड़ी संख्याओं के साथ परिचालन, विशेष पुस्तकालयों का आह्वान) स्वयं मॉडल द्वारा नहीं बल्कि प्रोग्राम द्वारा किए जाते हैं, जो निर्धारणवादिता और उच्च सटीकता सुनिश्चित करता है[3]।
कार्यान्वयन और पुस्तकालयों का उपयोग
PoT के कार्यान्वयन में LLM की सही और प्रभावी कोड उत्पन्न करने की क्षमता महत्त्वपूर्ण है। इस दृष्टिकोण के लेखकों ने OpenAI Codex मॉडल का उपयोग किया, जिसे विशेष रूप से प्रोग्रामिंग कार्यों पर प्रशिक्षित किया गया था। PoT दृष्टिकोण मॉडल को बाह्य पुस्तकालयों का उपयोग करने की अनुमति देता है, जिससे हल किए जा सकने वाले कार्यों का वर्ग काफी विस्तृत हो जाता है। उदाहरण के लिए, प्रतीकात्मक गणित की समस्याओं को हल करते समय, मॉडल ऐसा कोड उत्पन्न कर सकता है जो समीकरणों के विश्लेषणात्मक समाधान के लिए SymPy पुस्तकालय का उपयोग करता है, जो विशुद्ध भाषाई विधियों की क्षमताओं से परे है[1]।
PoT के लिए prompt दो मोड में प्रदान किया जा सकता है:
- Few-shot: prompt में «प्रश्न — समाधान-प्रोग्राम» युग्मों के कई उदाहरण होते हैं।
- Zero-shot: prompt में बिना उदाहरणों के केवल कार्य का वर्णन करने वाला निर्देश होता है।
zero-shot मोड में भी PoT उच्च प्रभावशीलता दिखाता है, क्योंकि मॉडल को एक स्पष्ट संरचना उत्पन्न करनी होती है[4]।
परिणाम और प्रभावशीलता
PoT विधि ने बहु-चरणीय संख्यात्मक तर्कणा की आवश्यकता वाले कार्यों में समाधान की गुणवत्ता में उल्लेखनीय वृद्धि प्रदर्शित की। मूल कार्य में इसे गणितीय और वित्तीय समस्याओं के आठ dataset पर परीक्षित किया गया, जिनमें GSM8K, AQUA, SVAMP, FinQA और अन्य शामिल थे।
- सटीकता में वृद्धि: सभी मामलों में PoT ने आधारभूत CoT दृष्टिकोण को पीछे छोड़ा। औसतन सही समाधानों के अनुपात में ~12% का सापेक्षिक लाभ प्राप्त हुआ।
- लोकप्रिय गणितीय dataset GSM8K पर PoT के साथ मॉडल की सटीकता 71.6% तक पहुँची, जबकि CoT के साथ यह 63.1% थी।
- वित्तीय कार्यों में लाभ और भी अधिक महत्त्वपूर्ण था: dataset FinQA पर सटीकता 40.4% (CoT) से बढ़कर 64.5% (PoT) हो गई[1]।
- Self-Consistency के साथ संयोजन: PoT की प्रभावशीलता को स्व-संगति (self-consistency) विधि के साथ संयोजन से और बढ़ाया जा सकता है। इस स्थिति में मॉडल कई स्वतंत्र समाधान-प्रोग्राम उत्पन्न करता है, और अंतिम उत्तर उनके निष्पादन परिणामों से «बहुमत के सिद्धांत» द्वारा चुना जाता है। self-consistency के साथ संयोजन में PoT ने प्रकाशन के समय सभी परीक्षित गणितीय और वित्तीय benchmark पर नई state-of-the-art स्थिति स्थापित की[1]।
लाभ और सीमाएँ
लाभ
- अभिकलन की सटीकता: मुख्य लाभ। बाह्य इंटरप्रेटर द्वारा अंकगणितीय परिचालनों का निष्पादन LLM में निहित पूर्णांकन त्रुटियों और अनिश्चितताओं को समाप्त करता है।
- पुस्तकालयों के उपयोग की क्षमता: मॉडल शक्तिशाली बाह्य पुस्तकालयों (जैसे प्रतीकात्मक अभिकलन, सांख्यिकीय विश्लेषण, दिनांकों के साथ कार्य के लिए) का उपयोग कर सकता है, जो पहले अनुपलब्ध कार्यों को हल करता है।
- व्याख्यायोग्यता और डिबगिंग: प्रोग्रामिंग कोड समाधान के तर्क का एक औपचारिक और संरचित प्रतिनिधित्व है, जो प्राकृतिक भाषा में तर्कणा की तुलना में इसकी जाँच और डिबगिंग को सरल बनाता है।
- सार्वभौमिकता: दृष्टिकोण few-shot और zero-shot दोनों मोड में प्रभावी है और विभिन्न क्षेत्रों (गणित, वित्त, विज्ञान) में लागू होता है।
सीमाएँ
- सुरक्षा: बाह्य इंटरप्रेटर पर उत्पन्न कोड का निष्पादन सुरक्षा जोखिम उत्पन्न करता है। मॉडल सैद्धांतिक रूप से हानिकारक कोड (जैसे फ़ाइलें हटाने के लिए) उत्पन्न कर सकता है। इसलिए PoT के व्यावहारिक अनुप्रयोग के लिए निष्पादन वातावरण की अलगाव (sandbox) और कोड की सावधानीपूर्वक फ़िल्टरिंग आवश्यक है[4]।
- सीमित प्रयोज्यता क्षेत्र: यह विधि उन कार्यों के लिए सबसे प्रभावी है जिन्हें एल्गोरिदम के रूप में स्पष्ट रूप से औपचारिक बनाया जा सकता है। ऐसे कार्यों के लिए जिनमें भाषाई सूक्ष्मताओं की समझ, सामान्य ज्ञान या रचनात्मक दृष्टिकोण की आवश्यकता होती है, PoT का प्रत्यक्ष अनुप्रयोग कठिन है।
- कोड की गुणवत्ता पर निर्भरता: विधि की प्रभावशीलता सीधे LLM की वाक्य-रचना सम्मत और तार्किक रूप से सही कोड उत्पन्न करने की क्षमता पर निर्भर करती है।
संबंधित दृष्टिकोण
LLM की तर्कणा को बेहतर बनाने के लिए कोड के उपयोग के विचार को अन्य समान दृष्टिकोणों में भी विकसित किया गया।
- Program-Aided Language Models (PAL): PoT के लगभग एक साथ प्रस्तावित एक विधि, जो कार्यों को हल करने के लिए Python कोड उत्पन्न करने का भी उपयोग करती है[5]। वैचारिक रूप से PAL और PoT बहुत निकट हैं और «कोड के माध्यम से तर्कणा» की रणनीति की प्रभावशीलता की पुष्टि करते हैं।
- Tree of Thoughts (ToT): एक अधिक जटिल विधि जो समाधान के संभावित चरणों का एक «वृक्ष» उत्पन्न करने और उसका अन्वेषण करने का प्रस्ताव करती है, जो विचारों की रैखिक «श्रृंखला» के विचार का विस्तार है। PoT को इस वृक्ष के नोड्स के भीतर परिकल्पनाओं की जाँच के लिए उपयोग किया जा सकता है।
संदर्भ
- Program of Thoughts Prompting पर मूल वैज्ञानिक लेख
- Learn Prompting पोर्टल पर PoT की मार्गदर्शिका
साहित्य
- Chen, W. et al. (2023). Program of Thoughts Prompting: Disentangling Computation from Reasoning for Numerical Reasoning Tasks. arXiv:2211.12588.
- Wei, J. et al. (2022). Chain of Thought Prompting Elicits Reasoning in Large Language Models. arXiv:2201.11903.
- Wang, X. et al. (2022). Self-Consistency Improves Chain of Thought Reasoning in Language Models. arXiv:2203.11171.
- Gao, L. et al. (2022). PAL: Program-Aided Language Models. arXiv:2211.10435.
- Cobbe, K. et al. (2021). Training Verifiers to Solve Math Word Problems. arXiv:2110.14168.
- Chen, Z. et al. (2021). FinQA: A Dataset of Numerical Reasoning over Financial Data. arXiv:2109.00122.
- Zhu, F. et al. (2021). TAT-QA: A Question Answering Benchmark on a Hybrid of Tabular and Textual Content in Finance. arXiv:2105.07624.
- Patel, A. et al. (2021). Are NLP Models Really Able to Solve Simple Math Word Problems? (Introducing SVAMP). arXiv:2103.07191.
- Xu, F. et al. (2023). RECOMP: Improving Retrieval-Augmented LMs with Compression and Selective Augmentation. arXiv:2310.04408.
- Mu, J. et al. (2023). Learning to Compress Prompts with Gist Tokens. arXiv:2304.08467.
टिप्पणियाँ
- ↑ 1.0 1.1 1.2 1.3 1.4 1.5 Chen, W. et al. «Program of Thoughts Prompting: Disentangling Computation from Reasoning for Numerical Reasoning Tasks». arXiv:2211.12588, 2023. [१]
- ↑ Wei, J. et al. «Chain-of-Thought Prompting Elicits Reasoning in Large Language Models». arXiv:2201.11903, 2022. [२]
- ↑ «Program of Thoughts: Everything You Need to Know». The Ministry of AI. [३]
- ↑ 4.0 4.1 «Program of Thoughts Prompting: Enhancing Accuracy in Reasoning and Computation». Learn Prompting. [४]
- ↑ «PAL (Program-Aided Language Models)». Prompt Engineering Guide. [५]