R1-Code-Interpreter : Entraînement des LLM à raisonner avec du code via l'apprentissage supervisé et par renforcement
R1-Code-Interpreter: Training LLMs to Reason with Code via Supervised and Reinforcement Learning
May 27, 2025
Auteurs: Yongchao Chen, Yueying Liu, Junwei Zhou, Yilun Hao, Jingquan Wang, Yang Zhang, Chuchu Fan
cs.AI
Résumé
Malgré les avancées dans le raisonnement et la planification des modèles de type R1, les grands modèles de langage (LLMs) peinent encore à accomplir des tâches nécessitant des calculs précis, des manipulations symboliques, de l'optimisation et un raisonnement algorithmique, où le raisonnement textuel manque de la rigueur de l'exécution de code. Un défi majeur consiste à permettre aux LLMs de décider quand utiliser un raisonnement textuel plutôt que la génération de code. Bien qu'OpenAI entraîne ses modèles à invoquer un interpréteur de code si nécessaire, la recherche publique manque de directives pour aligner les LLMs pré-entraînés afin de tirer efficacement parti du code et de généraliser à travers des tâches variées. Nous présentons R1-Code-Interpreter, une extension d'un LLM textuel uniquement, entraîné via un affinage supervisé multi-tours (SFT) et un apprentissage par renforcement (RL) pour générer de manière autonome plusieurs requêtes de code lors d'un raisonnement étape par étape. Nous avons sélectionné 144 tâches de raisonnement et de planification (107 pour l'entraînement, 37 pour les tests), chacune comportant plus de 200 questions variées. Nous avons affiné les modèles Qwen-2.5 (3B/7B/14B) en utilisant diverses stratégies de SFT et RL, en explorant différents formats de réponse, des modèles avec ou sans raisonnement, des démarrages à froid ou à chaud, GRPO vs. PPO, et des sorties de code masquées ou non masquées. Contrairement aux travaux antérieurs en RL sur des domaines étroits, nous constatons que l'entraînement avec l'interpréteur de code est significativement plus difficile en raison de la grande diversité des tâches et du coût élevé de l'exécution du code, soulignant le rôle crucial de l'étape de SFT. Notre modèle final, R1-CI-14B, améliore la précision moyenne sur les 37 tâches de test de 44,0 % à 64,1 %, surpassant GPT-4o (texte uniquement : 58,6 %) et approchant GPT-4o avec interpréteur de code (70,9 %), grâce à l'émergence d'un comportement d'auto-vérification via la génération de code. Les ensembles de données, codes et modèles sont disponibles sur https://github.com/yongchao98/R1-Code-Interpreter et 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.