Iteratief Zelf-Training voor Codegeneratie via Versterkt Her-Rangschikken
Iterative Self-Training for Code Generation via Reinforced Re-Ranking
April 13, 2025
Auteurs: Nikita Sorokin, Ivan Sedykh, Valentin Malykh
cs.AI
Samenvatting
Het genereren van hoogwaardige code die complexe programmeertaken oplost, is uitdagend, vooral met huidige decoder-gebaseerde modellen die sterk stochastische uitvoer produceren. Bij codegeneratie kunnen zelfs kleine fouten de volledige oplossing gemakkelijk doen falen. Het benutten van meerdere gegenereerde oplossingen kan de algehele uitvoerkwaliteit aanzienlijk verbeteren.
Een effectieve manier om codegeneratie te verbeteren, is door een codegeneratiemodel te combineren met een herrangiermodel, dat de beste oplossing selecteert uit de gegenereerde voorbeelden. Wij stellen een nieuwe iteratieve zelf-trainingsmethode voor voor het trainen van herrangiermodellen met behulp van Proximal Policy Optimization (PPO), gericht op het verbeteren van zowel de herrangiernauwkeurigheid als het algehele codegeneratieproces. In tegenstelling tot traditionele PPO-benaderingen, waarbij de focus ligt op het optimaliseren van een generatief model met een beloningsmodel, benadrukt onze aanpak de ontwikkeling van een robuust belonings-/herrangiermodel. Dit model verbetert de kwaliteit van gegenereerde code door herrangschikking en behandelt problemen en fouten die het beloningsmodel mogelijk over het hoofd ziet tijdens de PPO-afstemming met het herrangiermodel. Onze methode verfijnt de trainingsdataset iteratief door uitvoer opnieuw te evalueren, hoogscorende negatieve voorbeelden te identificeren en deze op te nemen in de trainingsloop, wat de modelprestaties versterkt.
Onze evaluatie op de MultiPL-E dataset toont aan dat ons model met 13,4 miljard parameters een model met 33 miljard parameters overtreft in codegeneratiekwaliteit, terwijl het drie keer sneller is. Bovendien bereikt het prestaties die vergelijkbaar zijn met GPT-4 en overtreft het deze in één programmeertaal.
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