ChatPaper.aiChatPaper

Come si comportano i tuoi LLM nel codice? Potenziare il tuning dell'istruzione del codice con dati di alta qualità.

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

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

Abstract

Recentemente c'è stato un crescente interesse nello studio di come costruire dati di sintonizzazione delle istruzioni di codice migliori. Tuttavia, osserviamo che i modelli di codice addestrati con questi set di dati mostrano elevate prestazioni su HumanEval ma ottengono risultati peggiori su altri benchmark come LiveCodeBench. Dopo un'ulteriore indagine, scopriamo che molti set di dati soffrono di gravi perdite di dati. Dopo aver eliminato la maggior parte dei dati fuoriusciti, alcuni noti set di dati di alta qualità ottengono prestazioni scadenti. Questa scoperta rivela una nuova sfida: identificare quali set di dati si qualificano effettivamente come dati di istruzioni di codice di alta qualità. Per affrontare questo problema, proponiamo una strategia efficiente di potatura dei dati di codice per la selezione di campioni validi. Il nostro approccio si basa su tre dimensioni: complessità dell'istruzione, qualità della risposta e diversità dell'istruzione. Sulla base dei nostri dati selezionati, presentiamo XCoder, una famiglia di modelli ottimizzati da LLaMA3. I nostri esperimenti mostrano che XCoder raggiunge nuove prestazioni di primo piano utilizzando meno dati di addestramento, confermando l'efficacia della nostra strategia sui dati. Inoltre, conduciamo un'analisi esaustiva sulla composizione dei dati e scopriamo che i set di dati di codice esistenti hanno caratteristiche diverse in base ai loro metodi di costruzione, offrendo nuove prospettive per i futuri LLM di codice. I nostri modelli e set di dati sono disponibili su 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