← नवीनतम पेपर
🤖 machine learning

Selective Left-Shift: Turning Test-Time Compute and Difficulty-based Curation into Training Data for Low-Resource Code Generation

यह शोध पत्र एक तीन-चरणीय पाइपलाइन का प्रस्ताव करता है जो टेस्ट-टाइम कंप्यूट को ऑफलाइन डेटा सिंथेसिस में स्थानांतरित करके और सुपरवाइज्ड फाइन-ट्यूनिंग को एक्जीक्यूशन-ग्राउंडेड रीइन्फोर्समेंट लर्निंग के साथ जोड़कर सिंटैक्स अधिग्रहण को एल्गोरिद्मिक तर्क से अलग करता है, जिससे कम-संसाधन वाली प्रोग्रामिंग भाषाओं के लिए छोटे भाषा मॉडलों हेतु कोड जनरेशन प्रदर्शन में उल्लेखनीय सुधार होता है और साथ ही डेटा आवश्यकताओं और लागतों को कम किया जाता है।

मूल लेखक: Didula Samaraweera, Anjana Supun, Srinath Perera

प्रकाशित 2026-07-10
📖 8 मिनट में पढ़ें🧠 गहराई से पढ़ें

मूल लेखक: Didula Samaraweera, Anjana Supun, Srinath Perera

