R1-Code-Interpreter: Treinando LLMs para Raciocinar com Código por meio de Aprendizado Supervisionado e por Reforço
R1-Code-Interpreter: Training LLMs to Reason with Code via Supervised and Reinforcement Learning
May 27, 2025
Autores: Yongchao Chen, Yueying Liu, Junwei Zhou, Yilun Hao, Jingquan Wang, Yang Zhang, Chuchu Fan
cs.AI
Resumo
Apesar dos avanços no raciocínio e planejamento de modelos semelhantes ao R1, os Modelos de Linguagem de Grande Escala (LLMs) ainda enfrentam dificuldades em tarefas que exigem computação precisa, manipulação simbólica, otimização e raciocínio algorítmico, nas quais o raciocínio textual carece do rigor da execução de código. Um desafio fundamental é capacitar os LLMs a decidir quando usar raciocínio textual versus geração de código. Embora a OpenAI treine modelos para invocar um Interpretador de Código conforme necessário, a pesquisa pública carece de orientações sobre como alinhar LLMs pré-treinados para aproveitar efetivamente o código e generalizar em diversas tarefas. Apresentamos o R1-Code-Interpreter, uma extensão de um LLM apenas de texto, treinado por meio de ajuste fino supervisionado (SFT) multietapas e aprendizado por reforço (RL) para gerar autonomamente múltiplas consultas de código durante o raciocínio passo a passo. Curamos 144 tarefas de raciocínio e planejamento (107 para treinamento, 37 para teste), cada uma com mais de 200 perguntas diversas. Ajustamos finamente os modelos Qwen-2.5 (3B/7B/14B) usando várias estratégias de SFT e RL, investigando diferentes formatos de resposta, modelos de raciocínio versus não raciocínio, inícios frios versus quentes, GRPO versus PPO e saídas de código mascaradas versus não mascaradas. Diferente de trabalhos anteriores de RL em domínios restritos, descobrimos que o treinamento do Interpretador de Código é significativamente mais difícil devido à alta diversidade de tarefas e à execução de código custosa, destacando o papel crítico da etapa de SFT. Nosso modelo final, R1-CI-14B, melhora a precisão média nas 37 tarefas de teste de 44,0% para 64,1%, superando o GPT-4o (apenas texto: 58,6%) e se aproximando do GPT-4o com Interpretador de Código (70,9%), com o comportamento emergente de auto-verificação via geração de código. Conjuntos de dados, códigos e modelos estão disponíveis em https://github.com/yongchao98/R1-Code-Interpreter e 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.