Sobre o Raciocínio Induzido por Código em LLMs
On Code-Induced Reasoning in LLMs
September 25, 2025
Autores: Abdul Waheed, Zhen Wu, Carolyn Rosé, Daphne Ippolito
cs.AI
Resumo
Dados de código têm demonstrado aprimorar as capacidades de raciocínio de modelos de linguagem de grande escala (LLMs), mas ainda não está claro quais aspectos do código são os mais responsáveis por isso. Investigamos essa questão com uma abordagem sistemática e centrada em dados. Construímos conjuntos de dados de instruções paralelas em dez linguagens de programação e aplicamos perturbações controladas que interrompem seletivamente propriedades estruturais ou semânticas do código. Em seguida, ajustamos finamente LLMs de cinco famílias de modelos e oito escalas em cada variante e avaliamos seu desempenho em tarefas de linguagem natural, matemática e código. Em 3.331 experimentos, nossos resultados mostram que os LLMs são mais vulneráveis a perturbações estruturais do que a semânticas, particularmente em tarefas de matemática e código. Abstrações apropriadas, como pseudocódigo e fluxogramas, podem ser tão eficazes quanto o código, enquanto codificar a mesma informação com menos tokens sem aderir à sintaxe original pode muitas vezes manter ou até melhorar o desempenho. Notavelmente, mesmo código corrompido com sinais enganosos permanece competitivo quando regularidades superficiais persistem. Por fim, estilos sintáticos também moldam ganhos específicos de tarefas, com Python favorecendo o raciocínio em linguagem natural e linguagens de nível mais baixo, como Java e Rust, favorecendo a matemática. Por meio de nossa abordagem sistemática, buscamos fornecer insights sobre como diferentes propriedades do código influenciam o raciocínio e informar o design de dados de treinamento para aprimorar as capacidades de raciocínio dos LLMs.
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.