Hoe Presteren Jouw Code-LLM's? Het Versterken van Code Instructie Afstemming met Hoogwaardige DataHow Do Your Code LLMs Perform? Empowering Code Instruction Tuning with
High-Quality Data
Recentelijk is er een groeiende interesse ontstaan in het bestuderen van hoe betere code-instructie-afstemmingsdata kunnen worden geconstrueerd. We observeren echter dat codemodellen die met deze datasets zijn getraind, hoge prestaties vertonen op HumanEval, maar slechter presteren op andere benchmarks zoals LiveCodeBench. Na verder onderzoek ontdekken we dat veel datasets lijden onder ernstige datalekken. Na het opruimen van het grootste deel van de gelektte data, presteren enkele bekende datasets van hoge kwaliteit slecht. Deze ontdekking onthult een nieuwe uitdaging: identificeren welke datasets daadwerkelijk als hoogwaardige code-instructiedata kunnen worden beschouwd. Om dit aan te pakken, stellen we een efficiënte strategie voor het snoeien van codedata voor om goede samples te selecteren. Onze aanpak is gebaseerd op drie dimensies: instructiecomplexiteit, responskwaliteit en instructiediversiteit. Op basis van onze geselecteerde data presenteren we XCoder, een familie van modellen die zijn afgestemd vanuit LLaMA3. Onze experimenten tonen aan dat XCoder nieuwe state-of-the-art prestaties bereikt met minder trainingsdata, wat de effectiviteit van onze datastrategie bevestigt. Bovendien voeren we een uitgebreide analyse uit van de datasamenstelling en ontdekken we dat bestaande codedatasets verschillende kenmerken hebben afhankelijk van hun constructiemethoden, wat nieuwe inzichten biedt voor toekomstige code-LLM's. Onze modellen en dataset zijn vrijgegeven op https://github.com/banksy23/XCoder.