ObscuraCoder:基于混淆 grounding 的高效代码语言模型预训练
计算与语言
2025-04-02 v1 人工智能
软件工程
摘要
语言模型 (LM) 已成为编写代码的常用工具。然而,其预训练配方近年来基本保持不变,除非偶尔更改数据来源和过滤策略外。特别是,探索修改 Code-LMs 预训练目标以提高数据效率并更好地区分语法与语义的研究,尤其在自然语言 LM 相关努力之后,显得稀疏。在本工作中,我们考察了以混淆代码为 grounding 作为帮助 Code-LMs 超越表面形式语法并增强预训练样本效率的手段。为此,我们编译了 ObscuraX,即约 5500 万源代码和混淆代码对,涵盖七种语言。随后,我们在包括 ObscuraX 的 2720 亿 token 语料库上预训练 ObscuraCoder 模型,模型参数规模从 2.55 亿到 28 亿不等。我们展示了该混淆基于预训练的配方相较于 vanilla 自回归预训练以及现有去混淆 (DOBF) 目标, consistently 在 Code-LMs 的能力上实现了一致性的改进。ObscuraCoder 在多个测试中实现了显著的语法和语义代码理解能力提升,同时在多语言代码完成、多语言代码提交摘要以及多用途库导向代码生成方面表现出 improved capabilities。
引用
@article{arxiv.2504.00019,
title = {ObscuraCoder: Powering Efficient Code LM Pre-Training Via Obfuscation Grounding},
author = {Indraneil Paul and Haoyi Yang and Goran Glavaš and Kristian Kersting and Iryna Gurevych},
journal= {arXiv preprint arXiv:2504.00019},
year = {2025}
}