Comment vos LLMs se comportent-ils ? Renforcer l'ajustement de l'instruction de code avec des données de haute qualité
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
Résumé
Récemment, un intérêt croissant s'est manifesté pour l'étude de la construction de meilleures données d'ajustement d'instructions de code. Cependant, nous observons que les modèles de code entraînés avec ces ensembles de données présentent de hautes performances sur HumanEval mais sont moins performants sur d'autres référentiels tels que LiveCodeBench. Après des investigations approfondies, nous constatons que de nombreux ensembles de données souffrent de fuites de données graves. Après avoir nettoyé la plupart des données divulguées, certains ensembles de données de haute qualité bien connus présentent de faibles performances. Cette découverte révèle un nouveau défi : identifier quels ensembles de données sont réellement qualifiés de données d'instructions de code de haute qualité. Pour résoudre ce problème, nous proposons une stratégie efficace de taille de données de code pour la sélection d'échantillons de qualité. Notre approche repose sur trois dimensions : la complexité de l'instruction, la qualité de la réponse et la diversité des instructions. Sur la base de nos données sélectionnées, nous présentons XCoder, une famille de modèles affinés à partir de LLaMA3. Nos expériences montrent que XCoder atteint de nouvelles performances de pointe en utilisant moins de données d'entraînement, ce qui confirme l'efficacité de notre stratégie de données. De plus, nous réalisons une analyse approfondie de la composition des données et constatons que les ensembles de données de code existants présentent différentes caractéristiques en fonction de leurs méthodes de construction, ce qui offre de nouvelles perspectives pour les futurs LLM de code. Nos modèles et ensembles de données sont disponibles sur 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