SelfCodeAlign: कोड निर्मितीसाठी स्व-संरेखन
Author
Venue
न्यूरआयपीएस २०२४
Abstract
इंस्ट्रक्शन ट्युनिंग हा एक पर्यवेक्षित फाईन-ट्युनिंग पद्धत आहे जी मोठ्या भाषा मॉडेल्सची (LLMs) मानवी सूचना पाळण्याची क्षमता लक्षणीयरीत्या सुधारते. आम्ही 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 ची निर्मिती देखील झाली आहे, जी अत्याधुनिक कोडिंग कार्यक्षमता साधणारी पहिली पूर्णपणे पारदर्शक, परवानगी-आधारित परवाना असलेली, आणि स्व-संरेखित कोड LLM आहे.
