ChatPaper.aiChatPaper

Addestramento Iterativo Automatico per la Generazione di Codice tramite Riordinamento Rinforzato

Iterative Self-Training for Code Generation via Reinforced Re-Ranking

April 13, 2025
Autori: Nikita Sorokin, Ivan Sedykh, Valentin Malykh
cs.AI

Abstract

Generare codice di alta qualità che risolva compiti di programmazione complessi è una sfida, specialmente con i modelli basati su decoder attuali che producono output altamente stocastici. Nella generazione di codice, anche errori minori possono facilmente compromettere l'intera soluzione. Sfruttare più soluzioni campionate può migliorare significativamente la qualità complessiva dell'output. Un modo efficace per migliorare la generazione di codice è abbinare un modello di generazione di codice a un modello di reranking, che seleziona la migliore soluzione tra i campioni generati. Proponiamo un nuovo approccio iterativo di auto-addestramento per addestrare modelli di reranking utilizzando l'ottimizzazione delle politiche prossimali (PPO), mirato a migliorare sia l'accuratezza del reranking che il processo complessivo di generazione del codice. A differenza degli approcci tradizionali PPO, in cui l'obiettivo è ottimizzare un modello generativo con un modello di ricompensa, il nostro approccio si concentra sullo sviluppo di un modello robusto di ricompensa/reranking. Questo modello migliora la qualità del codice generato attraverso il reranking e affronta problemi ed errori che il modello di ricompensa potrebbe trascurare durante l'allineamento PPO con il reranker. Il nostro metodo perfeziona iterativamente il dataset di addestramento rivalutando gli output, identificando esempi negativi ad alto punteggio e incorporandoli nel ciclo di addestramento, migliorando così le prestazioni del modello. La nostra valutazione sul dataset MultiPL-E dimostra che il nostro modello da 13,4 miliardi di parametri supera un modello da 33 miliardi in termini di qualità della generazione di codice, pur essendo tre volte più veloce. Inoltre, raggiunge prestazioni paragonabili a GPT-4 e lo supera in un linguaggio di programmazione.
English
Generating high-quality code that solves complex programming tasks is challenging, especially with current decoder-based models that produce highly stochastic outputs. In code generation, even minor errors can easily break the entire solution. Leveraging multiple sampled solutions can significantly improve the overall output quality. One effective way to enhance code generation is by pairing a code generation model with a reranker model, which selects the best solution from the generated samples. We propose a novel iterative self-training approach for self-training reranker models using Proximal Policy Optimization (PPO), aimed at improving both reranking accuracy and the overall code generation process. Unlike traditional PPO approaches, where the focus is on optimizing a generative model with a reward model, our approach emphasizes the development of a robust reward/reranking model. This model improves the quality of generated code through reranking and addresses problems and errors that the reward model might overlook during PPO alignment with the reranker. Our method iteratively refines the training dataset by re-evaluating outputs, identifying high-scoring negative examples, and incorporating them into the training loop, that boosting model performance. Our evaluation on the MultiPL-E dataset demonstrates that our 13.4B parameter model outperforms a 33B model in code generation quality while being three times faster. Moreover, it achieves performance comparable to GPT-4 and surpasses it in one programming language.

Summary

AI-Generated Summary

PDF322April 15, 2025