SelfCodeAlign: कोड निर्माण के लिए स्व-संरेखण
Author
Venue
न्यूरआईपीएस 2024
Abstract
इंस्ट्रक्शन ट्यूनिंग एक पर्यवेक्षित फाइन-ट्यूनिंग दृष्टिकोण है जो बड़े भाषा मॉडल (एलएलएम) की मानवीय निर्देशों का पालन करने की क्षमता में काफी सुधार करता है। हम SelfCodeAlign का प्रस्ताव करते हैं, जो व्यापक मानवीय एनोटेशन या आसवन के बिना कोड एलएलएम को स्व-संरेखित करने के लिए पहली पूरी तरह से पारदर्शी और अनुमत पाइपलाइन है। SelfCodeAlign डेटा जनरेशन प्रक्रिया के दौरान इन्फरेंस के लिए एक ही बेस मॉडल का उपयोग करता है। यह पहले उच्च-गुणवत्ता वाले सीड स्निपेट से विविध कोडिंग अवधारणाओं को निकालता है ताकि नए कार्य उत्पन्न किए जा सकें। फिर यह प्रति कार्य कई प्रतिक्रियाओं का नमूना लेता है, प्रत्येक को टेस्ट केस के साथ जोड़ता है, और उन्हें एक सैंडबॉक्स वातावरण में मान्य करता है। अंत में, इंस्ट्रक्शन ट्यूनिंग के लिए उदाहरणों को चुना जाता है। अपने प्राथमिक प्रयोगों में, हम SelfCodeAlign का उपयोग CodeQwen1.5-7B के साथ 74k इंस्ट्रक्शन-रिस्पांस जोड़ों का एक डेटासेट बनाने के लिए करते हैं। इस डेटासेट पर फाइनट्यूनिंग करने से एक ऐसा मॉडल बनता है जो HumanEval+ पर 67.1 pass@1 हासिल करता है, और CodeLlama-70B-Instruct से बेहतर प्रदर्शन करता है, भले ही वह दस गुना छोटा है। सभी बेंचमार्क पर, यह फाइन-ट्यून किया गया मॉडल OctoPack से प्रशिक्षित मूल संस्करण से लगातार बेहतर प्रदर्शन करता है, जो बिना मानव एनोटेशन या डिस्टिलेशन के इंस्ट्रक्शन ट्यूनिंग के लिए पिछली अत्याधुनिक विधि थी। इसके अतिरिक्त, हम दिखाते हैं कि SelfCodeAlign 3B से 33B तक विभिन्न आकारों के LLM पर प्रभावी है, और बेस मॉडल अपने स्वयं के डेटा वितरण के साथ संरेखण से अधिक लाभ उठा सकते हैं। हम अपनी पाइपलाइन में प्रत्येक घटक की प्रभावशीलता को और मान्य करते हैं, जिससे यह पता चलता है कि SelfCodeAlign, GPT-4o से प्रत्यक्ष डिस्टिलेशन और OSS-Instruct और Evol-Instruct जैसे प्रमुख GPT-3.5-आधारित डिस्टिलेशन तरीकों, दोनों से बेहतर प्रदर्शन करता है। SelfCodeAlign ने StarCoder2-Instruct के निर्माण को भी जन्म दिया है, जो एक पहला पूर्ण रूप से पारदर्शी, अनुमत-लाइसेंस प्राप्त, और स्व-संरेखित कोड एलएलएम है जो अत्याधुनिक कोडिंग प्रदर्शन हासिल करता है।
