CodeMMLU
收藏arXiv2024-10-03 更新2024-10-05 收录
下载链接:
https://github.com/FSoft-AI4Code/CodeMMLU
下载链接
链接失效反馈官方服务:
资源简介:
CodeMMLU是由FPT软件AI中心和河内科技大学联合创建的一个多任务基准数据集,旨在评估代码大语言模型(CodeLLMs)的代码理解能力。该数据集包含超过10,000个问题,涵盖代码分析、缺陷检测和软件工程原则等多个领域,涉及多种编程语言。数据集的创建过程结合了高质量的编程相关MCQs,并通过深度学习模型进行过滤,确保问题的高质量和多样性。CodeMMLU的应用领域主要集中在提升AI辅助软件开发的可靠性和能力,旨在解决代码生成模型在理解和推理代码方面的不足。
CodeMMLU is a multi-task benchmark dataset jointly created by FPT Software AI Center and Hanoi University of Science and Technology, aiming to evaluate the code comprehension capabilities of code large language models (CodeLLMs). This dataset contains over 10,000 questions covering multiple domains such as code analysis, defect detection and software engineering principles, involving a variety of programming languages. The construction of CodeMMLU combines high-quality programming-related multiple-choice questions (MCQs) and filters them via deep learning models to ensure the high quality and diversity of the questions. The main application scenarios of CodeMMLU focus on enhancing the reliability and capabilities of AI-assisted software development, aiming to address the shortcomings of code generation models in code understanding and reasoning.
提供机构:
FPT软件AI中心,越南
创建时间:
2024-10-03
原始信息汇总
CodeMMLU
概述
CodeMMLU 是一个综合基准,旨在评估大型语言模型(LLMs)在编码和软件知识方面的能力。它基于多项选择题(MCQA)的结构,涵盖了广泛的编程任务和领域,包括代码生成、缺陷检测、软件工程原理等。
数据集结构
| 主题 | 子主题 | 大小 |
|---|---|---|
| 语法知识 | API & 框架使用 | 740 |
| 编程语言语法 | 6220 | |
| 语义知识 | DBMS & SQL | 393 |
| 软件原则 | 3246 | |
| 其他 | 程序可访问性、计算机网络等 | 1308 |
| 实际任务 | 代码补全 | 163 |
| 填空 | 2129 | |
| 代码修复 | 76 | |
| 缺陷检测 | 6006 |
排行榜
闭源模型
| 家族 | 模型 | 大小 (B) | MMLU | GSM8k | HumanEval | MBPP | CodeMMLU |
|---|---|---|---|---|---|---|---|
| Anthropic | Claude-3-sonnet@20240229 | - | 88.7 | 96.4 | 92.0 | 76.6 | 55.5 |
| OpenAI | GPT-4o-2024-05-13 | - | 88.7 | 95.8 | 90.2 | 81.4 | 65.0 |
| GPT-3.5-turbo-1106 | - | 61.9 | 73.8 | 61.4 | 78.5 | 51.6 |
开源模型
| 家族 | 模型 | 大小 (B) | MMLU | GSM8k | HumanEval | MBPP | CodeMMLU |
|---|---|---|---|---|---|---|---|
| MetaLlama | Meta-Llama-3,1-70B-Instruct | 70.0 | 83.6 | 95.1 | 80.5 | 75.4 | 59.7 |
| Meta-Llama-3,1-70B | 70.0 | 79.3 | 83.7 | 58.5 | 66.2 | 40.5 | |
| Meta-Llama-3-70B | 70.0 | 79.5 | 83.0 | 48.2 | 70.4 | 49.7 | |
| Meta-Llama-3-70B-Instruct | 70.0 | 82.0 | 93.0 | 81.7 | 82.3 | 61.8 | |
| CodeLlama-34b-Instruct-hf | 34.0 | - | - | 41.5 | 57.0 | 39.3 | |
| Mistral | Mistral-7B-Instruct-v0.3 | 7.0 | 62.5 | 50.0 | 26.2 | 50.2 | 44.1 |
| Mixtral-8x7B-Instruct-v0.1 | 46.7 | 70.6 | 74.4 | 40.2 | 60.7 | 42.7 | |
| Codestral-22B-v0.1 | 22.0 | - | - | 81.1 | 78.2 | 47.6 | |
| Phi | Phi-3-medium-128k-instruct | 14.0 | 78.0 | 91.0 | 62.2 | 75.2 | 48.7 |
| Phi-3-mini-128k-instruct | 3.8 | 68.8 | 82.5 | 58.5 | 70.0 | 39.2 | |
| Qwen | Qwen2-7B-Instruct | 7.0 | 70.5 | 82.3 | 79.9 | - | 51.9 |
| Qwen2-57B-A14B-Instruct | 57.0 | 76.5 | 80.7 | 53.0 | 71.9 | 47.3 | |
| CodeQwen1.5-7B-Chat | 7.0 | - | - | 83.5 | 77.7 | 47.7 | |
| Yi | Yi-1.5-34B-Chat | 34.0 | 67.6 | 71.7 | - | - | 50.0 |
| Yi-1.5-9B-Chat | 9.0 | 68.4 | 52.3 | 39.0 | 54.4 | 48.2 | |
| DeepSeek | DeepSeek-coder-7B-instruct-v1.5 | 7.0 | 49.2 | 41.0 | 42.1 | 60.7 | 41.6 |
| DeepSeek-coder-33B-instruct | 33.0 | - | 60.7 | 79.3 | 70.0 | 37.5 | |
| DeepSeek-moe-16B-chat | 16.4 | 45.0 | 18.8 | 26.8 | 39.2 | 31.5 | |
| DeepSeek-Coder-V2-Lite-Instruct | 16.0 | 60.1 | 86.4 | 81.1 | - | 47.1 | |
| InternLM | InternLM2.5-20B-chat | 20.0 | 66.5 | 79.6 | 48.8 | 63.0 | 46.2 |
| StarCoder | StarCoder2-15B-instruct-v0.1 | 15.0 | - | - | 46.3 | 66.2 | 47.8 |
许可证
该项目基于 MIT 许可证。
引用
如果此仓库对您有帮助,请考虑引用我们的论文:
@article{nguyen2024codemmlu, title={CodeMMLU: A Multi-Task Benchmark for Assessing Code Understanding Capabilities}, author={Nguyen, Dung Manh and Phan, Thang Chau and Le, Nam Hai and Doan, Thong T. and Nguyen, Nam V. and Pham, Quang and Bui, Nghi D. Q.}, journal={arXiv preprint}, year={2024} }
搜集汇总
数据集介绍

