Reasoning Distillation and Structural Alignment for Improved Code Generation
Amir Jalilifard, Anderson de Rezende Rocha, Marcos Medeiros Raimundo

TL;DR
This paper introduces a method to distill reasoning skills from large language models into smaller models for improved code generation, focusing on structural understanding and solution pathways.
Contribution
It proposes a novel structure-aware loss optimization technique to transfer reasoning capabilities from VLLMs to smaller models, enhancing code generation performance.
Findings
Significant improvements in pass@1, data flow, and syntax match metrics.
The method is simple, cost-effective, and outperforms baseline models.
Effective across multiple code generation benchmarks.
Abstract
Effective code generation with language models hinges on two critical factors: accurately understanding the intent of the prompt and generating code that applies algorithmic reasoning to produce correct solutions capable of passing diverse test cases while adhering to the syntax of the target programming language. Unlike other language tasks, code generation requires more than accurate token prediction; it demands comprehension of solution-level and structural relationships rather than merely generating the most likely tokens. very large language model (VLLM) are capable of generating detailed steps toward the correct solution of complex tasks where reasoning is crucial in solving the problem. Such reasoning capabilities may be absent in smaller language models. Therefore, in this work, we distill the reasoning capabilities of a VLLM into a smaller, more efficient model that is faster…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Software Testing and Debugging Techniques · Teaching and Learning Programming
