AIxiv专栏是机器之心发布学术、技术内容的栏目。过去数年,机器之心AIxiv专栏接收报道了2000多篇内容,覆盖全球各大高校与企业的顶级实验室,有效促进了学术交流与传播。如果您有优秀的工作想要分享,欢迎投稿或者联系报道。投稿邮箱:liyazhou@jiqizhixin.com;zhaoyunfeng@jiqizhixin.com
本文的通讯作者是北京大学计算机学院长聘教授李戈。
本文一作是 aiXcoder 蒋思源和北大李戈教授课题组博士生李佳,团队重点关注融合深度学习与软件工程的代码建模方法。
如何训练一个代码大模型?这一过程看似简单:获取代码数据、清洗数据,最终启动训练。如今,开源代码数据集层出不穷;数据清洗工具也已成熟,包括开源的许可证识别工具、MinHash 算法、PII 识别模型等;而在分布式训练方面,像 Megatron-LM、DeepSpeed 等框架也大大降低了技术门槛。看似我们只差计算资源,就能训练出一个强大的代码大模型。
然而,训练模型的初衷,应该始终从实际开发场景出发。作为开发者,我们不仅需要了解定义的各种 API 接口,还需要从入口函数模拟程序的执行过程,追踪到每一行修改的代码。在复杂的项目中,任何小小的变动都可能影响整个系统的运转。
但现有的代码大模型并未充分考虑到软件开发的具体场景,它们往往将最终版本的代码简单地视作自然语言文本,试图通过复制自然语言处理的成功经验来处理代码。这种方法忽略了代码的结构性和复杂的上下文关系,导致模型在实际开发中表现不佳。
北京大学 aiXcoder 团队一直致力于探索如何将深度学习与软件开发深度融合,推动软件开发的自动化。2024 年 4 月,aiXcoder 开源了自研代码大模型 aiXcoder-7B,成为这一领域的一次重要尝试,旨在将代码的抽象语法树(AST)结构与大规模预训练结合,以期提升模型对代码结构和上下文的理解能力。
近期,该篇论文被软件工程领域国际顶级会议 ICSE 2025 收录,将于 4 月 27 日 - 5 月 3 日赴加拿大渥太华参会分享研究成果。
此次论文录用不仅是对 aiXcoder 7B 代码大模型技术前瞻性和应用创新性的高度认可,更标志着该模型继成功落地企业并获各行业客户广泛认可后,再次于学术界获得权威肯定,充分彰显了 aiXcoder 在推动软件工程发展中的前瞻性引领作用。
论文地址:https://arxiv.org/pdf/2410.13187
开源项目地址:https://github.com/aixcoder-plugin/aiXcoder-7B