Improving Code Understanding in Large Language Models through Concept-Aware Consistency Learning

· Source: cs.SE updates on arXiv.org · Field: Technology & Digital — Artificial Intelligence & Machine Learning, Software Development & Engineering · Depth: Expert, extended

Summary

A novel framework named ProCURE has been introduced to enhance Large Language Models' (LLMs) understanding of fundamental "Programming Concepts Predicates" (PCPs), such as data flow and control flow, which current models often grasp shallowly. ProCURE employs a two-stage approach: first, an automated counterfactual code augmentation pipeline generates high-quality, concept-aligned datasets by perturbing original code while preserving functionality. This pipeline, utilizing gpt-4o, achieved an average success rate of 97.51% across HumanEval, MBPP, and CodeContests benchmarks, requiring only 1.24 attempts per transformation. Second, a concept-aware instruction fine-tuning method, incorporating a novel concept-sensitive loss function, trains LLMs on these augmented datasets. Evaluations on Llama3.1-8B, CodeLlama-13B, and StarCoder-7B demonstrated that ProCURE improved the "Concept Consistency Score" (CCS) by an average of 18.77%, outperforming a standard fine-tuning baseline by 10.47%, while also boosting Pass@1 by 0.7% and Pass@5 by 4.7%.

Key takeaway

For Machine Learning Engineers developing code-generating LLMs, you should integrate concept-aware fine-tuning to move beyond surface-level code understanding. By leveraging automated counterfactual data generation and a concept-sensitive loss, you can significantly improve your models' grasp of programming concepts like data and control flow, leading to more robust and generalizable code generation performance. This approach enhances reliability for critical software engineering applications.

Key insights

Concept-aware counterfactual data and a sensitive loss function significantly improve LLMs' deep understanding of programming concepts.

Principles

Method

ProCURE automates counterfactual code generation using LLM-based prompts with static analysis, CoT, and one-shot examples, then fine-tunes models with concept-aware data sampling and a concept-sensitive loss function.

In practice

Topics

Best for: Research Scientist, AI Engineer, AI Scientist, Machine Learning Engineer

Related on AIssential

Open in AIssential →

Editorial summary, takeaway, and curation by AIssential. Original article published by cs.SE updates on arXiv.org.