Sul Ragionamento Indotto dal Codice nei Modelli Linguistici di Grande Dimensione
On Code-Induced Reasoning in LLMs
September 25, 2025
Autori: Abdul Waheed, Zhen Wu, Carolyn Rosé, Daphne Ippolito
cs.AI
Abstract
È stato dimostrato che i dati di codice migliorano le capacità di ragionamento dei grandi modelli linguistici (LLM), ma rimane poco chiaro quali aspetti del codice siano i principali responsabili. Esploriamo questa questione con un framework sistematico e centrato sui dati. Costruiamo dataset di istruzioni paralleli in dieci linguaggi di programmazione e applichiamo perturbazioni controllate che interrompono selettivamente le proprietà strutturali o semantiche del codice. Successivamente, addestriamo LLM provenienti da cinque famiglie di modelli e otto scale su ciascuna variante e valutiamo le loro prestazioni su compiti di linguaggio naturale, matematica e codice. Attraverso 3.331 esperimenti, i nostri risultati mostrano che gli LLM sono più vulnerabili alle perturbazioni strutturali rispetto a quelle semantiche, in particolare nei compiti di matematica e codice. Astrazioni appropriate come pseudocodice e diagrammi di flusso possono essere efficaci quanto il codice, mentre codificare le stesse informazioni con meno token senza aderire alla sintassi originale può spesso mantenere o addirittura migliorare le prestazioni. Sorprendentemente, anche codice corrotto con segnali fuorvianti rimane competitivo quando persistono regolarità superficiali. Infine, gli stili sintattici influenzano anche i guadagni specifici per compito, con Python che favorisce il ragionamento in linguaggio naturale e linguaggi di livello inferiore come Java e Rust che favoriscono la matematica. Attraverso il nostro framework sistematico, miriamo a fornire approfondimenti su come diverse proprietà del codice influenzano il ragionamento e a informare la progettazione di dati di addestramento per migliorare le capacità di ragionamento degli 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.