Iteratives Selbsttraining für Code-Generierung durch verstärktes Neu-Ranking
Iterative Self-Training for Code Generation via Reinforced Re-Ranking
April 13, 2025
Autoren: Nikita Sorokin, Ivan Sedykh, Valentin Malykh
cs.AI
Zusammenfassung
Die Generierung von hochwertigem Code, der komplexe Programmieraufgaben löst, ist eine Herausforderung, insbesondere bei aktuellen dekoderbasierten Modellen, die stark stochastische Ausgaben erzeugen. Bei der Code-Generierung können bereits kleinste Fehler die gesamte Lösung unbrauchbar machen. Die Nutzung mehrerer gesampelter Lösungen kann die Gesamtqualität der Ausgabe erheblich verbessern.
Eine effektive Methode zur Verbesserung der Code-Generierung besteht darin, ein Code-Generierungsmodell mit einem Reranker-Modell zu kombinieren, das die beste Lösung aus den generierten Samples auswählt. Wir schlagen einen neuartigen iterativen Selbsttrainingsansatz für das Selbsttraining von Reranker-Modellen unter Verwendung von Proximal Policy Optimization (PPO) vor, der darauf abzielt, sowohl die Reranking-Genauigkeit als auch den gesamten Code-Generierungsprozess zu verbessern. Im Gegensatz zu traditionellen PPO-Ansätzen, bei denen der Fokus auf der Optimierung eines generativen Modells mit einem Belohnungsmodell liegt, betont unser Ansatz die Entwicklung eines robusten Belohnungs-/Reranking-Modells. Dieses Modell verbessert die Qualität des generierten Codes durch Reranking und behebt Probleme und Fehler, die das Belohnungsmodell während der PPO-Ausrichtung mit dem Reranker möglicherweise übersehen hat. Unsere Methode verfeinert den Trainingsdatensatz iterativ, indem sie Ausgaben neu bewertet, hoch bewertete negative Beispiele identifiziert und diese in den Trainingszyklus einbindet, wodurch die Modellleistung gesteigert wird.
Unsere Auswertung auf dem MultiPL-E-Datensatz zeigt, dass unser Modell mit 13,4 Milliarden Parametern ein Modell mit 33 Milliarden Parametern in Bezug auf die Code-Generierungsqualität übertrifft und dabei dreimal schneller ist. Darüber hinaus erreicht es eine Leistung, die mit GPT-4 vergleichbar ist, und übertrifft es in einer Programmiersprache.
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