సెల్ఫ్కోడ్అలైన్: కోడ్ జనరేషన్ కోసం స్వీయ-అమరిక
Author
Venue
న్యూరల్ ఇన్ఫర్మేషన్ ప్రాసెసింగ్ సిస్టమ్స్ 2024
Abstract
ఇన్స్ట్రక్షన్ ట్యూనింగ్ అనేది ఒక సూపర్వైజ్డ్ ఫైన్-ట్యూనింగ్ విధానం, ఇది పెద్ద భాషా మోడళ్లు (LLMs) మానవ సూచనలను పాటించే సామర్థ్యాన్ని గణనీయంగా మెరుగుపరుస్తుంది. మేము సెల్ఫ్కోడ్అలైన్ (SelfCodeAlign) ను ప్రతిపాదిస్తున్నాము, ఇది విస్తృతమైన మానవ అనోటేషన్లు లేదా డిస్టిలేషన్ లేకుండా కోడ్ LLMలను స్వీయ-అలైన్ చేయడానికి మొట్టమొదటి పూర్తి పారదర్శక మరియు అనుమతించే పైప్లైన్. సెల్ఫ్కోడ్అలైన్ డేటా జనరేషన్ ప్రక్రియ అంతటా ఇన్ఫరెన్స్ కోసం అదే బేస్ మోడల్ను ఉపయోగిస్తుంది. ఇది ముందుగా అధిక-నాణ్యత గల సీడ్ స్నిప్పెట్ల నుండి విభిన్న కోడింగ్ భావనలను సంగ్రహించి, కొత్త టాస్క్లను రూపొందిస్తుంది. ఆ తర్వాత ఇది ప్రతి టాస్క్కు బహుళ ప్రతిస్పందనలను నమూనా చేసి, ప్రతిదాన్ని టెస్ట్ కేస్లతో జత చేసి, వాటిని శాండ్బాక్స్ వాతావరణంలో ధ్రువీకరిస్తుంది. చివరగా, ఇన్స్ట్రక్షన్ ట్యూనింగ్ కోసం ఉదాహరణలు ఎంపిక చేయబడతాయి. మా ప్రాథమిక ప్రయోగాలలో, మేము 74k ఇన్స్ట్రక్షన్-రిస్పాన్స్ జతల డేటాసెట్ను రూపొందించడానికి CodeQwen1.5-7B తో SelfCodeAlign ను ఉపయోగించాము. ఈ డేటాసెట్పై ఫైన్ట్యూనింగ్ చేయడం ద్వారా, కేవలం పది రెట్లు చిన్నది అయినప్పటికీ, CodeLlama-70B-Instruct ను అధిగమించి, HumanEval+ పై 67.1 pass@1 సాధించే మోడల్ను రూపొందించింది. అన్ని బెంచ్మార్క్లలో, ఈ ఫైన్ట్యూన్ చేయబడిన మోడల్, మానవ అనోటేషన్లు లేదా డిస్టిలేషన్ లేకుండా ఇన్స్ట్రక్షన్ ట్యూనింగ్ కోసం మునుపటి అత్యుత్తమ పద్ధతి అయిన OctoPackతో శిక్షణ పొందిన అసలు వెర్షన్ను స్థిరంగా అధిగమిస్తుంది. అదనంగా, SelfCodeAlign 3B నుండి 33B వరకు వివిధ పరిమాణాల LLMలలో ప్రభావవంతంగా ఉంటుందని, మరియు బేస్ మోడల్లు వాటి స్వంత డేటా పంపిణీతో అలైన్మెంట్ నుండి మరింత ప్రయోజనం పొందగలవని మేము చూపిస్తున్నాము. మా పైప్లైన్లో ప్రతి కాంపోనెంట్ యొక్క ప్రభావశీలతను మేము మరింతగా ధృవీకరిస్తున్నాము, GPT-4o నుండి నేరుగా డిస్టిలేషన్ మరియు OSS-Instruct మరియు Evol-Instruct వంటి ప్రముఖ GPT-3.5-ఆధారిత డిస్టిలేషన్ పద్ధతులు రెండింటినీ SelfCodeAlign అధిగమిస్తుందని చూపిస్తున్నాము. సెల్ఫ్కోడ్అలైన్, అత్యున్నత స్థాయి కోడింగ్ పనితీరును సాధించే మొట్టమొదటి పూర్తి పారదర్శక, అనుమతించదగిన లైసెన్స్ కలిగిన, మరియు స్వీయ-అలైన్డ్ కోడ్ LLM అయిన స్టార్కోడర్2-ఇన్స్ట్రక్ట్ (StarCoder2-Instruct) సృష్టికి కూడా దారితీసింది.
