ChatPaper.aiChatPaper

IterPref: Fokale Präferenzlernmethode für die Codegenerierung durch iteratives Debugging

IterPref: Focal Preference Learning for Code Generation via Iterative Debugging

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

Zusammenfassung

Preference Learning verbessert Code-LLMs über das überwachte Feinabstimmen hinaus, indem es relative Qualitätsvergleiche nutzt. Bestehende Methoden konstruieren Präferenzpaare aus Kandidaten basierend auf dem Erfolg von Testfällen, wobei die Probe mit der höheren Erfolgsquote als positiv und die mit der niedrigeren als negativ behandelt wird. Dieser Ansatz identifiziert jedoch keine spezifischen Fehler im Code, was verhindert, dass das Modell informativere Fehlerkorrekturmuster lernt, da die Ausrichtung von fehlerhaftem Code als Ganzes die Granularität fehlt, um bedeutungsvolle Fehler-Behebungs-Beziehungen zu erfassen. Um diese Probleme zu lösen, schlagen wir IterPref vor, ein neues Präferenzausrichtungs-Framework, das das iterative Debugging von Menschen nachahmt, um Code-LLMs zu verfeinern. IterPref lokalisiert explizit Fehlerbereiche und richtet die entsprechenden Tokens über einen maßgeschneiderten DPO-Algorithmus aus. Um informative Paare zu generieren, führen wir das CodeFlow-Dataset ein, in dem Proben iterativ verfeinert werden, bis sie Tests bestehen, wobei die Modifikationen Fehlerkorrekturen erfassen. Umfangreiche Experimente zeigen, dass eine vielfältige Suite von Code-LLMs, die mit IterPref ausgestattet sind, signifikante Leistungssteigerungen in der Code-Generierung erreicht und bei anspruchsvollen Aufgaben wie BigCodeBench verbessert. Eine detaillierte Analyse zeigt, dass IterPref weniger Fehler verursacht. Unser Code und unsere Daten werden öffentlich zugänglich gemacht.
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