ChatPaper.aiChatPaper

¿Cómo se desempeñan tus LLMs? Potenciando la sintonización de instrucciones de código con datos de alta calidad

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

Resumen

Recientemente, ha habido un creciente interés en estudiar cómo construir mejores datos de ajuste de instrucciones de código. Sin embargo, observamos que los modelos de código entrenados con estos conjuntos de datos muestran un alto rendimiento en HumanEval pero funcionan peor en otros puntos de referencia como LiveCodeBench. Tras una investigación más detallada, descubrimos que muchos conjuntos de datos sufren de una grave fuga de datos. Después de limpiar la mayoría de los datos filtrados, algunos conjuntos de datos de alta calidad bien conocidos tienen un rendimiento deficiente. Este descubrimiento revela un nuevo desafío: identificar qué conjuntos de datos realmente califican como datos de instrucciones de código de alta calidad. Para abordar esto, proponemos una estrategia eficiente de poda de datos de código para seleccionar buenas muestras. Nuestro enfoque se basa en tres dimensiones: complejidad de la instrucción, calidad de la respuesta y diversidad de instrucciones. Basándonos en nuestros datos seleccionados, presentamos XCoder, una familia de modelos ajustados finamente a partir de LLaMA3. Nuestros experimentos muestran que XCoder logra un nuevo rendimiento de vanguardia utilizando menos datos de entrenamiento, lo que verifica la efectividad de nuestra estrategia de datos. Además, realizamos un análisis exhaustivo sobre la composición de los datos y encontramos que los conjuntos de datos de código existentes tienen diferentes características según sus métodos de construcción, lo que proporciona nuevas perspectivas para futuros LLMs de código. Nuestros modelos y conjunto de datos se encuentran disponibles en 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