ChatPaper.aiChatPaper

Como Se Comportam Seus Modelos de Linguagem de Aprendizado Profundo? Capacitando o Ajuste de Instruções de Código com Dados de Alta Qualidade

How Do Your Code LLMs Perform? Empowering Code Instruction Tuning with High-Quality Data

September 5, 2024
Autores: 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

Resumo

Recentemente, tem havido um crescente interesse em estudar como construir dados de ajuste de instruções de código melhores. No entanto, observamos que os modelos de código treinados com esses conjuntos de dados apresentam alto desempenho no HumanEval, mas têm um desempenho inferior em outros benchmarks, como o LiveCodeBench. Após uma investigação mais aprofundada, descobrimos que muitos conjuntos de dados sofrem de vazamento de dados severo. Após limpar a maior parte dos dados vazados, alguns conjuntos de dados de alta qualidade bem conhecidos têm um desempenho ruim. Essa descoberta revela um novo desafio: identificar quais conjuntos de dados realmente se qualificam como dados de instrução de código de alta qualidade. Para abordar isso, propomos uma estratégia eficiente de poda de dados de código para selecionar boas amostras. Nossa abordagem é baseada em três dimensões: complexidade da instrução, qualidade da resposta e diversidade da instrução. Com base em nossos dados selecionados, apresentamos o XCoder, uma família de modelos ajustados a partir do LLaMA3. Nossos experimentos mostram que o XCoder alcança um novo desempenho de ponta usando menos dados de treinamento, o que verifica a eficácia de nossa estratégia de dados. Além disso, realizamos uma análise abrangente sobre a composição dos dados e descobrimos que os conjuntos de dados de código existentes têm características diferentes de acordo com seus métodos de construção, o que fornece novos insights para futuros modelos de linguagem de modelo de código. Nossos modelos e conjunto de dados estão disponíveis em 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/XCoder

Summary

AI-Generated Summary

PDF366November 16, 2024