ChatPaper.aiChatPaper

Wie performen Ihre Code-LM-Modelle? Die Optimierung von Code-Anweisungen durch hochwertige Daten

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

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

Zusammenfassung

In letzter Zeit gibt es ein wachsendes Interesse daran, zu untersuchen, wie man bessere Code-Anweisungen für die Feinabstimmung von Daten erstellen kann. Allerdings stellen wir fest, dass Code-Modelle, die mit diesen Datensätzen trainiert wurden, eine hohe Leistung bei HumanEval zeigen, aber schlechter bei anderen Benchmarks wie LiveCodeBench abschneiden. Bei genauerer Untersuchung stellen wir fest, dass viele Datensätze unter starkem Datenleck leiden. Nachdem wir die meisten durchgesickerten Daten bereinigt haben, zeigen einige bekannte hochwertige Datensätze eine schlechte Leistung. Diese Entdeckung offenbart eine neue Herausforderung: die Identifizierung von Datensätzen, die tatsächlich als hochwertige Code-Anweisungsdaten gelten. Um dies zu lösen, schlagen wir eine effiziente Strategie zur Bereinigung von Code-Daten vor, um gute Beispiele auszuwählen. Unser Ansatz basiert auf drei Dimensionen: Anweisungskomplexität, Antwortqualität und Anweisungsvielfalt. Basierend auf unseren ausgewählten Daten präsentieren wir XCoder, eine Familie von Modellen, die aus LLaMA3 feinabgestimmt wurden. Unsere Experimente zeigen, dass XCoder eine neue Bestleistung erzielt, indem weniger Trainingsdaten verwendet werden, was die Wirksamkeit unserer Datenstrategie bestätigt. Darüber hinaus führen wir eine umfassende Analyse der Datenzusammensetzung durch und stellen fest, dass vorhandene Code-Datensätze je nach ihren Konstruktionsmethoden unterschiedliche Eigenschaften aufweisen, was neue Erkenntnisse für zukünftige Code-LLMs liefert. Unsere Modelle und Datensätze sind unter https://github.com/banksy23/XCoder veröffentlicht.
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