遇见数据集

Multi-LCB

收藏
arXiv2026-06-19 更新2026-06-20 收录
官方服务:

资源简介:

Multi-LCB是一个扩展自LiveCodeBench的多编程语言代码生成评估基准,由GigaCode等机构联合创建。该数据集覆盖12种主流编程语言,通过将原始LCB的Python任务转换为统一STDIN/STDOUT格式实现跨语言评估,数据来源于LeetCode、AtCoder和Codeforces三大竞赛平台的时序筛选问题。数据集构建采用自动化转换管道,保留原始LCB的污染控制机制与评估协议,确保任务在不同语言间具有可比性。其核心应用在于系统评估大语言模型在多编程语言环境下的代码生成泛化能力,揭示模型存在的Python过拟合、语言特定污染及跨语言性能差异等关键问题。

Multi-LCB is a multi-programming-language code generation evaluation benchmark extended from LiveCodeBench, co-developed by GigaCode and other collaborating institutions. This dataset covers 12 mainstream programming languages, enabling cross-language evaluation by converting the original Python tasks from LCB into a unified STDIN/STDOUT format, with its data sourced from time-series filtered problems from three major competitive programming platforms: LeetCode, AtCoder, and Codeforces. The dataset is constructed via an automated transformation pipeline, retaining the original LCB's contamination control mechanisms and evaluation protocols to ensure task comparability across different languages. Its core application lies in systematically evaluating the code generation generalization capabilities of large language models (LLMs) in multi-programming-language environments, and revealing key issues of LLMs including Python overfitting, language-specific contamination, and cross-language performance discrepancies.

创建时间:
2026-06-19
原始信息汇总

Multi-LiveCodeBench 数据集详情

数据集概述

Multi-LiveCodeBench 是一个基于竞技编程问题的严格 NLP PLP 代码基准测试,是 LiveCodeBench 的扩展版本,支持在 12 种编程语言上进行评估。

支持的语言

  • c++
  • c#
  • python
  • java
  • rust
  • go
  • typescript
  • javascript
  • ruby
  • kotlin
  • scala
  • php

相关资源

  • 主页与排行榜:https://multi-lcb.github.io
  • 数据下载:https://huggingface.co/livecodebench/
  • 原始项目(LiveCodeBench):https://github.com/LiveCodeBench/LiveCodeBench

安装与运行

环境配置

  • 使用 conda 创建 Python 3.11 环境
  • 安装 requirements.txt 中的依赖
  • 可选:为 SGlang/VLLM 推理设置独立环境

支持硬件

  • 系统:Ubuntu 22.04.5
  • conda 版本:25.7.0
  • GPU:NVIDIA H100 80Gb

推理与评估流程

  1. 启动 SGlang/VLLM 服务器作为独立进程
  2. 使用异步 sglang/vllm 客户端运行 Multi-LCB 评估

