论文《通过代码生成增强大型语言模型的编程理解能力》总结与翻译
一、文章主要内容
该论文聚焦大型语言模型(LLMs)在编程理解领域的局限性,提出了名为ProCURE的框架,旨在提升LLMs对核心编程概念谓词(如控制流、数据流等)的理解能力,具体内容如下:
- 问题背景:尽管LLMs在代码补全、生成、修复等软件工程任务中表现出色,但对数据流程、控制流程等基础编程概念的理解仍较浅显,导致在需深度推理的代码任务中性能不稳定,限制了其在实际软件开发中的应用。编程理解包含语法、语义、功能三个层面,现有LLMs仅能较好掌握语法,难以准确理解语义及编程概念谓词(如变量内存管理、执行流程控制等)。
- ProCURE框架设计:框架分为两个核心阶段
- 自动化反事实代码数据集构建:针对控制流、数据流等编程概念,设计基于LLM的一键式思维链提示,结合输入代码的静态分析提取辅助信息,引导LLM生成概念导向的扰动样本;随后通过快速预处理(过滤哈希相同、语法错误样本)和单元测试验证,确保样本功能正确性,最终构建高质量概念对齐的反事实数据集。
- 概念感知指令微调:将原始样本与其特定概念的反事实样本配对用于微调,引入概念敏感损失函数,重点关注反事实样本中与概念相关的标记,促使模型在保持功能正确性的同时,关注底层编程逻辑,提升对编程概念的理解。
- 实验评估
订阅专栏 解锁全文

3595

被折叠的 条评论
为什么被折叠?



