ChatPaper.aiChatPaper

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

PDF282February 5, 2025