mHumanEval -- A Multilingual Benchmark to Evaluate Large Language Models for Code Generation
作者: Nishat Raihan, Antonios Anastasopoulos, Marcos Zampieri
分类: cs.CL
发布日期: 2024-10-19 (更新: 2025-01-26)
备注: 30 Pages
DOI: 10.18653/v1/2025.naacl-long.570
💡 一句话要点
mHumanEval:一个用于评估大语言模型代码生成能力的多语言基准
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 代码生成 多语言 大语言模型 基准测试 机器翻译
📋 核心要点
- 现有代码生成基准主要集中于英语到Python的转换,缺乏任务多样性、测试覆盖率和语言范围。
- mHumanEval通过支持超过200种自然语言的提示,扩展了代码生成基准的语言范围。
- 该基准结合机器翻译和人工翻译,并进行了质量保证,以确保基准的可靠性。
📝 摘要(中文)
近年来,大型语言模型(LLMs)在从自然语言提示生成代码方面的能力显著提升。OpenAI开发的HumanEval基准仍然是最广泛使用的代码生成基准。然而,该基准和其他代码LLM基准面临着关键的局限性,特别是在任务多样性、测试覆盖率和语言范围方面。目前的评估主要集中在英语到Python的转换任务上,测试用例有限,可能高估了模型的性能。虽然最近的工作已经解决了测试覆盖率和编程语言(PL)多样性的问题,但从低资源语言提示生成代码在很大程度上仍未被探索。为了解决这一差距,我们引入了mHumanEval,这是一个扩展的基准,支持超过200种自然语言的提示。我们采用已建立的机器翻译方法来编译该基准,并结合了质量保证流程。此外,我们还为15种不同的自然语言(NLs)提供了专家人工翻译。最后,我们分析了最先进的(SOTA)代码LLM的多语言代码生成能力,从而深入了解了跨语言代码生成的当前情况。
🔬 方法详解
问题定义:现有代码生成基准,如HumanEval,主要评估英语到Python的转换,缺乏对低资源语言的支持,限制了对模型跨语言代码生成能力的全面评估。此外,测试用例数量有限,可能导致模型性能被高估。
核心思路:mHumanEval的核心思路是构建一个多语言的代码生成基准,通过支持多种自然语言的提示,更全面地评估LLM的跨语言代码生成能力。通过机器翻译和人工翻译相结合的方式,扩展基准的语言覆盖范围。
技术框架:mHumanEval的构建流程主要包括以下几个阶段:1) 使用机器翻译将现有基准翻译成200多种自然语言;2) 对翻译结果进行质量保证,包括人工审核和修正;3) 针对15种不同的自然语言,提供专家人工翻译版本;4) 使用mHumanEval评估现有代码LLM的多语言代码生成能力。
关键创新:mHumanEval的关键创新在于其多语言特性,它首次将代码生成基准扩展到200多种自然语言,填补了低资源语言代码生成评估的空白。此外,结合机器翻译和人工翻译,保证了基准的质量和多样性。
关键设计:mHumanEval使用了已有的机器翻译方法进行初步翻译,并采用人工审核和修正来提高翻译质量。对于15种语言,使用了专家人工翻译,以保证高质量的基准。在评估代码LLM时,使用了与HumanEval相同的评估指标,如pass@k,以方便进行比较。
🖼️ 关键图片
📊 实验亮点
mHumanEval是首个支持超过200种自然语言的代码生成基准。论文通过实验分析了现有SOTA代码LLM在多语言代码生成方面的表现,揭示了模型在不同语言上的性能差异,为未来的研究方向提供了重要参考。
🎯 应用场景
mHumanEval可用于评估和比较不同LLM的跨语言代码生成能力,推动多语言代码生成技术的发展。该基准有助于开发更通用、更强大的代码生成模型,从而降低软件开发的语言门槛,促进全球范围内的软件创新。
📄 摘要(原文)
Recent advancements in large language models (LLMs) have significantly enhanced code generation from natural language prompts. The HumanEval Benchmark, developed by OpenAI, remains the most widely used code generation benchmark. However, this and other Code LLM benchmarks face critical limitations, particularly in task diversity, test coverage, and linguistic scope. Current evaluations primarily focus on English-to-Python conversion tasks with limited test cases, potentially overestimating model performance. While recent works have addressed test coverage and programming language (PL) diversity, code generation from low-resource language prompts remains largely unexplored. To address this gap, we introduce mHumanEval, an extended benchmark supporting prompts in over 200 natural languages. We employ established machine translation methods to compile the benchmark, coupled with a quality assurance process. Furthermore, we provide expert human translations for 15 diverse natural languages (NLs). We conclude by analyzing the multilingual code generation capabilities of state-of-the-art (SOTA) Code LLMs, offering insights into the current landscape of cross-lingual code generation.