Transducer Tuning: Efficient Model Adaptation for Software Tasks Using Code Property Graphs
Imam Nur Bani Yusuf, Lingxiao Jiang
TL;DR
Transducer Tuning addresses the memory and efficiency bottlenecks of fine_tuning large language models for code tasks by leveraging Code Property Graphs. It introduces a modular Transducer with a Graph Vectorization Engine and an Attention_Based Fusion Layer to enrich code embeddings with structural and dependency information while keeping the backbone frozen. Empirical results show up to 99% reduction in trainable parameters with performance competitive to full fine_tuning and on par with/ surpassing other efficient tuning methods across code summarization, assert generation, and code translation. The work demonstrates the practicality of graph_augmented input embeddings for resource_constrained adaptation of large models in software engineering tasks.
Abstract
Large language models have demonstrated promising performance across various software engineering tasks. While fine-tuning is a common practice to adapt these models for downstream tasks, it becomes challenging in resource-constrained environments due to increased memory requirements from growing trainable parameters in increasingly large language models. We introduce \approach, a technique to adapt large models for downstream code tasks using Code Property Graphs (CPGs). Our approach introduces a modular component called \transducer that enriches code embeddings with structural and dependency information from CPGs. The Transducer comprises two key components: Graph Vectorization Engine (GVE) and Attention-Based Fusion Layer (ABFL). GVE extracts CPGs from input source code and transforms them into graph feature vectors. ABFL then fuses those graphs feature vectors with initial code embeddings from a large language model. By optimizing these transducers for different downstream tasks, our approach enhances the models without the need to fine-tune them for specific tasks. We have evaluated \approach on three downstream tasks: code summarization, assert generation, and code translation. Our results demonstrate competitive performance compared to full parameter fine-tuning while reducing up to 99\% trainable parameters to save memory. \approach also remains competitive against other fine-tuning approaches (e.g., LoRA, Prompt-Tuning, Prefix-Tuning) while using only 1.5\%-80\% of their trainable parameters. Our findings show that integrating structural and dependency information through Transducer Tuning enables more efficient model adaptation, making it easier for users to adapt large models in resource-constrained settings.
