ChatPaper.aiChatPaper

IterPref: Apprendimento delle Preferenze Focalizzato per la Generazione di Codice tramite Debug Iterativo

IterPref: Focal Preference Learning for Code Generation via Iterative Debugging

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

Abstract

L'apprendimento delle preferenze potenzia i Code LLM oltre il fine-tuning supervisionato sfruttando confronti relativi sulla qualità. I metodi esistenti costruiscono coppie di preferenze dai candidati basandosi sul successo dei test case, trattando il campione con il tasso di passaggio più alto come positivo e quello più basso come negativo. Tuttavia, questo approccio non individua errori specifici nel codice, il che impedisce al modello di apprendere pattern più informativi per la correzione degli errori, poiché allineare il codice fallito nel suo insieme manca della granularità necessaria per catturare relazioni significative tra errori e risoluzioni. Per affrontare questi problemi, proponiamo IterPref, un nuovo framework di allineamento delle preferenze che imita il debug iterativo umano per affinare i Code LLM. IterPref individua esplicitamente le regioni di errore e allinea i token corrispondenti tramite un algoritmo DPO personalizzato. Per generare coppie informative, introduciamo il dataset CodeFlow, in cui i campioni vengono raffinati iterativamente fino al superamento dei test, con modifiche che catturano le correzioni degli errori. Esperimenti estesi dimostrano che una suite diversificata di Code LLM equipaggiati con IterPref ottiene significativi miglioramenti nelle prestazioni nella generazione di codice e migliora su compiti impegnativi come BigCodeBench. Un'analisi approfondita rivela che IterPref produce meno errori. Il nostro codice e i dati saranno resi pubblicamente disponibili.
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