arrow
返回

SynthCoder: Anti-pattern identification and model training for FIM mode code completion

delete2026-09-28
delete0
PRE
AI
D
Dongjun Yu
X
Xiao Yan
Z
Zhenrui Li
J
Jipeng Xiao
H
Haochuan He
Y
Yongda Yu
H
Hao Zhang
G
Guoping Rong *
X
Xiaobo Huang
DOI:10.1007/s10664-026-10957-6delete
delete原文链接
delete原文求助
delete分享
delete收藏
摘要

摘要

En 中文
作为大型语言模型(LLMs)在软件工程中的领先应用,Fill-in-the-Middle(FIM)模式代码补全已引起广泛关注。训练此类模型需要屏蔽代码语料库,但常见策略往往存在问题。例如,基于字符的随机屏蔽可能产生许多不切实际的情况(如切断关键字或标识符),而纯基于AST的屏蔽无法屏蔽跨越多个子树的并发元素(子树)。这些局限性容易导致在现实代码补全场景中极少出现的反模式,从而降低FIM性能。我们引入SynthCoder,采用与开发者在FIM中的期望更一致的优化屏蔽策略。具体而言,我们首先细化AST级别的节点屏蔽,并添加更好地模拟开发者期望的启发式规则来构建训练语料库。随后,基于Seed-Coder-8B-Base和Qwen2.5-Coder-7B分别构建的SynthCoder-Seed和SynthCoder-Qwen,采用两阶段训练流水线,即课程式微调阶段,随后通过被拒绝代码采样的偏好数据进行直接偏好优化(DPO)对齐阶段。此外,为抑制错误上下文重复,我们在DPO中引入重复现有代码的负样本,缓解代码回声(code-echo)失效,即模型复制邻近上下文而非生成有效补全。在Santacoder-fim-task、aiXcoder-FIM-Evaluation和CrossCodeEval基准测试上的广泛实验表明,采用我们缓解策略训练的模型在基于文本的FIM基准测试的完全匹配(EM)和编辑相似度(ES)指标上优于主流基线,并在包含测试用例的Santacoder-fim-task基准测试的Pass@1指标上有所提升。SynthCoder还减少了代码回声,并在推理时消耗更少标记,从而实现更高的实际效率。消融研究进一步支持了我们优化屏蔽和重复抑制机制的贡献。
Keyword:
LLM
Code completion
FIM
Post-training

期刊

Empirical Software Engineering 封面图
Empirical Software Engineering
IF:
3.6
论文数:
2.0K
被引数:
5.3K

机构

暂无机构信息
引用论文

引用论文

err1999-01-01
err0
PREAI
errKhaled El Emam
err分享
err收藏
Reliability in software engineering qualitative research through Inter-Coder Agreement
err2023-08-01
err3
errOAAI
errGonzalez-Prieto, Angel; Perez, Jorge; Diaz, Jessica; Lopez-Fernandez, Daniel
err分享
err收藏
Training Language Models to Follow Instructions with Human Feedback通过人类反馈训练语言模型以遵循指令
err2022-01-01
err0
PREAI
errAgarwal,Sandhini; Almeida,Diogo; Askell,Amanda; Christiano,Paul; Hilton,Jacob; Jiang,Xu; Kelton,Fraser; Leike,Jan; Lowe,Ryan; Miller,Luke; Mishkin,Pamela; Ouyang,Long; Ray,Alex; Schulman,John; Simens,Maddie; Slama,Katarina; Wainwright,Carroll; Welinder,Peter; Wu,Jeffrey; Zhang,Chong
err分享
err收藏
CrossCodeEval: A Diverse and Multilingual Benchmark for Cross-File Code CompletionCrossCodeEval:一个用于跨文件代码补全的多样化和多语言基准
err2023-01-01
err0
PREAI
errDing,Yangruibo; Wang,Zijian; Ahmad,Wasi; Ding,Hantian; Tan,Ming; Jain,Nihal; Ramanathan,Murali Krishna; Nallapati,Ramesh; Bhatia,Parminder; Roth,Dan; Xiang,Bing
err分享
err收藏
Large Language Models for Software Engineering: A Systematic Literature Review软件工程的大型语言模型: 系统的文献综述
err2024-12-03
err6
PREAI
errHou, Xinyi; Zhao, Yanjie; Liu, Yue; Yang, Zhou; Wang, Kailong; Li, Li; Luo, Xiapu; Lo, David; Grundy, John; Wang, Haoyu
err分享
err收藏
Direct Preference Optimization: Your Language Model is Secretly a Reward Model
err2023-01-01
err0
PREAI
errErmon,Stefano; Finn,Chelsea; Manning,Christopher D; Mitchell,Eric; Rafailov,Rafael; Sharma,Archit
err分享
err收藏
Chain-Of-Thought Prompting Elicits Reasoning in Large Language Models
err2022-01-01
err0
PREAI
errBosma,Maarten; Chi,Ed; Ichter,Brian; Le,Quoc V; Schuurmans,Dale; Wang,Xuezhi; Wei,Jason; Xia,Fei; Zhou,Denny
err分享
err收藏
没有更多内容