CodeMixBench: Evaluating Large Language Models on Code Generation with Code-Mixed Prompts
作者: Manik Sheokand, Parth Sawant
分类: cs.LG, cs.CL
发布日期: 2025-05-08
💡 一句话要点
CodeMixBench:评估大型语言模型在代码混合提示下的代码生成能力
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 代码生成 大型语言模型 代码混合 多语言 基准测试
📋 核心要点
- 现有代码生成基准主要使用纯英语提示,忽略了现实世界中开发者常用的代码混合语言环境。
- CodeMixBench通过在BigCodeBench中引入受控的代码混合,构建了一个更贴近实际应用场景的评估基准。
- 实验结果表明,代码混合提示会显著降低现有LLM的代码生成性能,尤其是在小模型和高混合程度下。
📝 摘要(中文)
大型语言模型(LLMs)在代码生成任务中取得了显著成功,为代码补全、调试和编程辅助等各种应用提供了支持。然而,现有基准(如HumanEval、MBPP和BigCodeBench)主要在纯英语提示上评估LLM,忽略了多语言开发者在与LLM交互时经常使用代码混合语言的实际情况。为了弥补这一差距,我们引入了CodeMixBench,这是一个新颖的基准,旨在评估LLM在代码混合提示下代码生成的鲁棒性。CodeMixBench建立在BigCodeBench的基础上,在三种语言对(Hinglish(印地语-英语)、西班牙语-英语和中文拼音-英语)的提示的自然语言部分中引入了受控的代码混合(CMD)。我们全面评估了一系列从1.5B到15B参数的开源代码生成模型。结果表明,与纯英语提示相比,代码混合提示始终会降低Pass@1性能,并且对于较小的模型,性能下降幅度会随着CMD级别的升高而增加。CodeMixBench为研究多语言代码生成提供了一个现实的评估框架,并突出了构建在各种语言环境中都能很好地泛化的鲁棒代码生成模型的新挑战和方向。
🔬 方法详解
问题定义:论文旨在解决现有代码生成基准忽略代码混合语言环境的问题。现有的基准主要使用纯英语提示,无法真实反映多语言开发者在实际编程中与LLM交互的方式。这导致LLM在实际应用中可能无法很好地处理代码混合的输入,从而影响代码生成的质量和效率。
核心思路:论文的核心思路是构建一个包含代码混合提示的基准数据集,并使用该数据集来评估LLM在代码生成任务中的鲁棒性。通过在现有的BigCodeBench基准上引入受控的代码混合,可以更真实地模拟实际的代码混合语言环境,从而更准确地评估LLM的性能。
技术框架:CodeMixBench建立在BigCodeBench之上,主要包含以下几个步骤:1) 选择BigCodeBench作为基础数据集;2) 选择三种常用的代码混合语言对:Hinglish(印地语-英语)、西班牙语-英语和中文拼音-英语;3) 在BigCodeBench的自然语言提示部分引入受控的代码混合(CMD),生成CodeMixBench数据集;4) 使用CodeMixBench数据集评估一系列开源代码生成模型;5) 分析实验结果,评估LLM在代码混合提示下的性能。
关键创新:该论文的关键创新在于提出了CodeMixBench,这是一个专门用于评估LLM在代码混合提示下代码生成能力的基准数据集。与现有的基准相比,CodeMixBench更贴近实际应用场景,可以更准确地评估LLM的鲁棒性。此外,该论文还系统地研究了代码混合程度对LLM性能的影响,为构建更鲁棒的代码生成模型提供了新的方向。
关键设计:CodeMixBench的关键设计包括:1) 使用BigCodeBench作为基础数据集,保证了数据集的质量和规模;2) 选择三种常用的代码混合语言对,覆盖了不同的语言背景;3) 引入受控的代码混合(CMD),可以控制代码混合的程度,从而更细致地评估LLM的性能;4) 使用Pass@1作为评估指标,衡量LLM生成正确代码的能力。
🖼️ 关键图片
📊 实验亮点
实验结果表明,与纯英语提示相比,代码混合提示会显著降低LLM的Pass@1性能。例如,对于较小的模型(如1.5B参数的模型),在高代码混合程度下,Pass@1性能下降幅度可达10%以上。此外,实验还发现,代码混合程度越高,LLM的性能下降越明显,这表明现有LLM在处理代码混合输入方面仍然存在很大的提升空间。
🎯 应用场景
CodeMixBench的研究成果可以应用于开发更鲁棒、更适应多语言环境的代码生成工具。这些工具可以帮助多语言开发者更高效地编写代码,降低编程门槛,并促进全球范围内的软件开发合作。此外,该研究还可以为LLM的训练提供指导,帮助构建能够更好处理代码混合输入的模型。
📄 摘要(原文)
Large Language Models (LLMs) have achieved remarkable success in code generation tasks, powering various applications like code completion, debugging, and programming assistance. However, existing benchmarks such as HumanEval, MBPP, and BigCodeBench primarily evaluate LLMs on English-only prompts, overlooking the real-world scenario where multilingual developers often use code-mixed language while interacting with LLMs. To address this gap, we introduce CodeMixBench, a novel benchmark designed to evaluate the robustness of LLMs on code generation from code-mixed prompts. Built upon BigCodeBench, CodeMixBench introduces controlled code-mixing (CMD) into the natural language parts of prompts across three language pairs: Hinglish (Hindi-English), Spanish-English, and Chinese Pinyin-English. We comprehensively evaluate a diverse set of open-source code generation models ranging from 1.5B to 15B parameters. Our results show that code-mixed prompts consistently degrade Pass@1 performance compared to their English-only counterparts, with performance drops increasing under higher CMD levels for smaller models. CodeMixBench provides a realistic evaluation framework for studying multilingual code generation and highlights new challenges and directions for building robust code generation models that generalize well across diverse linguistic settings.