IterPref: Focale voorkeursleren voor codegeneratie via iteratief debuggen
IterPref: Focal Preference Learning for Code Generation via Iterative Debugging
March 4, 2025
Auteurs: Jie Wu, Haoling Li, Xin Zhang, Jianwen Luo, Yangyu Huang, Ruihang Chu, Yujiu Yang, Scarlett Li
cs.AI
Samenvatting
Preference learning verbetert Code LLMs verder dan supervised fine-tuning door gebruik te maken van relatieve kwaliteitsvergelijkingen. Bestaande methoden construeren voorkeursparen uit kandidaten op basis van testsucces, waarbij het monster met het hogere slagingspercentage als positief en het lagere als negief wordt behandeld. Deze benadering identificeert echter geen specifieke fouten in de code, wat voorkomt dat het model meer informatieve foutcorrectiepatronen leert, aangezien het uitlijnen van falende code als geheel de granulariteit mist die nodig is om betekenisvolle foutoplossingsrelaties vast te leggen. Om deze problemen aan te pakken, stellen we IterPref voor, een nieuw voorkeursuitlijningsframework dat menselijke iteratieve debugging nabootst om Code LLMs te verfijnen. IterPref lokaliseert expliciet foutregio's en lijn de corresponderende tokens uit via een op maat gemaakt DPO-algoritme. Om informatieve paren te genereren, introduceren we de CodeFlow-dataset, waar monsters iteratief worden verfijnd totdat ze tests doorstaan, met aanpassingen die foutcorrecties vastleggen. Uitgebreide experimenten tonen aan dat een diverse reeks Code LLMs uitgerust met IterPref aanzienlijke prestatieverbeteringen behaalt in codegeneratie en beter presteert op uitdagende taken zoals BigCodeBench. Diepgaande analyse onthult dat IterPref minder fouten oplevert. Onze code en data zullen publiekelijk beschikbaar worden gemaakt.
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