R1-Code-Interpreter: Entrenamiento de LLMs para razonar con código mediante aprendizaje supervisado y por refuerzo
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
Resumen
A pesar de los avances en razonamiento y planificación de modelos similares a R1, los Modelos de Lenguaje de Gran Escala (LLMs) aún tienen dificultades con tareas que requieren cálculos precisos, manipulación simbólica, optimización y razonamiento algorítmico, donde el razonamiento textual carece del rigor de la ejecución de código. Un desafío clave es permitir que los LLMs decidan cuándo utilizar razonamiento textual frente a la generación de código. Mientras que OpenAI entrena modelos para invocar un Intérprete de Código según sea necesario, la investigación pública carece de orientación sobre cómo alinear LLMs preentrenados para aprovechar eficazmente el código y generalizar en diversas tareas. Presentamos R1-Code-Interpreter, una extensión de un LLM de solo texto entrenado mediante ajuste fino supervisado (SFT) de múltiples turnos y aprendizaje por refuerzo (RL) para generar autónomamente múltiples consultas de código durante el razonamiento paso a paso. Curatoriamos 144 tareas de razonamiento y planificación (107 para entrenamiento, 37 para pruebas), cada una con más de 200 preguntas diversas. Ajustamos finamente modelos Qwen-2.5 (3B/7B/14B) utilizando varias estrategias de SFT y RL, investigando diferentes formatos de respuesta, modelos de razonamiento frente a no razonamiento, arranques en frío frente a calientes, GRPO frente a PPO, y salidas de código enmascaradas frente a no enmascaradas. A diferencia de trabajos previos de RL en dominios estrechos, encontramos que el entrenamiento del Intérprete de Código es significativamente más difícil debido a la alta diversidad de tareas y la costosa ejecución de código, destacando el papel crítico de la etapa de SFT. Nuestro modelo final, R1-CI-14B, mejora la precisión promedio en las 37 tareas de prueba del 44.0\% al 64.1\%, superando a GPT-4o (solo texto: 58.6\%) y acercándose a GPT-4o con Intérprete de Código (70.9\%), con un comportamiento emergente de autoverificación mediante generación de código. Los conjuntos de datos, códigos y modelos están disponibles en https://github.com/yongchao98/R1-Code-Interpreter y 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.