CodeMixBench: Evaluating Code-Mixing Capabilities of LLMs Across 18 Languages

📄 arXiv: 2507.18791v2 📥 PDF

作者: Yilun Yang, Yekun Chai

分类: cs.CL

发布日期: 2025-07-24 (更新: 2025-09-07)

备注: EMNLP 2025

🔗 代码/项目: GITHUB


💡 一句话要点

CodeMixBench:提出多语言混合代码能力评测基准,揭示LLM在跨语系混合场景下的性能瓶颈。

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 代码混合 大型语言模型 评测基准 多语言处理 数据合成

📋 核心要点

  1. 现有代码混合评测基准缺乏对多种语言和任务的覆盖,难以全面评估LLM在此场景下的能力。
  2. 论文提出CodeMixBench,包含18种语言和8个任务,并结合词替换和GPT-4提示生成大规模合成数据。
  3. 实验表明,LLM在跨语系的代码混合数据上表现不佳,提示需要更大的模型和训练数据。

📝 摘要(中文)

代码混合是指在对话中切换语言的做法,这对传统自然语言处理提出了独特的挑战。现有的基准测试受限于其狭窄的语言对和任务,无法充分评估大型语言模型(LLM)的代码混合能力。尽管代码混合对于多语言用户的重要性已得到认可,但在此背景下对LLM的研究仍然稀疏。此外,当前用于合成代码混合数据的技术尚不成熟,难以生成高质量的代码混合数据。为了解决这些问题,我们推出了CodeMixBench,这是一个综合性的基准测试,涵盖八个任务,包括三个LLM特定的任务和五个传统的NLP任务,以及跨越七个语系的18种语言。我们还提出了一种新的方法,通过结合词语替换和GPT-4提示来生成大规模的合成代码混合文本。我们的评估表明,LLM在涉及不同语系的代码混合数据集上表现始终不佳。增加训练数据规模、模型规模和少样本学习可以提高它们的性能。代码和数据集可在https://github.com/Jeromeyluck/CodeMixBench获取。

🔬 方法详解

问题定义:论文旨在解决现有代码混合评测基准的不足,具体体现在语言覆盖范围窄、任务类型单一,以及缺乏高质量的合成数据生成方法。现有的方法无法充分评估LLM在真实场景下的代码混合能力,尤其是在跨语系的情况下。这阻碍了LLM在多语言环境下的应用和发展。

核心思路:论文的核心思路是构建一个更全面、更具挑战性的代码混合评测基准,即CodeMixBench。该基准覆盖了更多的语言和任务类型,并提出了一种新的数据合成方法,旨在更真实地模拟代码混合现象。通过在该基准上评估LLM的性能,可以更准确地了解LLM在代码混合方面的优势和不足,从而指导未来的研究方向。

技术框架:CodeMixBench的整体框架包括以下几个主要组成部分:1) 数据集构建:收集和整理现有的代码混合数据集,并利用新的数据合成方法生成大规模的合成数据。2) 任务定义:定义一系列涵盖不同NLP任务的代码混合任务,包括LLM特定的任务和传统的NLP任务。3) 评估指标:选择合适的评估指标来衡量LLM在不同任务上的性能。4) 模型评估:使用不同的LLM在CodeMixBench上进行评估,并分析其性能表现。

关键创新:论文的关键创新点在于:1) 提出了CodeMixBench,这是一个更全面、更具挑战性的代码混合评测基准。2) 提出了一种新的代码混合数据合成方法,该方法结合了词语替换和GPT-4提示,可以生成更真实、更多样化的代码混合数据。与现有方法相比,该方法能够更好地模拟真实的代码混合现象。

关键设计:在数据合成方面,论文采用了词语替换和GPT-4提示相结合的方法。首先,从原始文本中随机选择一些词语,然后使用其他语言的词语进行替换。其次,使用GPT-4生成与替换后的文本相关的上下文,以保证文本的流畅性和语义一致性。在任务定义方面,论文选择了8个任务,包括3个LLM特定的任务(例如,代码混合生成、代码混合翻译)和5个传统的NLP任务(例如,文本分类、命名实体识别)。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,LLM在CodeMixBench上,尤其是在跨语系的代码混合数据集上表现不佳,这揭示了现有LLM在处理复杂代码混合场景时的局限性。研究还发现,增加训练数据规模、模型规模和采用少样本学习策略可以提高LLM的性能。这些发现为未来的研究提供了重要的指导方向。

🎯 应用场景

该研究成果可应用于提升多语言聊天机器人、机器翻译系统和跨语言信息检索系统的性能。通过更准确地评估和改进LLM的代码混合能力,可以更好地支持多语言用户,促进跨文化交流,并为全球化应用提供更强大的技术支持。未来的研究可以进一步探索如何利用CodeMixBench来指导LLM的训练和优化,从而提高其在真实场景下的代码混合性能。

📄 摘要(原文)

Code-mixing, the practice of switching between languages within a conversation, poses unique challenges for traditional NLP. Existing benchmarks are limited by their narrow language pairs and tasks, failing to adequately assess large language models' (LLMs) code-mixing abilities. Despite the recognized importance of code-mixing for multilingual users, research on LLMs in this context remains sparse. Additionally, current techniques for synthesizing code-mixed data are underdeveloped to generate code-mixing. In response, we introduce CodeMixBench, a comprehensive benchmark covering eight tasks, including three specific to LLMs and five traditional NLP tasks, and 18 languages across seven language families. We also propose a new method for generating large-scale synthetic code-mixed texts by combining word substitution with GPT-4 prompting. Our evaluation reveals consistent underperformance of LLMs on code-mixed datasets involving different language families. Enhancements in training data size, model scale, and few-shot learning could improve their performance. The code and dataset are available at https://github.com/Jeromeyluck/CodeMixBench.