今天小编分享的科技经验:首次覆盖超11类编程场景!字节开源最全面代码大模型基准FullStack Bench,欢迎阅读。
代码大模型越来越卷,评估 AI 编程水平的 " 考卷 " 也被迫更新。12 月 5 日,字节豆包大模型团队开源最新代码大模型评估基准 FullStack Bench,在业界首次囊括编程全栈技术中超 11 类真实场景,覆盖 16 种编程语言,包含 3374 个问题,相比此前基准,可以更有效地评估大模型在现实世界中的代码开发能力。
代码评估基准是衡量大模型编程能力的标准工具,也是推动模型优化的关键驱动力。不过,当前的代码评估基准覆盖的应用类型和编程语言较为有限,难以反映真实世界中代码开发场景的多样性和复杂性。
比如,主流代码评测集 HumanEval 和 MBPP 中近 80% 数据只聚焦基础编程和高级编程问题;DS-1000 中 95% 数据都集中于数据分析和机器学习任务,且仅对 Python 语言进行评测;xCodeEval 虽覆盖多项任务,但基本局限于高级编程和数学领網域。
因此,字节豆包大模型团队与 M-A-P 开源社区联合提出 FullStack Bench,一个专注于全栈编程和多语言编程的代码评估数据集。为囊括在真实全栈开发中涉及的各类应用场景,研究团队从全球最大的程式员技术问答社区 Stack Overflow 中随机抽取了 50 万个问题进行分析,筛选出占总问题数前 88.1% 的应用领網域,并对其分布做了适当调整来保证每个领網域的鲁棒性,最终形成了 FullStack Bench 关注的超过 11 种应用场景及分布比例。
FullStack Bench 包含 3374 个问题,每个问题均包括题目描述、参考解决方案及单元测试用例,总计 15168 个单元测试。为保证评估准确性,问题内容均由相关领網域的编程专家设计,并经 AI 和人工验证进行质量复核。在初始数据集构建后,团队根据主流代码大模型测试结果,按问题难度、模糊性和可解性对数据质量进行了交叉评估和进一步完善。
FullStack Bench 数据集构成情况
为方便开发者对大模型代码能力进行系统性测试,豆包大模型团队还开源了一款高效的代码沙盒执行工具—— SandboxFusion,用于评估来自不同语言的不同编程任务。除了 FullStack Bench,SandboxFusion 还兼容超过 10 种广泛使用的代码评估数据集,支持 23 种编程语言。开发者在单伺服器上即可轻松部署 SandboxFusion,也可直接在 GitHub 上进行体验。
发布评测基准及沙盒的同时,字节代码大模型也首次曝光。研究中,豆包大模型团队对全球 20 余款代码大模型及语言大模型的编程表现进行了评测(详见论文),其中包括未披露过的豆包代码大模型 Doubao-Coder。
近半年,字节在代码大模型领網域进展迅速,今年 6 月字节发布了由自研代码基座模型支撑的 AI 编程助手豆包 MarsCode,目前每月为用户贡献百万量级代码。