Каковы результаты работы ваших LLM-моделей? Повышение эффективности настройки инструкций по коду с использованием качественных данных.
How Do Your Code LLMs Perform? Empowering Code Instruction Tuning with High-Quality Data
September 5, 2024
Авторы: 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
Аннотация
В последнее время возрос интерес к изучению методов создания более эффективных данных настройки инструкций кода. Однако мы наблюдаем, что модели кода, обученные на этих наборах данных, проявляют высокую производительность при оценке качества человеком, но показывают худшие результаты на других бенчмарках, таких как LiveCodeBench. После дальнейшего исследования мы обнаружили, что многие наборы данных страдают от серьезных утечек данных. После очистки большей части утекших данных некоторые известные высококачественные наборы данных показывают плохие результаты. Это открытие выявляет новое вызов: определение, какие наборы данных действительно квалифицируются как высококачественные данные по инструкциям кода. Для решения этой проблемы мы предлагаем эффективную стратегию очистки кодовых данных для выбора хороших образцов. Наш подход основан на трех измерениях: сложности инструкции, качестве ответа и разнообразии инструкций. На основе наших выбранных данных мы представляем XCoder, семейство моделей, донастроенных из LLaMA3. Наши эксперименты показывают, что XCoder достигает нового рекордного уровня производительности, используя меньше данных для обучения, что подтверждает эффективность нашей стратегии данных. Более того, мы проводим всесторонний анализ состава данных и обнаруживаем, что существующие кодовые наборы данных имеют различные характеристики в зависимости от методов их создания, что предоставляет новые идеи для будущих языковых моделей на коде. Наши модели и набор данных доступны по ссылке 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/XCoderSummary
AI-Generated Summary