R1-Code-Interpreter: Обучение языковых моделей для логического рассуждения с использованием кода через методы обучения с учителем и с подкреплением
R1-Code-Interpreter: Training LLMs to Reason with Code via Supervised and Reinforcement Learning
May 27, 2025
Авторы: Yongchao Chen, Yueying Liu, Junwei Zhou, Yilun Hao, Jingquan Wang, Yang Zhang, Chuchu Fan
cs.AI
Аннотация
Несмотря на прогресс в области рассуждений и планирования моделей, подобных R1, крупные языковые модели (LLM) по-прежнему испытывают трудности с задачами, требующими точных вычислений, символьных манипуляций, оптимизации и алгоритмического мышления, где текстовые рассуждения уступают строгости выполнения кода. Ключевой проблемой является обеспечение способности LLM решать, когда использовать текстовые рассуждения, а когда — генерацию кода. Хотя OpenAI обучает модели вызывать интерпретатор кода по мере необходимости, в публичных исследованиях отсутствуют рекомендации по адаптации предварительно обученных LLM для эффективного использования кода и обобщения на разнообразные задачи. Мы представляем R1-Code-Interpreter — расширение текстовой LLM, обученной с помощью многошагового контролируемого тонкого настройки (SFT) и обучения с подкреплением (RL), для автономной генерации множества запросов кода в процессе пошагового рассуждения. Мы подготовили 144 задачи на рассуждение и планирование (107 для обучения, 37 для тестирования), каждая из которых содержит более 200 разнообразных вопросов. Мы тонко настраиваем модели Qwen-2.5 (3B/7B/14B), используя различные стратегии SFT и RL, исследуя различные форматы ответов, модели с рассуждениями и без них, холодный и теплый старт, GRPO против PPO, а также маскированные и немаскированные выходы кода. В отличие от предыдущих работ по RL в узких областях, мы обнаруживаем, что обучение с использованием интерпретатора кода значительно сложнее из-за высокой разнородности задач и дороговизны выполнения кода, что подчеркивает критическую роль этапа SFT. Наша итоговая модель, R1-CI-14B, повышает среднюю точность на 37 тестовых задачах с 44,0% до 64,1%, превосходя GPT-4o (только текст: 58,6%) и приближаясь к GPT-4o с интерпретатором кода (70,9%), благодаря возникающему поведению самопроверки через генерацию кода. Наборы данных, коды и модели доступны по адресам https://github.com/yongchao98/R1-Code-Interpreter и https://huggingface.co/yongchao98.
English
Despite advances in reasoning and planning of R1-like models, Large Language
Models (LLMs) still struggle with tasks requiring precise computation, symbolic
manipulation, optimization, and algorithmic reasoning, in which textual
reasoning lacks the rigor of code execution. A key challenge is enabling LLMs
to decide when to use textual reasoning versus code generation. While OpenAI
trains models to invoke a Code Interpreter as needed, public research lacks
guidance on aligning pre-trained LLMs to effectively leverage code and
generalize across diverse tasks. We present R1-Code-Interpreter, an extension
of a text-only LLM trained via multi-turn supervised fine-tuning (SFT) and
reinforcement learning (RL) to autonomously generate multiple code queries
during step-by-step reasoning. We curate 144 reasoning and planning tasks (107
for training, 37 for testing), each with over 200 diverse questions. We
fine-tune Qwen-2.5 models (3B/7B/14B) using various SFT and RL strategies,
investigating different answer formats, reasoning vs. non-reasoning models,
cold vs. warm starts, GRPO vs. PPO, and masked vs. unmasked code outputs.
Unlike prior RL work on narrow domains, we find that Code Interpreter training
is significantly harder due to high task diversity and expensive code
execution, highlighting the critical role of the SFT stage. Our final model,
R1-CI-14B, improves average accuracy on the 37 test tasks from 44.0\% to
64.1\%, outperforming GPT-4o (text-only: 58.6\%) and approaching GPT-4o with
Code Interpreter (70.9\%), with the emergent self-checking behavior via code
generation. Datasets, Codes, and Models are available at
https://github.com/yongchao98/R1-Code-Interpreter and
https://huggingface.co/yongchao98.