मूल पेपर CC BY 4.0 (http://creativecommons.org/licenses/by/4.0/) के तहत लाइसेंस किया गया है। नीचे दिए गए पेपर की यह व्याख्या AI से तैयार की गई है। इसे लेखकों ने न तो लिखा है, न इसका समर्थन किया है। तकनीकी सटीकता के लिए मूल पेपर देखें। पूरा डिस्क्लेमर पढ़ें

कल्पना कीजिए कि आप एक बहुत ही प्रतिभाशाली लेकिन अनुभवहीन प्रशिक्षु (apprentice) को एक बहुत ही दुर्लभ, अल्पज्ञात भाषा—जैसे कि वैज्ञानिकों द्वारा उपयोग की जाने वाली Julia या क्लाउड सेवाओं के लिए Ballerina—में कोड लिखना सिखाने की कोशिश कर रहे हैं। समस्या क्या है? प्रशिक्षु ने पहले कभी इन भाषाओं को नहीं देखा है। वह Python और Java को बहुत अच्छी तरह जानता है, लेकिन जब उसे Julia में लिखने के लिए कहा जाता है, तो वह व्याकरण (grammar) में उलझने लगता है, गलत विराम चिह्नों का उपयोग करने लगता है, और सिंटैक्स (syntax) में खो जाता है।

यह वह "त्रिशंकु" (trilemma) है जिसका सामना इस शोध पत्र के लेखकों ने किया था:

  1. डेटा की कमी: इन दुर्लभ भाषाओं में अच्छे कोड के उदाहरण बहुत कम हैं जिनसे मॉडल को सिखाया जा सके।
  2. सोचने में बहुत अधिक खर्च: आप मॉडल को "कठोरता से सोचने" और बार-बार प्रयास करने के लिए मजबूर कर सकते हैं (जैसे कि एक इंसान डिबगिंग करते समय करता है), लेकिन वास्तविक दुनिया के उपयोग के लिए इसमें बहुत अधिक समय और पैसा लगता है।
  3. रीइन्फोर्समेंट लर्निंग (Reinforcement Learning) विफल हो जाता है: मॉडल को अच्छे कोड के लिए पुरस्कृत करने और बुरे कोड के लिए दंडित करने की कोशिश करना तब काम नहीं करता जब मॉडल बुनियादी व्याकरण संबंधी इतनी गलतियाँ कर रहा हो कि उसे सीखने के लिए कभी "अच्छा काम किया" का संकेत ही न मिल पाए।

मुख्य विचार: होमवर्क को "लेफ्ट-शिफ्ट" (Left-Shift) करना

लेखक एक चतुर तीन-चरणीय पाइपलाइन प्रस्तावित करते हैं जिसे वे "सेलेक्टिव लेफ्ट-शिफ्ट" (Selective Left-Shift) कहते हैं। इसे ऐसे समझें: प्रशिक्षु को हर एक होमवर्क असाइनमेंट के दौरान संघर्ष करने देने के बजाय (जो धीमा और महंगा है), आप उस पूरे संघर्ष को एक बार शांति से ऑफलाइन तरीके से करते हैं और उसके परिणामों को एक आदर्श पाठ्यपुस्तक में बदल देते हैं।

यहाँ उनके तीन-चरणों वाले पाइपलाइन का कार्य विवरण दिया गया है, जिसे एक कोडिंग जादूगर (wizard) को प्रशिक्षित करने के रूपक (analogy) का उपयोग करके समझाया गया है:

चरण 1: ऑफलाइन "प्रयास-विफलता-पुनः प्रयास" फैक्ट्री (The Offline "Try-Fail-Try" Factory)

मॉडल को वास्तविक समय (real-time) में विफल होते हुए देखने के बजाय, लेखक एक स्वचालित फैक्ट्री स्थापित करते हैं। वे मॉडल को एक समस्या देते हैं और उसे हल करने की कोशिश करने देते हैं।

  • जादू: यदि कोड विफल हो जाता है, तो फैक्ट्री उसे केवल फेंक नहीं देती। यह त्रुटि संदेश (जैसे "आपने सेमीकोलन के बजाय कॉमा का उपयोग किया" या "यह टेस्ट केस विफल हुआ क्योंकि आउटपुट 5 था, न कि 6") को वापस मॉडल को फीड करती है।
  • लूप: मॉडल फिर से प्रयास करता है, त्रुटि को ठीक करता है, और फिर से प्रयास करता है। यह लूप तब तक चलता रहता है जब तक कि कोड सभी परीक्षणों (tests) को पास नहीं कर लेता।
  • परिणाम: एक बार जब कोड पूरी तरह से काम करने लगता है, तो इसे एक विशेष "सत्यापित डेटासेट" (Verified Dataset) में सहेज लिया जाता है। लेखक इसे कंप्यूट को "लेफ्ट-शिफ्ट" करना कहते हैं। वे सारा महंगा "सोचने और ठीक करने" का काम एक बार करते हैं ताकि उच्च गुणवत्ता वाला प्रशिक्षण डेटा बनाया जा सके, न कि हर बार जब बाद में कोई उपयोगकर्ता प्रश्न पूछता है।

चरण 2: ग्रामर बूटकैंप (SFT)

अब उनके पास पूरी तरह से सत्यापित कोड से भरी एक पाठ्यपुस्तक है, जिससे वे मॉडल (विशेष रूप से एक Qwen3-8B मॉडल) को सिखाते हैं। इसे सुपरवाइज्ड फाइन-ट्यूनिंग (Supervised Fine-Tuning - SFT) कहा जाता है।

  • यह क्यों महत्वपूर्ण है: इससे पहले, मॉडल सिंटैक्स संबंधी इतनी गलतियाँ (जैसे Julia में True के बजाय true लिखना) कर रहा था कि वह तर्क (logic) वाले हिस्से तक भी नहीं पहुँच पा रहा था। यह चरण एक सख्त ग्रामर बूटकैंप की तरह है। यह मॉडल को Julia या Ballerina के विशिष्ट "बोली" (dialect) को सीखने के लिए मजबूर करता है ताकि वह मूर्खतापूर्ण व्याकरण संबंधी गलतियाँ करना बंद कर दे।
  • प्रमाण: शोध पत्र दिखाता है कि इस चरण के बाद, सिंटैक्स त्रुटियाँ 45.9% से घटकर 0.6% रह जाती हैं। अब मॉडल ऐसा कोड लिख सकता है जो वास्तव में कंपाइल (compile) हो सके।

चरण 3: "डेलिब्रेट प्रैक्टिस" जिम (The "Deliberate Practice" Gym - RLVR)

अब मॉडल व्याकरण जानता है। अब इसे तर्क (logic) सिखाने का समय है—वास्तव में कठिन समस्याओं को कैसे हल किया जाए। वे रीइन्फोर्समेंट लर्निंग (RL) का उपयोग करते हैं, लेकिन एक ट्विस्ट के साथ।

  • ट्विस्ट (कठिनाई का चयन/Difficulty Curation): अधिकांश RL विधियाँ मॉडल पर रैंडम समस्याएँ फेंक देती हैं। लेखक तर्क देते हैं कि यह अक्षम है। यदि समस्या बहुत आसान है, तो मॉडल इसे तुरंत हल कर लेता है और कुछ नहीं सीखता। यदि यह बहुत कठिन है, तो मॉडल सब कुछ गलत करता है और कुछ नहीं सीखता।
  • रणनीति: वे समस्याओं का एक ऐसा डेटासेट तैयार करते हैं जो बिल्कुल सही हो—जो मॉडल की क्षमता के बिल्कुल किनारे पर हो (जिसे ELO रेटिंग द्वारा मापा जाता है, जो शतरंज और प्रतिस्पर्धी प्रोग्रामिंग में उपयोग की जाने वाली एक स्कोर प्रणाली है)। यह एथलीटों के लिए "डेलिब्रेट प्रैक्टिस" की तरह है: आप केवल उन्हीं चालों पर प्रशिक्षण लेते हैं जिनमें आप लगभग अच्छे हैं, ताकि आप सबसे तेज़ी से सुधार कर सकें।
  • सुरक्षा जाल (Safety Net): वे जीरो-एडवांटेज मास्किंग (Zero-Advantage Masking) नामक एक ट्रिक का भी उपयोग करते हैं। यदि प्रयासों का एक समूह विफल हो जाता है (या सभी सफल होते हैं), तो वे उस समूह को अनदेखा कर देते हैं। वे केवल उन समूहों से सीखते हैं जहाँ कुछ प्रयास सफल रहे और अन्य विफल रहे, जिससे यह सुनिश्चित होता है कि मॉडल को सुधार के लिए एक स्पष्ट संकेत मिले।

परिणाम: एक बड़ी छलांग

परिणाम प्रभावशाली हैं, विशेष रूप से यह देखते हुए कि उन्होंने पिछले अत्याधुनिक (state-of-the-art) तरीकों की तुलना में केवल 1/3 डेटा और 1/6 लागत का उपयोग किया है।

  • Julia (एक "मध्यम" दुर्लभ भाषा) के लिए:

    • बेस मॉडल ने मानक परीक्षणों (MultiPL-E) पर 44.0% स्कोर किया।
    • उनके पूर्ण पाइपलाइन के बाद, यह 68.6% पर पहुँच गया। यह +24.6 अंक का सुधार है।
    • कठिन, वास्तविक दुनिया के परीक्षणों (Ag-LCB) पर, यह 9% से बढ़कर 39.2% हो गया।
    • उन्होंने मानक परीक्षणों पर पिछले सर्वश्रेष्ठ परिणामों को 7.6 अंक और कठिन परीक्षणों पर 14.2 अंक से पीछे छोड़ दिया।
  • Ballerina (एक "अत्यधिक" दुर्लभ भाषा) के लिए:

    • बेस मॉडल को Ballerina के बारे में लगभग कुछ भी नहीं पता था (स्कोर 4.4%)।
    • पाइपलाइन के बाद, इसने 49.7% स्कोर किया।
    • यह सिद्ध करता है कि यह विधि उन भाषाओं के लिए भी काम करती है जिन्हें मॉडल ने कभी नहीं देखा है, बशर्ते आपके पास एक कंपाइलर और कुछ टेस्ट केस हों।

वे स्पष्ट रूप से किसे खारिज करते हैं

शोध पत्र बहुत स्पष्ट है कि अकेले क्या काम नहीं करता है:

  • शुरुआत से केवल रीइन्फोर्समेंट लर्निंग (RL): वे तर्क देते हैं कि यदि आप मॉडल को व्याकरण (SFT) सिखाने से पहले RL सिखाने की कोशिश करते हैं, तो यह विफल हो जाता है। मॉडल सिंटैक्स त्रुटियों में फँस जाता है और तर्क सीखने के लिए "रिवॉर्ड" सिग्नल तक नहीं पहुँच पाता।
  • रैंडम कठिनाई (Random Difficulty): उन्होंने RL चरण के लिए रैंडम समस्याओं का उपयोग करके परीक्षण किया और पाया कि यह बहुत कम प्रभावी (52.2% बनाम 68.6%) था। वे सुझाव देते हैं कि सही कठिनाई स्तर चुनना महत्वपूर्ण है।
  • ऑनलाइन "सोचने की क्षमता" को बढ़ाना (Online "Think Harder" Scaling): वे तर्क देते हैं कि लाइव उपयोग (inference-time scaling) के दौरान "प्रयास-विफलता-सुधार" लूप करना बहुत महंगा और धीमा है। उनका "ऑफलाइन" दृष्टिकोण बेहतर निवेश है।

वे कितने आश्वस्त हैं?

लेखक अपने निष्कर्षों को लेकर काफी आश्वस्त हैं क्योंकि उन्होंने उन्हें सीधे मापा है।

  • उन्होंने सिद्ध किया कि यह पाइपलाइन काम करती है क्योंकि उन्होंने दो अलग-अलग भाषाओं (Julia और Ballerina) और दो अलग-अलग बेंचमार्क पर इसका परीक्षण किया।
  • उन्होंने लागत बचत को मापा, जिससे पता चला कि उनकी विधि ने समान पिछले तरीके की तुलना में 54.02खर्चकिए,जबकिवह54.02** खर्च किए, जबकि वह **320.3 था।
  • उन्होंने प्रदर्शन किया कि "कठिनाई-आधारित क्यूरेशन" आवश्यक है, क्योंकि उन्होंने एक प्रयोग चलाया जिसमें उन्होंने रैंडम समस्याओं का उपयोग किया था, जिसके परिणामस्वरूप काफी कम स्कोर प्राप्त हुआ।
  • वे सुझाव देते हैं कि यह दृष्टिकोण किसी भी नई उभरती प्रोग्रामिंग भाषा के लिए काम कर सकता है, बशर्ते आपके पास एक कंपाइलर और कुछ टेस्ट केस हों, लेकिन उन्होंने अभी तक दुनिया की हर भाषा का परीक्षण नहीं किया है।

संक्षेप में, शोध पत्र सुझाव देता है कि यदि आप किसी AI को एक दुर्लभ भाषा सिखाना चाहते हैं, तो उसे सीधे गहरे पानी में न झोंकें। पहले, एक पाठ्यपुस्तक बनाएं जिसे ऑफलाइन अभ्यास करके वह सही होना सीख सके, फिर उसे व्याकरण सिखाएं, और फिर उसे ऐसी समस्याओं पर प्रशिक्षित करें जो इतनी कठिन हों कि उसे पसीना आ जाए। यह कोड-जनरेटिंग विजार्ड बनाने का एक सस्ता, तेज़ और स्मार्ट तरीका है।

अपने क्षेत्र के पेपरों की भीड़ में उलझे हुए हैं?

आपके रिसर्च कीवर्ड से मेल खाने वाले सबसे नए और अलग सोच वाले पेपरों का रोज़ाना Digest पाएँ—तकनीकी सारांश के साथ, आपकी भाषा में।

Digest आज़माएँ →