Sur le raisonnement induit par le code dans les LLM
On Code-Induced Reasoning in LLMs
September 25, 2025
papers.authors: Abdul Waheed, Zhen Wu, Carolyn Rosé, Daphne Ippolito
cs.AI
papers.abstract
Les données de code ont démontré leur capacité à améliorer les capacités de raisonnement des grands modèles de langage (LLM), mais il reste incertain quels aspects du code en sont les principaux responsables. Nous explorons cette question à l'aide d'un cadre systématique et centré sur les données. Nous construisons des ensembles d'instructions parallèles dans dix langages de programmation et appliquons des perturbations contrôlées qui perturbent sélectivement les propriétés structurelles ou sémantiques du code. Nous affinons ensuite des LLM issus de cinq familles de modèles et huit échelles sur chaque variante et évaluons leurs performances sur des tâches de langage naturel, de mathématiques et de code. À travers 3 331 expériences, nos résultats montrent que les LLM sont plus vulnérables aux perturbations structurelles qu'aux perturbations sémantiques, en particulier sur les tâches de mathématiques et de code. Des abstractions appropriées comme le pseudocode et les organigrammes peuvent être aussi efficaces que le code, tout en encodant la même information avec moins de tokens sans adhérer à la syntaxe originale, ce qui peut souvent maintenir ou même améliorer les performances. De manière remarquable, même un code corrompu avec des signaux trompeurs reste compétitif lorsque les régularités de surface persistent. Enfin, les styles syntaxiques influencent également les gains spécifiques aux tâches, avec Python favorisant le raisonnement en langage naturel et les langages de plus bas niveau comme Java et Rust favorisant les mathématiques. À travers notre cadre systématique, nous visons à fournir des insights sur la manière dont les différentes propriétés du code influencent le raisonnement et à éclairer la conception des données d'entraînement pour améliorer les capacités de raisonnement des LLM.
English
Code data has been shown to enhance the reasoning capabilities of large
language models (LLMs), but it remains unclear which aspects of code are most
responsible. We investigate this question with a systematic, data-centric
framework. We construct parallel instruction datasets in ten programming
languages and apply controlled perturbations that selectively disrupt
structural or semantic properties of code. We then finetune LLMs from five
model families and eight scales on each variant and evaluate their performance
on natural language, math, and code tasks. Across 3,331 experiments, our
results show that LLMs are more vulnerable to structural perturbations than
semantic ones, particularly on math and code tasks. Appropriate abstractions
like pseudocode and flowcharts can be as effective as code, while encoding the
same information with fewer tokens without adhering to original syntax can
often retain or even improve performance. Remarkably, even corrupted code with
misleading signals remains competitive when surface-level regularities persist.
Finally, syntactic styles also shape task-specific gains with Python favoring
natural language reasoning and lower-level languages such as Java and Rust
favoring math. Through our systematic framework, we aim to provide insight into
how different properties of code influence reasoning and inform the design of
training data for enhancing LLM reasoning capabilities.