ChatPaper.aiChatPaper

IterPref: Обучение фокусных предпочтений для генерации кода через итеративную отладку

IterPref: Focal Preference Learning for Code Generation via Iterative Debugging

March 4, 2025
Авторы: Jie Wu, Haoling Li, Xin Zhang, Jianwen Luo, Yangyu Huang, Ruihang Chu, Yujiu Yang, Scarlett Li
cs.AI

Аннотация

Обучение на основе предпочтений улучшает Code LLM, выходя за рамки контролируемого тонкого настройки, за счет использования сравнений относительного качества. Существующие методы формируют пары предпочтений из кандидатов на основе успешности тестовых случаев, рассматривая образец с более высокой долей прохождения как положительный, а с более низкой — как отрицательный. Однако этот подход не выявляет конкретные ошибки в коде, что препятствует обучению модели более информативным шаблонам исправления ошибок, поскольку согласование неудачного кода в целом не обладает необходимой детализацией для выявления значимых связей между ошибками и их исправлением. Для решения этих проблем мы предлагаем IterPref — новый фреймворк согласования предпочтений, который имитирует итеративную отладку, выполняемую человеком, для улучшения Code LLM. IterPref явно определяет области ошибок и согласует соответствующие токены с помощью адаптированного алгоритма DPO. Для создания информативных пар мы представляем набор данных CodeFlow, где образцы итеративно улучшаются до прохождения тестов, а изменения фиксируют исправления ошибок. Многочисленные эксперименты показывают, что разнообразные Code LLM, оснащенные IterPref, достигают значительного улучшения производительности в генерации кода и справляются с более сложными задачами, такими как BigCodeBench. Глубокий анализ показывает, что IterPref приводит к меньшему количеству ошибок. Наш код и данные будут общедоступны.
English
Preference learning enhances Code LLMs beyond supervised fine-tuning by leveraging relative quality comparisons. Existing methods construct preference pairs from candidates based on test case success, treating the higher pass rate sample as positive and the lower as negative. However, this approach does not pinpoint specific errors in the code, which prevents the model from learning more informative error correction patterns, as aligning failing code as a whole lacks the granularity needed to capture meaningful error-resolution relationships. To address these issues, we propose IterPref, a new preference alignment framework that mimics human iterative debugging to refine Code LLMs. IterPref explicitly locates error regions and aligns the corresponding tokens via a tailored DPO algorithm. To generate informative pairs, we introduce the CodeFlow dataset, where samples are iteratively refined until passing tests, with modifications capturing error corrections. Extensive experiments show that a diverse suite of Code LLMs equipped with IterPref achieves significant performance gains in code generation and improves on challenging tasks like BigCodeBench. In-depth analysis reveals that IterPref yields fewer errors. Our code and data will be made publicaly available.

Summary

AI-Generated Summary

PDF52March 5, 2025