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
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