一项探索大型语言模型在代码学习方面能力的实证研究
《IEEE Transactions on Software Engineering》:An Empirical Study of Exploring the Capabilities of Large Language Models in Code Learning
【字体:
大
中
小
】
时间:2025年11月21日
来源:IEEE Transactions on Software Engineering 5.6
编辑推荐:
大语言模型在软件工程中的能力对比研究,通过CodeGen、LLaMA、StarCoder等模型在语法理解、语义推理、表示质量及任务适应性四维度分析,发现LLMs的层次化语义学习趋势、因果解码器在零样本任务的缺陷,以及LoRA等参数高效微调技术对生成任务的有效性。
摘要:
自从ChatGPT的出现以来,大型语言模型(LLMs)吸引了学术界和工业界的广泛关注。它们也给软件工程带来了重大变化。然而,直到现在,还缺乏将LLMs与之前的小型代码预训练模型进行比较的全面研究。为了填补这一空白,我们在本文中进行了一项研究,以展示LLMs在不同软件工程任务中的表现。具体来说,我们选择了三个开源的大型语言模型CodeGen、LLaMA和StarCoder作为研究对象,并从四个方面进行比较:代码语法理解、代码语义推理、编码表示质量以及针对不同软件工程任务的适应性能。这四个方面相互关联,构成了软件工程领域人工智能的重要组成部分。我们得出以下结论:(1)与之前的小型预训练模型(如CodeBERT)相比,随着层数的增加,LLMs在代码语法或语义学习方面表现出不同的趋势。此外,掌握代码语义更具挑战性,因为语义信息通常是在模型的最后一层学习的;(2)采用从左到右的注意力屏蔽机制的因果解码器架构在零样本任务中表现不佳;(3)对于分类任务,LLMs生成的序列平均向量表示往往优于序列中的最后一个标记表示;(4)将参数效率高的微调技术应用于LLMs可以使其在代码生成任务上优于之前的代码预训练模型,但在某些代码理解任务中可能并非最佳选择;(5)LoRA作为一种更有效的PEFT技术,适用于LLMs在下游代码相关任务中的表现。我们希望这些发现能更好地指导未来的研究人员设计出更强大的代码模型。
引言
自从ChatGPT[1]问世以来,大型语言模型(LLMs)迅速成为学术界和工业界的热门话题。几乎每天,我们都能在各种社交媒体平台上看到关于这些大型语言模型的最新消息。例如,哪些机构发布了具有多少参数的模型,或者在哪些任务中LLMs达到了或超越了人类水平的表现等等。毫无疑问,像ChatGPT这样的模型对我们的研究和日常生活产生了颠覆性影响。它们甚至重塑了许多研究领域。一个典型的例子是软件工程领域,我们发现LLMs通常能够帮助软件开发人员完成各种开发任务,如代码开发[2]、修复易受攻击的代码[3]和生成单元测试[4]。这些模型从大量数据中学习到的强大功能显著提高了软件开发人员的生产力并减少了他们的工作负担[5]。尽管大型语言模型为软件开发人员带来了许多好处,但仍需要对其能力进行系统分析以供讨论。
生物通微信公众号
生物通新浪微博
今日动态 |
人才市场 |
新技术专栏 |
中国科学人 |
云展台 |
BioHot |
云讲堂直播 |
会展中心 |
特价专栏 |
技术快讯 |
免费试用
版权所有 生物通
Copyright© eBiotrade.com, All Rights Reserved
联系信箱:
粤ICP备09063491号