主要参数

  • cot_code_execution:开启推理过程
  • batch_size:客户端异步队列深度
  • continue_existing / continue_existing_eval:继续已有生成或评估
  • num_process_evaluate:评估并行进程数
  • eval_restarts:因超时失败时重复评估次数
  • plangs:指定评估的语言列表(或使用 "all"

后评估统计

支持根据日期和平台(如 LeetCode)对已生成的评估结果进行过滤统计。

搜集汇总
数据集介绍
Multi-LCB 数据集图片
构建方式
在代码生成评估领域,LiveCodeBench(LCB)虽已成为衡量大语言模型编程能力的标杆,但其仅局限于Python语言的评估方式,难以反映模型在真实软件工程场景中跨语言泛化的真实水平。为突破这一局限,Multi-LCB将LCB数据集中的Python任务系统性地转化为涵盖Python在内的十二种编程语言的等价任务。其构建过程严格遵循LCB的污染控制与评估协议,通过加载Hugging Face上LCB代码生成数据集的指定版本,完整保留来自LeetCode、AtCoder和Codeforces三大竞赛平台的所有原始问题描述与元数据。针对LeetCode原有的函数式格式测试用例,Multi-LCB设计了一套自动转换流水线,将问题陈述与样例统一改写为标准输入输出(STDIN/STDOUT)范式,并相应转换所有公开及隐藏测试案例,从而使得原本依赖特定语言函数签名的评估得以在不同编程语言间通过统一的数据格式运行。该转换过程确保了从示例到最终评分的一致性,且由于竞赛问题本身即为语言无关设计,无需额外的手工改写即可实现跨语言任务的无缝迁移。
特点
Multi-LCB的核心特征在于其无与伦比的跨语言代码生成评估能力。首先,该基准测试彻底覆盖了Python、C++、Java、Rust、Go、JavaScript、TypeScript、C#、Ruby、PHP、Kotlin和Scala共十二种编程语言,这些语言的选择综合考量了2025年的流行度排名、稳健的运行时基础设施以及编译策略、类型系统与内存管理模型的范式多样性。其次,Multi-LCB继承了LCB的实时污染控制机制,通过持续收集竞赛平台新发布的问题并依据发布日期进行过滤,有效避免了训练数据泄露对评估公正性的干扰。尤为重要的是,由于所有语言的任务集合完全相同,该基准直接支持对同一问题在不同编程语言下的模型性能进行横向比较,从而能够揭示Python过拟合、语言特异性数据污染以及显著的跨语言能力差距等现象。评估结果表明,即便在Python上表现卓越的模型,其在其他语言上的性能也往往出现大幅下滑,这充分证实了强Python能力并非跨语言代码生成能力的可靠代理。
使用方法
使用Multi-LCB进行评估时,研究者需遵循LCB的零样本提示协议构建输入。对于每项任务,系统指令要求模型扮演指定编程语言的专家程序员,用户消息提供完整的自然语言问题描述及明确的STDIN/STDOUT格式要求与输入输出样例,并在代码块占位符中设定目标语言以确保正确的语法高亮与解析。模型需输出完整的程序源码,该程序必须能够从标准输入读取数据并输出结果至标准输出。生成的代码经由隔离的沙箱环境进行编译和执行,该沙箱为每种语言配置了对应的编译器或解释器版本,并施加严格的资源限制(如6秒墙钟时间、4GB内存及无外部网络访问)。正确性评估依据官方测试套件执行:仅当程序通过所有公开及隐藏测试案例且无运行时错误或超时时,才判定为正确解。最终通过Pass@1指标——即模型首次生成的方案通过所有测试的任务比例——报告平均性能,并建议基于10次运行的平均值以提升结果的稳健性。
背景与挑战
背景概述
在大型语言模型(LLM)代码生成能力评估领域,LiveCodeBench(LCB)凭借其污染感知的持续更新机制,已成为广泛采用的基准。然而,LCB仅限于Python语言的评估,忽视了软件开发实践中多语言并存的现实需求。由Maria Ivanova、Pavel Zadorozhny等研究人员于2026年提出的Multi-LCB基准,旨在突破这一局限。该基准将LCB的Python任务系统性地转化为12种主流编程语言(包括C++、Java、Rust、Go等)的等价任务,并完整保留了原基准的污染控制与评估协议。通过评估24个前沿LLM,Multi-LCB揭示了模型在Python上的优异表现并不一定能迁移至其他语言,为多语言代码生成研究提供了全新的评估范式与数据支撑。
当前挑战
Multi-LCB旨在解决的核心挑战在于:现有代码生成基准多局限于单一Python语言,无法真实反映LLM在工业级多语言开发场景中的泛化能力。构建过程中面临多重困难:首先,需将LeetCode的函数式测试用例自动转换为语言无关的STDIN/STDOUT格式,确保不同语言间可公平比较;其次,必须保持与LCB原版任务集、污染过滤机制及评价协议的高度兼容,以避免引入额外偏差。实验结果表明,当前LLM存在显著的Python过拟合现象,在静态类型语言(如Scala)和生态资源较少的语言上性能大幅下滑,且语言特定的数据泄露问题进一步加剧了评估的复杂性。
常用场景
经典使用场景
在代码智能领域,跨语言代码生成已成为衡量大型语言模型泛化能力的核心试金石。Multi-LCB作为一种污染感知的多语言代码生成基准,最经典的使用场景是系统性地评估和对比大语言模型在十二种主流编程语言(如Python、C++、Java、Go等)上的代码生成性能。研究者借助该基准,能够在统一的任务集和评估协议下,精确衡量模型面对同一算法问题时在不同语言间的表现差异,从而揭示模型是否具备真正的跨语言编码能力,而不仅仅局限于Python环境下的熟练度。
衍生相关工作
Multi-LCB的发布催生了一系列具有深远影响的衍生研究工作。受到其统一标准输入输出评估框架的启发,后续工作如MultiPL-E和HumanEval-XL进一步拓展了代码生成的语言覆盖范围与任务类型。研究者基于Multi-LCB的污染控制理念,开发了更先进的时间感知去污方法,用以精准识别模型训练语料中的语言特定泄露。此外,该基准所揭示的跨语言性能差距推动了专门的多语言训练策略研究,如语言平衡采样、跨语言知识蒸馏与多任务联合微调,这些方法显著提升了模型在不同编程范式间的适应能力。
数据集最近研究
最新研究方向
当前,随着大语言模型在代码生成领域取得显著进展,如何评估其跨编程语言的泛化能力已成为前沿研究热点。Multi-LCB(Multi-LiveCodeBench)作为面向多语言代码生成的全新基准,直面LiveCodeBench局限于Python的短板,将评估语言扩展至C++、Java、Go等12种主流编程语言。该基准不仅继承了LCB的污染控制机制与实时更新特性,更通过统一的STDIN/STDOUT格式实现跨语言任务直接对比,揭示出模型在Python上的过拟合现象、语言特异性数据污染以及显著的多语言性能鸿沟。这项研究为构建真正语言无关的鲁棒编程模型奠定了评估基石,对推动多语言程序合成技术的发展具有深远意义。
相关研究论文
  • 1
    Multi-LCB: Extending LiveCodeBench to Multiple Programming LanguagesGigaCode; 应用人工智能研究所·Yandex数据分析学院 · 2026年
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务