Sobre el razonamiento inducido por código en los LLM
On Code-Induced Reasoning in LLMs
September 25, 2025
Autores: Abdul Waheed, Zhen Wu, Carolyn Rosé, Daphne Ippolito
cs.AI
Resumen
Se ha demostrado que los datos de código mejoran las capacidades de razonamiento de los modelos de lenguaje de gran escala (LLMs, por sus siglas en inglés), pero aún no está claro qué aspectos del código son los más responsables. Investigamos esta cuestión con un marco sistemático y centrado en los datos. Construimos conjuntos de datos de instrucciones paralelos en diez lenguajes de programación y aplicamos perturbaciones controladas que interrumpen selectivamente propiedades estructurales o semánticas del código. Luego, ajustamos LLMs de cinco familias de modelos y ocho escalas en cada variante y evaluamos su rendimiento en tareas de lenguaje natural, matemáticas y código. A través de 3,331 experimentos, nuestros resultados muestran que los LLMs son más vulnerables a las perturbaciones estructurales que a las semánticas, particularmente en tareas de matemáticas y código. Abstracciones adecuadas, como pseudocódigo y diagramas de flujo, pueden ser tan efectivas como el código, mientras que codificar la misma información con menos tokens sin adherirse a la sintaxis original a menudo puede mantener o incluso mejorar el rendimiento. Notablemente, incluso el código corrupto con señales engañosas sigue siendo competitivo cuando persisten regularidades superficiales. Finalmente, los estilos sintácticos también influyen en las ganancias específicas de tareas, con Python favoreciendo el razonamiento en lenguaje natural y lenguajes de más bajo nivel como Java y Rust favoreciendo las matemáticas. A través de nuestro marco sistemático, buscamos proporcionar información sobre cómo las diferentes propiedades del código influyen en el razonamiento y orientar el diseño de datos de entrenamiento para mejorar las capacidades de razonamiento de los 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.