ACECODER: Совершенствование программиста RL с помощью автоматического синтеза тестовых случаев
ACECODER: Acing Coder RL via Automated Test-Case Synthesis
February 3, 2025
Авторы: Huaye Zeng, Dongfu Jiang, Haozhe Wang, Ping Nie, Xiaotong Chen, Wenhu Chen
cs.AI
Аннотация
Большинство прогресса в недавних моделях кодировщиков было обусловлено надзорным донастройкой (SFT), в то время как потенциал обучения с подкреплением (RL) остается в значительной степени неисследованным, в первую очередь из-за отсутствия надежных данных/модели вознаграждения в области кода. В данной статье мы решаем эту проблему, используя автоматизированный синтез тест-кейсов в большом масштабе для улучшения обучения моделей кода. Конкретно, мы разрабатываем конвейер, который генерирует обширные пары (вопрос, тест-кейсы) из существующих данных кода. Используя эти тест-кейсы, мы создаем пары предпочтения на основе процентов прохождения отобранных программ для обучения моделей вознаграждения с потерями Брэдли-Терри. Это показывает среднее улучшение на 10 пунктов для Llama-3.1-8B-Ins и на 5 пунктов для Qwen2.5-Coder-7B-Ins через лучший из 32 отборов, делая модель 7B на уровне с 236B DeepSeek-V2.5. Кроме того, мы проводим обучение с подкреплением с использованием обеих моделей вознаграждения и вознаграждений за прохождение тест-кейсов, что приводит к последовательному улучшению по метрикам HumanEval, MBPP, BigCodeBench и LiveCodeBench (V4). Заметно, что мы следуем обучению в стиле R1, начиная с Qwen2.5-Coder-base напрямую, и показываем, что наше обучение с подкреплением может улучшить модель на HumanEval-plus более чем на 25\% и на MBPP-plus на 6\% всего за 80 шагов оптимизации. Мы считаем, что наши результаты подчеркивают огромный потенциал обучения с подкреплением в моделях кодировщиков.
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