ChatPaper.aiChatPaper

IterPref: Aprendizado de Preferências Focais para Geração de Código por meio de Depuração Iterativa

IterPref: Focal Preference Learning for Code Generation via Iterative Debugging

March 4, 2025
Autores: Jie Wu, Haoling Li, Xin Zhang, Jianwen Luo, Yangyu Huang, Ruihang Chu, Yujiu Yang, Scarlett Li
cs.AI

Resumo

O aprendizado de preferências aprimora os Code LLMs além do ajuste fino supervisionado ao aproveitar comparações de qualidade relativas. Os métodos existentes constroem pares de preferência a partir de candidatos com base no sucesso dos casos de teste, tratando a amostra com maior taxa de aprovação como positiva e a com menor taxa como negativa. No entanto, essa abordagem não identifica erros específicos no código, o que impede o modelo de aprender padrões mais informativos de correção de erros, já que alinhar o código com falhas como um todo carece da granularidade necessária para capturar relações significativas de resolução de erros. Para abordar esses problemas, propomos o IterPref, um novo framework de alinhamento de preferências que imita a depuração iterativa humana para refinar os Code LLMs. O IterPref localiza explicitamente regiões de erro e alinha os tokens correspondentes por meio de um algoritmo DPO personalizado. Para gerar pares informativos, introduzimos o conjunto de dados CodeFlow, onde as amostras são refinadas iterativamente até passarem nos testes, com modificações que capturam correções de erros. Experimentos extensivos mostram que uma suíte diversificada de Code LLMs equipados com IterPref alcança ganhos significativos de desempenho na geração de código e melhora em tarefas desafiadoras como o BigCodeBench. Análises detalhadas revelam que o IterPref resulta em menos erros. Nosso código e dados serão disponibilizados publicamente.
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

PDF62March 5, 2025