首次覆盖超11类真实编程场景!豆包大模型团队开源代码大模型全新基准用例编程语言

字节开源最全面代码大模型基准FullStackBench,可在线体验。

今天,字节跳动豆包大模型团队开源FullStackBench,一个专注于全栈编程和多语言编程的代码评估数据集。

该数据集在业界首次囊括编程全栈技术中超11类真实场景,覆盖了16种编程语言,包含3374个问题,相比此前基准,可以更有效地评估大模型在现实世界中的代码开发能力。同时,高效的代码沙盒执行工具SandboxFusion也一起开源,用于评估来自不同语言的不同编程任务。

综合实验结果表明,FullStackBench能够真实反映大模型在多种实际代码开发场景中的表现,有助于推动代码智能领域的进一步发展。

代码大型语言模型(codeLLMs)在代码智能方面取得了显著的进步,为了揭示现有代码LLMs的局限性并推动代码智能的进一步发展,多个代码评估基准数据集相继被提出,如HumanEval、MBPP、DS-1000、McEval、MDEval和xCodeEval等。

然而,当前的评测基准覆盖的编程语言和应用类型较为有限,难以全面反映真实世界中代码开发场景所涉及的各种编程能力。如HumanEval和MBPP中大部分数据(近80%)只聚焦于基础编程问题和高级编程问题。

为了解决上述限制,字节跳动豆包大模型团队与M-A-P开源社区联合提出FullStackBench,一个涵盖多个真实应用领域和编程语言的评估集,旨在评估大型模型在各种真实世界代码开发场景中的能力。

为了支持FullStackBench对多领域多语言编程的评测需求,团队开发了一个新的沙盒执行环境——SandboxFusion,该环境支持23种常用编程语言,能够满足不同应用场景(如前端开发、后端开发和机器学习训练等)的需求。

综合实验结果表明,FullStackBench能够真实反映大型语言模型(LLMs)在多种实际代码开发场景中的表现,为代码智能领域的进一步发展提供推动力量。

目前论文成果、数据集、沙盒体验入口均已对外公开。

1

多领域多语言代码评估基准存在空白

在代码大语言模型发展的过程中,代码评估基准扮演了至关重要的角色。它们不仅是衡量模型能力的标准工具,也是推动模型优化和完善的关键驱动力。

尽管代码评估基准在研究和应用大语言模型中起着核心作用,但此前业界基准仍然存在明显的局限,尤其是在反映真实世界代码开发场景的多样性和复杂性方面。

例如,HumanEval和MBPP中大部分数据(近80%)只聚焦于基础编程问题和高级编程问题;DS-1000大部分数据(超过95%)集中于数据分析和机器学习任务,且仅对Python语言进行评测;xCodeEval虽覆盖多项任务,但基本局限于高级编程和数学领域;McEval和MDEval分别扩展了支持的编程语言,涵盖了40种和近20种语言,但其应用领域仍然局限于基础编程问题和高级编程问题,未能涉及更广泛的应用场景。

此外,自动化评估一个多任务多语言的代码基准仍然面临诸多挑战。尽管出现了一些沙盒执行环境,如DifySandbox、MultiPL-E和MPLSandbox,但它们仍存在显著局限性,如不支持前端浏览器和深度学习包,且支持的编程语言数量有限。

2

构建全栈多语言代码评测基准FullStackBench

为模拟全栈开发的实际应用场景,研究团队分析了全球最大的程序员技术问答社区StackOverflow上的问题分布,从中提炼出常见的真实编程应用领域。如图所示,团队从StackOverflow上随机抽取了50万个问题,并使用大模型为每个问题标注其所属的应用领域类型。

在初始数据集构建后,标注者依据问题难度、模糊性和可解性评估数据质量,并通过交叉复核减少主观偏差。分歧通过共识或高级标注者介入解决,以确保数据准确性。

在完成FullStackBench的构建后,研究人员对其进行了统计分析,结果如图所示。研究人员使用LLaMA3分词器计算了题目和正确代码的标记长度,其中题目平均长度为210.2个tokens。为确保评估的准确性,数据集包含总计15168个单元测试,平均每个问题配备4.5个单元测试用例。

3

SandboxFusion:高效的代码沙盒执行工具

为方便开发者对大模型代码能力进行系统性测试,豆包大模型团队还开源了一款高效的代码沙盒执行工具——SandboxFusion,用于评估来自不同语言的不同编程任务。除了FullStackBench,SandboxFusion还兼容超过10种广泛使用的代码评估数据集,支持23种编程语言。开发者在单服务器上即可轻松部署SandboxFusion,也可直接在GitHub上进行体验。

