ACECODER: Het behalen van Coder RL via Geautomatiseerde Testgevalsynthese
ACECODER: Acing Coder RL via Automated Test-Case Synthesis
February 3, 2025
Auteurs: Huaye Zeng, Dongfu Jiang, Haozhe Wang, Ping Nie, Xiaotong Chen, Wenhu Chen
cs.AI
Samenvatting
De meeste vooruitgang in recente codeermodellen is gedreven door begeleid fijnafstemmen (SFT), terwijl het potentieel van versterkend leren (RL) grotendeels onbenut blijft, voornamelijk vanwege het gebrek aan betrouwbare beloningsgegevens/model in het codeerdomein. In dit artikel pakken we deze uitdaging aan door geautomatiseerde grootschalige testgevalsynthese te benutten om de training van codeermodellen te verbeteren. Specifiek ontwerpen we een pijplijn die uitgebreide (vraag, testgeval) paren genereert uit bestaande codegegevens. Met behulp van deze testgevallen construeren we voorkeursparen op basis van slaagpercentages over bemonsterde programma's om beloningsmodellen te trainen met Bradley-Terry verlies. Het toont een gemiddelde verbetering van 10 punten voor Llama-3.1-8B-Ins en 5 punten voor Qwen2.5-Coder-7B-Ins via best-of-32 bemonstering, waardoor het 7B-model op gelijke voet komt te staan met 236B DeepSeek-V2.5. Bovendien voeren we versterkend leren uit met zowel beloningsmodellen als testgevalslaagbeloningen, resulterend in consistente verbeteringen over HumanEval, MBPP, BigCodeBench, en LiveCodeBench (V4). Opmerkelijk is dat we de R1-stijl training volgen om direct vanaf Qwen2.5-Coder-base te beginnen en laten zien dat onze RL-training het model op HumanEval-plus met meer dan 25% kan verbeteren en op MBPP-plus met 6% met slechts 80 optimalisatiestappen. Wij geloven dat onze resultaten het enorme potentieel van versterkend leren in codeermodellen benadrukken.
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