Hoe Presteren Jouw Code-LLM's? Het Versterken van Code Instructie Afstemming met Hoogwaardige Data
How Do Your Code LLMs Perform? Empowering Code Instruction Tuning with High-Quality Data
September 5, 2024
Auteurs: Yejie Wang, Keqing He, Dayuan Fu, Zhuoma Gongque, Heyang Xu, Yanxu Chen, Zhexu Wang, Yujia Fu, Guanting Dong, Muxi Diao, Jingang Wang, Mengdi Zhang, Xunliang Cai, Weiran Xu
cs.AI
Samenvatting
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.
English
Recently, there has been a growing interest in studying how to construct
better code instruction tuning data. However, we observe Code models trained
with these datasets exhibit high performance on HumanEval but perform worse on
other benchmarks such as LiveCodeBench. Upon further investigation, we find
that many datasets suffer from severe data leakage. After cleaning up most of
the leaked data, some well-known high-quality datasets perform poorly. This
discovery reveals a new challenge: identifying which dataset genuinely qualify
as high-quality code instruction data. To address this, we propose an efficient
code data pruning strategy for selecting good samples. Our approach is based on
three dimensions: instruction complexity, response quality, and instruction
diversity. Based on our selected data, we present XCoder, a family of models
finetuned from LLaMA3. Our experiments show XCoder achieves new
state-of-the-art performance using fewer training data, which verify the
effectiveness of our data strategy. Moreover, we perform a comprehensive
analysis on the data composition and find existing code datasets have different
characteristics according to their construction methods, which provide new
insights for future code LLMs. Our models and dataset are released in
https://github.com/banksy23/XCoderSummary
AI-Generated Summary