SandboxFusion主要包含两个模块:数据集模块和沙箱执行模块。数据集模块负责实现各种数据集,并提取出可重用的公共组件。沙箱执行模块则专注于在不同语言中执行代码,控制资源使用,并确保执行的安全性。

如图所示,SandboxFusion的评估流程包括以下步骤:

提示生成:根据原始数据和测试模式(如少样本、零样本)生成不同提示。

模型推理:用户需要独立使用生成的提示进行模型补全,沙盒未内置推理模块。

代码执行:系统执行合成的代码及所有依赖文件,并捕获程序输出。

结果判断:系统基于执行结果评估模型输出的正确性,通常通过标准单元测试框架,其中零返回值表示执行成功。

指标计算:在沙盒外部聚合计算评估指标,以通过率为主。

4

评测结果:解决难题,闭源模型仍优于开源模型

发布评测基准及沙盒的同时,研究团队也基于FullStackBench对全球20余款代码大模型及语言大模型的编程表现进行了评测。这些模型包括Qwen2.5-Coder、DeepSeek-Coder-v2、CodeLlama等开源模型,以及GPT-4o、OpenAI-o1、Doubao-Coder-Preview等闭源模型。对于开源模型,根据模型大小,分为五个组别:1B+、6B+、13B+、20B+和70B+。更多实验配置和测试细节,请参阅完整论文。

得益于强大的推理能力,OpenAIo1-preview不出所料地领先。不过,一些开源模型也有不错的表现。如DeepSeekCoderv2-Instruct,在AP(高级编程)、OS(操作系统)和其他类别中得到高分,拉开了与其他开源模型的差距。OpenCoder-1.5B-Instruct、Qwen2.5-Coder-7B-Instruct、Qwen2.5-Coder-14B-Instruct在其各自的开源组别中拔得头筹,并超越了一些更高参数级别的模型。

为了全面评估现有大语言模型在不同场景下的表现,研究团队可视化了模型在FullStackBench各领域的表现。在BP(基础编程)、AP(高级编程)、MA(数学编程)、ML(机器学习)和MM(多媒体)等领域中,模型表现差异显著,其中以MA领域的差距最大。最佳表现者为OpenAIo1-preview(得分80.42),而最差的是CodeLlama-34B-Instruct(得分14.34)。数学编程要求模型同时具备数学和编程能力,那些在高度专业化代码语料库上训练的模型,在MA领域往往表现较差。这一结果进一步证明,FullStackBench能够更全面地评估模型的综合编程能力。

研究团队对不同模型在多种编程语言上的性能表现进行了分析,结果如图所示。大多数模型在Bash编程任务中表现良好。然而,在C++、C和Ruby的表现上存在较大差异,这表明模型设计者可能在训练语料库中对这些语言进行了选择性采样。部分1B+的小型模型在D、R和Scala语言上的表现较差,其通过率低于10%,这表明它们的多语言处理能力都较弱。

不同模型在不同难度问题上的表现存在明显差异。总体而言,1B+模型和CodeLlama系列在所有难度级别上的表现均不尽如人意。其余模型在解决简单问题时表现相似,但在中等难度问题上存在一定差距。对于难度较大的问题,闭源模型普遍优于开源模型。

使用SandboxFusion进行反馈能够显著改善模型表现。研究人员对比了“Reflection”和“BoN”两种策略。在“Reflection”策略中,通过利用SandboxFusion的反馈上下文对答案进行N次精炼,复现了自我精炼策略[Madaanetal.,2024]。而在“BoN”策略中,仅进行N次推断以获得结果。结果如图所示,“Reflection”策略明显优于“BoN”,这表明SandboxFusion提供的反馈上下文具有较高的有效性。

