查看原文
其他

北航等提出超大规模多语言代码评测基准,涵盖40种编程语言

让你更懂AI的 PaperWeekly
2024-08-23


为了更加全面的探究大语言模型的代码能力,该工作提出了一个涵盖 40 种编程语言的大规模多语言多任务代码评测基准(McEval),包含了 16000 个测试样本。评测结果表明开源模型与 GPT-4 相比,在多语言的编程能力上仍然存在较大差距,绝大多数开源模型甚至无法超越 GPT-3.5。此外测试也表明开源模型中如 Codestral,DeepSeek-Coder,CodeQwen 以及一些衍生模型也展现出优异的多语言能力。该基准的提出对推动多语言代码评测具有重要意义。


榜单地址:
https://mceval.github.io/leaderboard.html

论文地址:

https://arxiv.org/abs/2406.07436

代码地址:

https://github.com/MCEVAL/McEval


360°全方位代码能力评估:摆脱HumanEval / MBPP

近年来,各种大语言模型层出不穷,这些大语言模型都在公开的测试基准如 HumanEval, MBPP 等代码榜单上展现出优异的代码能力,许多模型甚至都取得了与 GPT-4 相近的表现。这些基准测试通常只包含了 Python 等高资源代码,或者其他编程语言的题目都翻译自 HumanEval 等现有基准。社区急需一个更加全面的的多语言代码能力的评测基准。



该工作因此提出了一个全方位的代码评测基准,涵盖 40 种编程语言,3 种代码任务(代码生成,代码解释,代码补全)。涉及到的编程语言涵盖了 5 种编程范式,11 种应用场景。



任务示例如下图所示:




多语言代码指令微调数据集—McEval-Instruct

该工作还设计了一种包含代码片段采集,指令语料生成,跨语言代码增强等多个步骤的微调数据生成方法,并根据该方法构建了高质量的多语言代码指令微调数据集 McEval-Instruct。基于该指令集,作者基于 CodeQwen 微调得到了 mCoder。




主流大语言模型评测

该工作对 20 多个主流的大语言模型进行了评估,包括通用/代码模型、开源/闭源模型。下表展示了多语言代码生成任务中,不同模型的评分结果(pass@1)。




实验结果表明 GPT 系列的模型在该基准测试中,展现出强大的综合代码能力。一些开源的代码模型如 Codestral,DeepSeek-Coder,CodeQwen 等也表现出强大的综合实力。



分析

语言间的不平衡问题

文章将开源模型在多语言基准 MultiPL-E 上的结果与 McEval 中的结果进行了比较。如下图 (1) 所示,由于 MultiPL-E 数据集中 Python 问题相对简单,许多模型在两个基准上存在显著的分数差异。图 (2) 中大多数模型在蓝色圆圈内,表明目前许多模型的优异性能主要表现在高资源语言如 Python 上,在低资源语言方面还需要进一步提升。图 (2) 和 (3),展示了所有模型在 MultiPL-E 和 McEval 之间展示出一致的多语言能力。



跨语言迁移能力

文章使用 McEval-Instruct 中的 Python 数据微调 CodeQwen-base 模型,并将其与 mCoder 进行比较。结果表明,仅仅使用 Python 数据进行微调,CodeQwen 在大多数编程语言上都有了显著的性能提升。这表明 CodeQwen-base 模型已经具备了强大的编码能力,只是缺乏一些指令遵循能力。因此,仅使用 Python 数据进行微调就可以有效地将指令遵循能力迁移到其他语言上,从而实现更优秀的多语言性能。




McEval的难度

基于算法复杂度,文章将 McEval 分类为三个级别(简单/中等/困难)。在下图中,文章对 CodeQwen-Chat 在不同语言的代码生成任务中的表现进行了统计分析。对于大多数语言来说,模型可以回答大部分简单问题,但在大多中等和困难问题上表现有待提升。




编程语言表征探究

此外,工作也对基准中的代码的表征进行了聚类分析,如图所示,语法相似的编程语言之间展现了较高的相似性。





结论及展望


该工作首次提出了大规模的高质量多语言多任务代码评估基准(McEval),涉及 40 种编程语言,涵盖 5 类编程范式,11种应用场景,对于大语言模型的代码能力评估具有重要研究和参考价值。


作者在 McEval 上对主流大语言模型进行了全面评测,评测结果表明开源模型与 GPT 系列模型在多语言代码综合能力上仍然存在较大差距。此外该工作提出了一个构建高质量多语言代码微调数据集的方法以及对应的 McEval-Instruct 数据集,并基于该数据集微调得到了 mCoder 对其进行了验证。


该工作进一步对大语言模型在多语言代码能力上的平衡性,迁移能力,语言表征等方面进行了深入探究与分析,对于多语言代码能力研究具有较高参考意义。



更多阅读



#投 稿 通 道#

 让你的文字被更多人看到 



如何才能让更多的优质内容以更短路径到达读者群体,缩短读者寻找优质内容的成本呢?答案就是:你不认识的人。


总有一些你不认识的人,知道你想知道的东西。PaperWeekly 或许可以成为一座桥梁,促使不同背景、不同方向的学者和学术灵感相互碰撞,迸发出更多的可能性。 


PaperWeekly 鼓励高校实验室或个人,在我们的平台上分享各类优质内容,可以是最新论文解读,也可以是学术热点剖析科研心得竞赛经验讲解等。我们的目的只有一个,让知识真正流动起来。


📝 稿件基本要求:

• 文章确系个人原创作品,未曾在公开渠道发表,如为其他平台已发表或待发表的文章,请明确标注 

• 稿件建议以 markdown 格式撰写,文中配图以附件形式发送,要求图片清晰,无版权问题

• PaperWeekly 尊重原作者署名权,并将为每篇被采纳的原创首发稿件,提供业内具有竞争力稿酬,具体依据文章阅读量和文章质量阶梯制结算


📬 投稿通道:

• 投稿邮箱:hr@paperweekly.site 

• 来稿请备注即时联系方式(微信),以便我们在稿件选用的第一时间联系作者

• 您也可以直接添加小编微信(pwbot02)快速投稿,备注:姓名-投稿


△长按添加PaperWeekly小编



🔍


现在,在「知乎」也能找到我们了

进入知乎首页搜索「PaperWeekly」

点击「关注」订阅我们的专栏吧


·
·
·

继续滑动看下一个
PaperWeekly
向上滑动看下一个

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存