From Monolithic to Modular: Segment-level Automatic Prompt Optimization
यह शोध पत्र SAPO को प्रस्तुत करता है, जो एक सेगमेंट-स्तरीय स्वचालित प्रॉम्प्ट अनुकूलन विधि है जो विशिष्ट कमजोरियों को लक्षित करने के लिए प्रॉम्प्ट को अलग-अलग घटकों में विभाजित करती है और विविध बेंचमार्क पर मौजूदा मोनोलिथिक (monolithic) दृष्टिकोणों से बेहतर प्रदर्शन करती है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक सुपर-स्मार्ट रोबोट को कहानी लिखना, गणित की समस्या हल करना या समाचार लेख का सारांश निकालना सिखाने की कोशिश कर रहे हैं। आप इसे निर्देशों का एक सेट देकर करते हैं, जिसे वैज्ञानिक "प्रॉम्ट" (prompt) कहते हैं। एक प्रॉम्ट को एक रेसिपी की तरह समझें: यदि निर्देश अस्पष्ट या अस्त-व्यस्त हैं, तो रोबोट चॉकलेट के बजाय साबुन के स्वाद वाला केक बना सकता है। लंबे समय तक, शोधकर्ताओं ने इन रेसिपी को ठीक करने के लिए हर बार पूरी चीज़ को शून्य से फिर से लिखने की कोशिश की। यह एक पूरे केक को फेंक देने जैसा था क्योंकि उसकी फ्रॉस्टिंग थोड़ी सी खराब थी, इस उम्मीद में कि अगली कोशिश एकदम सही होगी। यह विधि, जिसे "मोनोलिथिक" (monolithic) ऑप्टिमाइज़ेशन कहा जाता है, अक्सर कार्य के एक हिस्से के लिए तो अच्छा काम करती थी लेकिन अनजाने में दूसरे हिस्से को बिगाड़ देती थी, जिससे रोबोट भ्रमित और परिणाम असंगत हो जाते थे।
आप जिस पेपर को पढ़ने जा रहे हैं, वह इस समस्या को SAPO (सेगमेंट-लेवल ऑटोमैटिक प्रॉम्ट ऑप्टिमाइज़ेशन) नामक एक नए दृष्टिकोण के साथ हल करता है। पूरी रेसिपी को फेंकने के बजाय, SAPO एक मास्टर शेफ की तरह काम करता है जो सावधानी से केक को चखता है, पहचानता है कि ठीक कौन सा घटक गलत है (शायद बहुत अधिक नमक, या कम चीनी) और केवल उसी हिस्से को ठीक करता है जबकि बाकी सही हिस्सों को वैसे ही रहने देता है। लेखकों ने दो अलग-अलग रोबोट दिमागों (GPT-3.5-Turbo और GPT-4o-mini) का उपयोग करके पांच अलग-अलग प्रकार के कार्यों पर इस विधि का परीक्षण किया, जिनमें से कुछ पठन बोध (reading comprehension) के प्रश्नों के उत्तर देना और जटिल गणित की समस्याओं को हल करना शामिल है। उन्होंने पाया कि निर्देशों को छोटे, प्रबंधनीय टुकड़ों में तोड़कर और केवल कमजोर बिंदुओं को ठीक करके, वे पिछले तरीकों की तुलना में बहुत बेहतर परिणाम प्राप्त कर सकते हैं, जिससे कुछ कार्यों पर प्रदर्शन में 7.25% तक सुधार हुआ।
एक बेहतर रोबोट के लिए रेसिपी
आइए देखें कि यह कैसे काम करता है। कल्पना कीजिए कि आप एक रोबोट को एक बहुत लंबा, जटिल निर्देश मैनुअल दे रहे हैं। अतीत में, यदि रोबोट गलत उत्तर देता था, तो एक स्वचालित ऑप्टिमाइज़र एक ही बार में पूरे मैनुअल को फिर से लिखने की कोशिश करता था। यह एक टूटी हुई कार के इंजन को ठीक करने के लिए पूरी कार को बदलने जैसा है। कभी-कभी, यह नया कार चलाने के लिए तो शानदार होती है लेकिन पार्किंग करने के लिए बहुत खराब। पुरानी विधि अक्सर रोबोट को एक चीज़ में बेहतर बनाती थी लेकिन दूसरी चीज़ में बदतर बना देती थी, जिसे लेखक "प्रॉम्ट ड्रिफ्टिंग" (prompt drifting) कहते हैं।
इस पेपर के लेखक, निकितात कुलिन और उनकी टीम, एक स्मार्ट तरीका सुझाते हैं। उन्होंने महसूस किया कि एक अच्छा निर्देश मैनुअल केवल टेक्स्ट का एक बड़ा ब्लॉक नहीं है; यह एक पुस्तक के अध्यायों की तरह विभिन्न अनुभागों से बना होता है। वे प्रॉम्ट को चार विशिष्ट "सेगमेंट" (अनुभागों) में तोड़ते हैं:
- भूमिका (Role): रोबोट को क्या होना चाहिए? (जैसे, "आप एक सहायक इतिहासकार हैं।")
- संदर्भ (Context): पृष्ठभूमि की कहानी या स्थिति क्या है? (जैसे, "आप एक छात्र से बात कर रहे हैं।")
- कार्य (Tasks): रोबोट को वास्तव में क्या करना है? (जैसे, "इस पाठ का तीन वाक्यों में सारांश दें।")
- आउटपुट प्रारूप (Output Format): उत्तर कैसा दिखना चाहिए? (जैसे, "मुझे बुलेटेड सूची दें।")
SAPO डिटेक्टिव गेम
नया तरीका, SAPO, इन चार सेगमेंट को एक डिटेक्टिव गेम (जासूसी खेल) के सुरागों की तरह मानता है। यहाँ वह चरण-दर-चरण प्रक्रिया दी गई है जिसका वे उपयोग करते हैं:
सबसे पहले, सिस्टम एक प्रशिक्षण सत्र के माध्यम से रोबोट को चलाता है। यह परिणामों को देखता है और शीर्ष 5 सबसे अच्छे उदाहरणों (जहाँ रोबोट सही था) और नीचे के 5 सबसे खराब उदाहरणों (जहाँ रोबोट ने गलती की) को चुनता है।
इसके बाद, सिस्टम डिटेक्टिव की भूमिका निभाता है। यह एक दूसरे, अधिक स्मार्ट रोबोट (एक जज के रूप में कार्य करने वाला) से शीर्ष 5 और निचले 5 उदाहरणों को देखने और यह पता लगाने के लिए कहता है कि रोबक क्यों सफल या विफल हुआ। क्या "भूमिका" वाले भाग ने रोबोट को भ्रमित किया? क्या "कार्य" बहुत अस्पष्ट था? जज यह पहचानता है कि कौन से सेगमेंट "मजबूत" थे (जो अच्छे उदाहरणों में अच्छी तरह काम कर रहे थे) और कौन से "कमजोर" थे (जो खराब उदाहरणों में परेशानी पैदा कर रहे थे)।
फिर जादू वाला हिस्सा आता है: कन्स्ट्रेंड सिंथेसिस (Constrained Synthesis)। पूरे मैनुअल को फिर से लिखने के बजाय, सिस्टम प्रॉम्ट के नए संस्करण बनाता है जो मजबूत सेगमेंट को बिल्कुल वैसा ही रखते हैं और केवल कमजोर सेगमेंट को बदलते हैं। यह एक परफेक्ट चॉकलेट केक बैटर को रखने और जले हुए फ्रॉस्टिंग को ताज़ा बैच से बदलने जैसा है। यह सुनिश्चित करता है कि निर्देश के वे हिस्से जो पहले से ही काम कर रहे थे, अनजाने में टूट न जाएं।
अंत में, सिस्टम इन आंशिक रूप से संशोधित प्रॉम्ट्स का परीक्षण प्रश्नों के एक अलग सेट (वैलिडेशन सेट) पर करता है। यदि नया प्रॉम्ट बेहतर प्रदर्शन करता है, तो उसे स्वीकार कर लिया जाता है। यदि नहीं, तो सिस्टम पुराने प्रॉम्ट को ही रखता है। यह बार-बार होता रहता है जब तक कि रोबोट उतना अच्छा न हो जाए जितना वह हो सकता है।
परिणाम: एक स्पष्ट विजेता
टीम ने पांच बहुत अलग चुनौतियों पर इस पद्धति का परीक्षण किया:
- SQuADv2: एक पठन अंश के आधार पर प्रश्नों के उत्तर देना।
- TweetEval: ट्वीट्स के मूड (भाव) को वर्गीकृत करना।
- XSUM: समाचार लेखों का सारांश बनाना।
- CommonGen: शब्दों की एक सूची से वाक्य बनाना।
- GSM8K: ग्रेड-स्कूल की गणित की शब्द समस्याओं को हल करना।
उन्होंने इन परीक्षणों को दो अलग-अलग रोबोट मॉडलों: GPT-3.5-Turbo और GPT-4o-mini पर चलाया। परिणाम काफी प्रभावशाली थे। अन्य लोकप्रिय तरीकों (जैसे APE, OPRO, और EvoPrompt) की तुलना में, जो एक बार में पूरा प्रॉम्ट फिर से लिखते हैं, SAPO ने लगातार उच्च स्कोर किया।
GPT-3.5-Turbo मॉडल पर, SAPO ने अगले सबसे अच्छे तरीके की तुलना में औसत स्कोर में 5.13% का सुधार किया। अधिक उन्नत GPT-4o-mini पर, सुधार और भी बड़ा था, जो प्रतिस्पर्धा से 7.25% अधिक था। सबसे बड़ी जीत उन कार्यों पर हुई जिनमें बहुत सख्त उत्तरों की आवश्यकता होती है, जैसे गणित की समस्याएं (GSM8K) और पठन बोध (SQuAD2), जहाँ निर्देशों में एक छोटी सी गलती भी पूरी तरह से गलत उत्तर की ओर ले जा सकती है।
यह क्यों मायने रखता है
लेखक सुझाव देते हैं कि यह सफलता इसलिए होती है क्योंकि SAPO उस "विनाशकारी हस्तक्षेप" (destructive interference) को रोकता है जो एक साथ सब कुछ बदलने पर होता है। प्रॉम्ट के केवल कमजोर हिस्सों में बदलावों को सीमित करके, सिस्टम उन हिस्सों को सुरक्षित रखता है जो पहले से ही पूरी तरह से काम कर रहे हैं। यह रोबोट को सिखाने का एक अधिक सावधानीपूर्ण, सर्जिकल दृष्टिकोण है।
हालाँकि, पेपर कुछ सीमाओं को भी नोट करता है। वर्तमान विधि चार सेगमेंट के एक निश्चित सेट का उपयोग करती है। हालाँकि यह कई कार्यों के लिए अच्छा काम करता है, लेकिन यह हर एक प्रकार की समस्या के लिए इतना विस्तृत नहीं हो सकता है। लेखक सुझाव देते हैं कि भविष्य के संस्करणों में, यदि आवश्यक हो, तो रोबोट को केवल इन चार तक सीमित रहने के बजाय नए प्रकार के सेगमेंट स्वतः खोजने की अनुमति दी जा सकती है।
संक्षेप में, SAPO दिखाता है कि जब आप एक सुपर-इंटेलिजेंट रोबोट को सिखाना चाहते हैं, तो कभी-कभी गलती को ठीक करने का सबसे अच्छा तरीका शुरू से शुरू करना नहीं है, बल्कि सावधानी से यह पहचानना है कि वास्तव में क्या गलत हुआ और केवल उसी हिस्से को ठीक करना है। यह "सब कुछ फिर से लिखें" से "जो टूटा है उसे ठीक करें" की ओर एक बदलाव है, और फिलहाल, यही जीतने वाली रणनीति है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।