О кодово-индуцированном рассуждении в больших языковых моделях
On Code-Induced Reasoning in LLMs
September 25, 2025
Авторы: Abdul Waheed, Zhen Wu, Carolyn Rosé, Daphne Ippolito
cs.AI
Аннотация
Данные кода, как было показано, улучшают способности к рассуждению у крупных языковых моделей (LLM), однако остаётся неясным, какие именно аспекты кода вносят наибольший вклад. Мы исследуем этот вопрос с помощью систематического, ориентированного на данные подхода. Мы создаём параллельные наборы инструкций на десяти языках программирования и применяем контролируемые изменения, которые избирательно нарушают структурные или семантические свойства кода. Затем мы дообучаем LLM из пяти семейств моделей и восьми масштабов на каждом варианте и оцениваем их производительность на задачах, связанных с естественным языком, математикой и кодом. В ходе 3 331 эксперимента наши результаты показывают, что LLM более уязвимы к структурным изменениям, чем к семантическим, особенно на задачах, связанных с математикой и кодом. Подходящие абстракции, такие как псевдокод и блок-схемы, могут быть столь же эффективны, как и код, при этом кодирование той же информации с меньшим количеством токенов без соблюдения исходного синтаксиса часто сохраняет или даже улучшает производительность. Примечательно, что даже искажённый код с вводящими в заблуждение сигналами остаётся конкурентоспособным, если сохраняются поверхностные закономерности. Наконец, синтаксические стили также влияют на специфические для задач улучшения: Python способствует рассуждениям на естественном языке, а языки более низкого уровня, такие как Java и Rust, — математическим. С помощью нашего систематического подхода мы стремимся пролить свет на то, как различные свойства кода влияют на рассуждения, и предоставить рекомендации по проектированию обучающих данных для улучшения способностей 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.