ACECODER: Erfolgreiches Codieren mit Coder-RL durch automatisierte Testfall-Synthese
ACECODER: Acing Coder RL via Automated Test-Case Synthesis
February 3, 2025
Autoren: Huaye Zeng, Dongfu Jiang, Haozhe Wang, Ping Nie, Xiaotong Chen, Wenhu Chen
cs.AI
Zusammenfassung
Der Großteil des Fortschritts bei aktuellen Codierer-Modellen wurde durch überwachtes Feintuning (SFT) vorangetrieben, während das Potenzial des Reinforcement Learning (RL) größtenteils unerforscht bleibt, hauptsächlich aufgrund des Mangels an zuverlässigen Belohnungsdaten/Modellen im Code-Bereich. In diesem Artikel gehen wir dieses Problem an, indem wir automatisierte groß angelegte Testfall-Synthese nutzen, um das Training von Code-Modellen zu verbessern. Konkret entwerfen wir eine Pipeline, die umfangreiche (Frage, Testfall)-Paare aus vorhandenen Code-Daten generiert. Unter Verwendung dieser Testfälle konstruieren wir Präferenzpaare basierend auf Bestehensraten über ausgewählten Programmen, um Belohnungsmodelle mit Bradley-Terry-Verlust zu trainieren. Es zeigt eine durchschnittliche Verbesserung von 10 Punkten für Llama-3.1-8B-Ins und 5 Punkten für Qwen2.5-Coder-7B-Ins durch das beste von 32 Sampling, was das 7B-Modell auf Augenhöhe mit 236B DeepSeek-V2.5 bringt. Darüber hinaus führen wir Reinforcement Learning mit beiden Belohnungsmodellen und Testfall-Bestehensbelohnungen durch, was zu konsistenten Verbesserungen bei HumanEval, MBPP, BigCodeBench und LiveCodeBench (V4) führt. Bemerkenswert ist, dass wir das Training im R1-Stil beginnen, direkt von Qwen2.5-Coder-base ausgehend, und zeigen, dass unser RL-Training das Modell bei HumanEval-plus um über 25\% und bei MBPP-plus um 6\% nach nur 80 Optimierungsschritten verbessern kann. Wir sind der Meinung, dass unsere Ergebnisse das enorme Potenzial des Reinforcement Learning in Codierer-Modellen verdeutlichen.
English
Most progress in recent coder models has been driven by supervised
fine-tuning (SFT), while the potential of reinforcement learning (RL) remains
largely unexplored, primarily due to the lack of reliable reward data/model in
the code domain. In this paper, we address this challenge by leveraging
automated large-scale test-case synthesis to enhance code model training.
Specifically, we design a pipeline that generates extensive (question,
test-cases) pairs from existing code data. Using these test cases, we construct
preference pairs based on pass rates over sampled programs to train reward
models with Bradley-Terry loss. It shows an average of 10-point improvement for
Llama-3.1-8B-Ins and 5-point improvement for Qwen2.5-Coder-7B-Ins through
best-of-32 sampling, making the 7B model on par with 236B DeepSeek-V2.5.
Furthermore, we conduct reinforcement learning with both reward models and
test-case pass rewards, leading to consistent improvements across HumanEval,
MBPP, BigCodeBench, and LiveCodeBench (V4). Notably, we follow the R1-style
training to start from Qwen2.5-Coder-base directly and show that our RL
training can improve model on HumanEval-plus by over 25\% and MBPP-plus by 6\%
for merely 80 optimization steps. We believe our results highlight the huge
potential of reinforcement learning in coder models.Summary
AI-Generated Summary