THE END
1.FusionModule800FusionModule800 Smart Small Data Center V100R022C10 Product Description (02233RYC, 02233RYD, 02233RYE, 02233RYF, 02233RYH) 2024-05-28 FusionModule800 Smart Small Data Center V100R021C10 Product Description (02233MHW, 02233MHX, 02234BHT) https://support.huawei.com/enterprise/ru/data-center-facility/fusionmodule800-pid-21535572
2.AutodeskFusionFreeSoftwareforStudentsandEducatorsFree for students, teachers and educators, Autodesk Fusion is everything you need for design, engineering and collaboration. Works on Mac and PChttps://www.autodesk.com/campaigns/education/fusion-360
3.如何使用圣彼得大教堂的数字孪生体网站要使用圣彼得大教堂的数字孪生体网站,您首先需要访问其官方网站。根据搜索结果,该网站的地址是https://virtual.basilicasanpietro.va/。 探索网站内容 网站上包含了“The Life of St. Peter”、“History of the Basilica”、“Explore the Basilica”和“Virtual 3D Tour”四个主要目录。前两个部分分别介绍了圣彼得https://blog.csdn.net/winniezhang/article/details/144739499
4.华润电力(00836):陈国勇辞任非执行董事及审核与风险委员会成员Fusion Media提醒您,本网站所含数据未必实时、准确。本网站的数据和价格未必由市场或交易所提供,而可能由做市商提供,所以价格可能并不准确且可能与实际市场价格行情存在差异。即该价格仅为指示性价格,反映行情走势,不宜为交易目的使用。对于您因交易行为或依赖本网站所含信息所导致的任何损失,Fusion Media及本网站所含https://cn.investing.com/news/stock-market-news/article-2618715
5.MachineLearningEngineer申請Apple 的 Machine Learning Engineer 工作職位。查閱這個職位的相關資料,了解工作是否適合自己。https://jobs.apple.com/zh-hk/details/200585559/machine-learning-engineer
6.梅里达FusionaGastrobar好吃吗,FusionaGastrobar味道怎么样,环境Fusiona Gastrobar点评(0条点评) 写点评 0/5分 这是一片未被开拓的处女地。写点评,留下首个旅行足迹吧,游友们一定会铭记你的贡献~ 写点评你曾经游览过这里吗?快来分享你的旅行体验吧~~ 餐馆信息 更多信息 地址: Calle de Jose Ramon Melida Numer 15 | Jose Ramon Melida Number 15, 06800 Merida,https://you.ctrip.com/food/merida10199/17397174-dianping.html
7.VINSFUSION前端后端代码全详解51CTO博客我首先参照网络上的文档整理了全部的代码,并对于C++和OpenCV的一些操作也进行了详细的注释,并写了这篇的博客进行全部的讲解,其中1-4章节是前端VIO信息,5章节是后端DBOW词袋回环,6-7章节是GPS与VIO融合,8章节是参考文献。 1. 程序入口rosNodeTest.cpp https://blog.51cto.com/u_13157605/6038033
8.辐射4中继信号塔隐藏任务解析辐射4Fallout4详细地点:信号源位于麻州核聚变厂隔离屋(MassFusioncontainmentshed)内的地下反应堆层(ReactorLevel)。到麻州核聚变厂隔离屋(MassFusioncontainmentshed),这里实际上是大聚变厂的一个核废料储藏仓库,所以都是核原料,以及致命辐射!所以来之前请准备好防辐射措施。反应堆层(ReactorLevel)入口比较隐蔽,需要先破解楼上办公室https://m.douban.com/movie/review/14719891/
9.Fusion360手机助手下载HTCFusion360手机助手10.8.3免费下载HTC Fusion 360手机助手 10.8.3 当前评分:9分有2个用户点评 用户推荐:53321 大小:33.59 MB 更新时间:2025-01-07 已下载:4,232,132次 分类:同步软件 系统要求:Android 2.2 或更高版本 ZOL本地下载 关于二维码:二维码是一个方形条码图案, 手机用户可以通过摄像头和解码软件将相关 信息重新解码并查看内容。您只https://sj.zol.com.cn/htc/fusion/detail_28538.shtml
10.磁带妖怪补给品小偷湖底洞窟入口位置分享fusion_radar 融合雷达 gardening_kit 园艺工具组 hacking_glove ? jelly 骷髅啫喱 key_commune 殁宁屯钥匙 key_dungeon_meadow 白兔钥匙 key_hardourtown 港口镇大门钥匙 key_landkeeper索地员窗户钥匙 key_warehouse ? key_waterloop 矛盾瀑布钥匙 keystonehttps://www.doyo.cn/article/514986
11.以身试食——旧金山湾区最全米其林餐厅大!盘!点!开车出门拍的路边的Solage的牌子,是靠近公路的地方的入口,所以,看看四周这黑压压的一片,它真的是坐落在一个非常“僻静”的地方嘛! 来这里请一定要开车,不要妄想饭后散步回去这回去,谢谢! 价格评价: 米其林一星正常的价格,每位$100(不加税不加小费前) 服务不错,人多的时候也不会有冷落的感觉。 菜品是一道https://www.mafengwo.cn/gonglve/ziyouxing/114998.html