前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >McEval:超大规模多语言代码评测

McEval:超大规模多语言代码评测

作者头像
公众号-arXiv每日学术速递
发布2024-06-13 17:30:19
670
发布2024-06-13 17:30:19
举报

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

原文链接:

https://arxiv.org/abs/2406.07436

代码链接:

https://github.com/MCEVAL/McEval

榜单:

https://mceval.github.io/leaderboard.html

Part.1、360°全方位代码能力评估 摆脱HumanEval / MBPP

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

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

任务示例如下图所示:

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

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

Part.3、主流大语言模型评测

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

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

Part.4、分析语言间的不平衡问题

文章将开源模型在多语言基准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在不同语言的代码生成任务中的表现进行了统计分析。对于大多数语言来说,模型可以回答大部分简单问题,但在大多中等和困难问题上表现有待提升。

· 编程语言表征探究

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

Part.5、结论及展望

该工作首次提出了大规模的高质量多语言多任务代码评估基准(McEval),涉及40种编程语言,涵盖5类编程范式,11种应用场景,对于大语言模型的代码能力评估具有重要研究和参考价值。作者在McEval上对主流大语言模型进行了全面评测,评测结果表明开源模型与GPT系列模型在多语言代码综合能力上仍然存在较大差距。此外该工作提出了一个构建高质量多语言代码微调数据集的方法以及对应的McEval-Instruct数据集,并基于该数据集微调得到了mCoder对其进行了验证。

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-13,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 arXiv每日学术速递 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档