ACECODER: Dominare il Codice RL tramite la Sintesi Automatica dei Test Case
ACECODER: Acing Coder RL via Automated Test-Case Synthesis
February 3, 2025
Autori: Huaye Zeng, Dongfu Jiang, Haozhe Wang, Ping Nie, Xiaotong Chen, Wenhu Chen
cs.AI
Abstract
La maggior parte dei progressi nei modelli di codifica recenti è stata guidata dal fine-tuning supervisionato (SFT), mentre il potenziale del reinforcement learning (RL) rimane in gran parte inesplorato, principalmente a causa della mancanza di dati/modello di ricompensa affidabili nel dominio del codice. In questo articolo, affrontiamo questa sfida sfruttando la sintesi automatizzata su larga scala di casi di test per migliorare la formazione del modello di codice. In particolare, progettiamo un flusso di lavoro che genera coppie (domanda, casi di test) estese dai dati di codice esistenti. Utilizzando questi casi di test, costruiamo coppie di preferenza basate sui tassi di superamento su programmi campionati per addestrare modelli di ricompensa con perdita di Bradley-Terry. Mostra un miglioramento medio di 10 punti per Llama-3.1-8B-Ins e un miglioramento di 5 punti per Qwen2.5-Coder-7B-Ins attraverso il campionamento migliore di 32, portando il modello 7B allo stesso livello di DeepSeek-V2.5 da 236B. Inoltre, conduciamo il reinforcement learning con entrambi i modelli di ricompensa e le ricompense di superamento dei casi di test, portando a miglioramenti consistenti in HumanEval, MBPP, BigCodeBench e LiveCodeBench (V4). In particolare, seguiamo l'addestramento in stile R1 per partire direttamente da Qwen2.5-Coder-base e dimostriamo che il nostro addestramento RL può migliorare il modello su HumanEval-plus di oltre il 25\% e su MBPP-plus del 6\% con soli 80 passaggi di ottimizzazione. Crediamo che i nostri risultati mettano in luce l'enorme potenziale del reinforcement learning nei modelli di codifica.
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