ChatPaper.aiChatPaper

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

PDF342April 15, 2025