Evaluating and Achieving Controllable Code Completion in Code LLM
यह शोध पत्र कोड LLMs में निर्देश-अनुपालन मूल्यांकन की कमी को दूर करने के लिए कंट्रोलेबल कोड कंप्लीशन बेंचमार्क (C3-Bench) प्रस्तुत करता है, ओपन-सोर्स और प्रोप्रायटरी मॉडल्स के बीच महत्वपूर्ण प्रदर्शन अंतराल को उजागर करता है, और एक डेटा सिंथेसिस पाइपलाइन प्रस्तावित करता है जो एक फाइन-ट्यून्ड मॉडल को इस नए बेंचमार्क पर अत्याधुनिक परिणाम प्राप्त करने में सक्षम बनाता है।
मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें
कल्पना कीजिए कि आप एक मास्टर शेफ (AI) हैं जो एक व्यस्त रसोई में काम कर रहे हैं। लंबे समय तक, इन शेफ्स को परखने का तरीका सरल था: हमने उन्हें एक आधा पका हुआ व्यंजन दिया (गायब हिस्से से पहले का कोड) और उसके बाद का एक आधा पका हुआ व्यंजन (गायब हिस्से के बाद का कोड), और उनसे बीच का हिस्सा भरने के लिए कहा। यदि अंतिम व्यंजन स्वादिष्ट बना (यूनिट टेस्ट पास किया), तो शेफ को एक गोल्ड स्टार मिला।
समस्या: "रेसिपी" गायब थी
इस पेपर के लेखक तर्क देते हैं कि यह पुराना तरीका दोषपूर्ण है। वास्तविक दुनिया में, एक हेड शेफ केवल यह नहीं कहता, "बीच का हिस्सा भरें।" वे कहते हैं, "बीच का हिस्सा भरें, लेकिन केवल शाकाहारी सामग्री का उपयोग करें," या "बीच का हिस्सा भरें, लेकिन इसे ठीक तीन पंक्तियों का बनाएं," या "बीच का हिस्सा भरें, लेकिन एक विशिष्ट प्रकार के चाकू का उपयोग करें।"
वर्तमान AI मॉडल व्यंजन को स्वादिष्ट बनाने में माहिर हैं, लेकिन वे अक्सर इस बात के विशिष्ट निर्देशों को अनदेखा कर देते हैं कि उसे कैसे बनाया जाए। वे मांस का उपयोग कर सकते हैं जब आपने सब्जियों के लिए कहा था, या एक सिंगल लाइन के बजाय एक पैराग्राफ लिख सकते हैं। पुराने टेस्ट इन्हें नहीं पकड़ पाते थे क्योंकि वे केवल यह देखते थे कि भोजन खाने योग्य है या नहीं, न कि यह कि क्या शेफ ने ऑर्डर का पालन किया।
समाधान: C3-Bench ("निर्देशों का पालन करने वाला" टेस्ट)
इसे ठीक करने के लिए, टीम ने C3-Bench नामक एक नया टेस्ट बनाया (कंट्रोलेबल कोड कंप्लीशन बेंचमार्क)। इसे एक नई, बहुत अधिक सख्त कुकिंग प्रतियोगिता के रूप में समझें।
केवल कोड का एक गायब हिस्सा मांगने के बजाय, C3-Bench में प्रत्येक टेस्ट के साथ एक विशिष्ट, सूक्ष्म निर्देश आता है। उन्होंने इन निर्देशों को दो मुख्य श्रेणियों में विभाजित किया है:
- "कैसे करें" वाले निर्देश (इम्प्लीमेंटेशन-कंट्रोल):
- उपमा: "एक पुल बनाएं, लेकिन आपको सस्पेंशन डिजाइन का उपयोग करना होगा, न कि बीम डिजाइन का।"
- AI को ऐसा कोड लिखना होगा जो काम भी करे और एक विशिष्ट शैली, एल्गोरिदम या संरचना का पालन भी करे। उदाहरण के लिए, "एक विशिष्ट सॉर्टिंग विधि का उपयोग करके इस लिस्ट को सॉर्ट करें" या "इस विशिष्ट तरीके से त्रुटियों (errors) को हैंडल करें।"
- "आकार" वाले निर्देश (स्केल-कंट्रोल):
- उपमा: "एक वाक्य लिखें जो ठीक 10 शब्दों का हो," या "एक पैराग्राफ लिखें जो ठीक 3 वाक्यों का हो।"
- AI को ऐसा कोड जेनरेट करना होगा जो एक सख्त आकार सीमा में फिट हो, जैसे कि ठीक 5 लाइन का कोड या एक विशिष्ट लॉजिक ब्लॉक, न इससे कम और न इससे ज्यादा।
उन्होंने क्या पाया
टीम ने 40 से अधिक विभिन्न AI मॉडल्स (फ्री, ओपन-सोर्स और महंगे, क्लोज्ड-सोर्स दोनों) का इस नए टेस्ट पर परीक्षण किया। यहाँ उन्होंने क्या खोजा:
- "अति-आत्मविश्वासी" ओपन-सोर्स मॉडल्स: पुराने टेस्ट पर, कई फ्री, ओपन-सोर्स AI मॉडल्स महंगे, टॉप-टियर मॉडल्स के समान ही प्रदर्शन कर रहे थे। हालांकि, इस नए C3-Bench पर, वे काफी संघर्ष करते हैं। यह पता चला कि उन्होंने पुराने टेस्ट को "रट" लिया था लेकिन वे वास्तव में जटिल निर्देशों का पालन करना नहीं जानते थे। वे उन छात्रों की तरह थे जिन्होंने उत्तर कुंजी रट ली है लेकिन ट्विस्ट वाली नई समस्या को हल नहीं कर सकते।
- द अंतर (The Gap): उन मॉडल्स के बीच एक बड़ा अंतर है जो केवल "कोड को काम करने लायक" बना सकते हैं और उन मॉडल्स के बीच जो "कोड को ठीक वैसे ही काम करने लायक" बना सकते जैसा आपने मांगा था। यहाँ तक कि कुछ सबसे स्मार्ट, महंगे मॉडल्स को भी "साइज" निर्देशों (जैसे कि लाइनों की सही संख्या लिखना) के साथ कठिनाई हुई।
- सुधार: लेखकों ने केवल समस्या की ओर इशारा नहीं किया; उन्होंने एक समाधान बनाया। उन्होंने एक पाइपलाइन बनाई जो स्वचालित रूप से हजारों नए ट्रेनिंग उदाहरण जेनरेट करती है जहाँ एक AI कोड लिखता है और एक विशिष्ट निर्देश का पालन करता है। उन्होंने इस डेटा का उपयोग अपने एक नए मॉडल को प्रशिक्षित करने के लिए किया, जिसे Qwen2.5-Coder-C3 कहा जाता है।
- परिणाम: यह नया मॉडल निर्देश पालन करने में सर्वश्रेष्ठ बन गया, जिसने नए टेस्ट पर लगभग सभी को पीछे छोड़ दिया और साथ ही पुराने टेस्टों पर भी अच्छा प्रदर्शन किया।
निष्कर्ष (The Takeaway)
यह पेपर AI कोडिंग कौशल को मापने का एक नया तरीका पेश करता है जो वास्तविक दुनिया के उपयोग के लिए वास्तव में मायने रखता है: क्या AI सुन सकता है?
उन्होंने पाया कि कई वर्तमान AI मॉडल्स उन प्रतिभाशाली संगीतकारों की तरह हैं जो सही नोट्स तो बजाते हैं लेकिन कंडक्टर के टेम्पो (लय) परिवर्तनों को अनदेखा कर देते हैं। एक नया बेंचमार्क और मॉडल्स को बेहतर ढंग से सुनने के लिए प्रशिक्षित करने की विधि बनाकर, लेखक डेवलपर्स को ऐसे AI टूल्स बनाने में मदद कर रहे हैं जो केवल कोड नहीं लिखते, बल्कि उपयोगकर्ता की विशिष्ट, विस्तृत आवश्यकताओं के अनुसार सही कोड लिखते हैं। उन्होंने अपना सारा डेटा और मॉडल्स दूसरों के उपयोग और सुधार के लिए उपलब्ध करा दिया है।
अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?
आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।