构建方式
CodeMMLU数据集的构建旨在评估大型语言模型(LLMs)在代码理解和理解能力方面的表现。该数据集通过多选题问答(MCQA)的形式,涵盖了超过10,000个问题,这些问题来自多个领域,包括代码分析、缺陷检测和软件工程原理,并跨越多种编程语言。构建过程中,首先从高质量的编程相关平台如GeeksforGeeks、W3Schools和Sanfoundry收集编程相关的多选题,然后通过深度学习模型进行筛选,去除低质量或不相关的问题。接着,将问题分类为语法和语义两类,确保每个问题都符合清晰、无歧义和难度适中的标准。最终,知识集包含约6,000个语法问题和超过3,000个语义问题,覆盖52个主题。
特点
CodeMMLU数据集的主要特点在于其全面性和多样性。首先,它包含了超过10,000个问题,这些问题来自多个高质量的源,从而减少了评估数据中的潜在偏见。其次,数据集在任务、领域和语言方面具有广泛性,涵盖了从代码生成到缺陷检测等多种软件知识任务,并支持多种编程语言。此外,CodeMMLU强调对模型代码理解能力的评估,而非仅仅是代码生成能力,这为评估模型的复杂软件概念和系统理解提供了更深入的洞察。
使用方法
CodeMMLU数据集适用于评估和提升大型语言模型在代码理解和生成任务中的表现。研究人员和开发者可以使用该数据集来测试模型在不同编程语言和软件工程任务中的表现,从而识别和改进模型的弱点。使用时,可以通过多选题问答的形式进行评估,确保模型不仅能够生成代码,还能理解代码的深层含义和逻辑。此外,数据集的多样性和广泛性使其成为开发更可靠和高效编码助手的重要工具。
背景与挑战
背景概述
随着代码大语言模型(CodeLLMs)的快速发展,其主要关注点集中在开放式代码生成任务上,而代码理解和解析这一关键方面往往被忽视。为了填补这一空白,我们推出了CodeMMLU,这是一个综合的多选题问答基准,旨在评估LLMs在代码理解和解析方面的深度。CodeMMLU包含超过10,000个问题,涵盖了代码分析、缺陷检测和软件工程原理等多个领域,跨越多种编程语言。与传统基准不同,CodeMMLU评估模型对代码的推理能力,而不仅仅是生成能力,从而深入了解模型对复杂软件概念和系统的掌握程度。
当前挑战
CodeMMLU面临的挑战包括解决代码理解和生成之间的差距,以及在构建过程中遇到的挑战。首先,现有的代码相关基准往往侧重于开放式生成任务,如代码生成和补全,这些基准难以区分模型是否真正理解代码,还是仅仅重现了记忆中的训练数据。其次,依赖测试用例和可执行性进行评估限制了基准的多样性和广度,可能导致偏见和有限的泛化能力。此外,LLMs-as-a-judge方法容易受到对抗攻击,增加了评估管道的不确定性。
常用场景
经典使用场景
CodeMMLU数据集的经典使用场景在于评估大型语言模型(LLMs)在代码理解和生成任务中的表现。通过包含超过10,000个多选题,涵盖代码分析、缺陷检测和软件工程原理等多个领域,CodeMMLU能够全面评估模型对复杂软件概念和系统的理解能力。其独特之处在于,它不仅关注代码生成,更强调模型对代码的深度理解和推理能力。
衍生相关工作
CodeMMLU数据集的推出激发了大量相关研究工作。例如,基于CodeMMLU的评估结果,研究者们开始探索如何通过改进模型的预训练数据和方法来提升代码理解能力。同时,也有研究致力于开发新的提示技术,以提高模型在多选题格式下的表现。此外,CodeMMLU的成功还催生了其他类似的代码理解和生成评估基准,进一步推动了该领域的发展。
数据集最近研究
最新研究方向
在代码理解领域,CodeMMLU数据集的最新研究方向主要集中在评估大型语言模型(CodeLLMs)对代码的理解能力。通过引入多任务基准测试,CodeMMLU不仅涵盖了代码生成任务,还特别强调了代码分析、缺陷检测和软件工程原理等复杂任务的评估。这一研究方向旨在揭示模型在代码理解方面的深层能力,超越简单的代码生成,从而推动AI辅助软件开发的发展,提升编码助手的可靠性和能力。
相关研究论文
- 1CodeMMLU: A Multi-Task Benchmark for Assessing Code Understanding Capabilities of CodeLLMsFPT软件AI中心,越南 · 2024年
以上内容由遇见数据集搜集并总结生成



