IBM开源了5亿行代码数据集,里面最多的编程措辞却不是Python
发布时间:2021-06-05 16:15:59 所属栏目:大数据 来源:互联网
导读:让 AI 自动生成代码,是很多开发者的梦想,近些年来,有关这一方面的研究屡见不鲜。但要想训练一个好用的 AI,最重要的工作或许就是找到优质数据。 近日,IBM 研究院发布了一个名为 CodeNet 的数据集,该数据集包含 1400 万个代码样本,用于训练面向编程任务
|
让 AI 自动生成代码,是很多开发者的梦想,近些年来,有关这一方面的研究屡见不鲜。但要想训练一个好用的 AI,最重要的工作或许就是找到优质数据。
近日,IBM 研究院发布了一个名为 CodeNet 的数据集,该数据集包含 1400 万个代码样本,用于训练面向编程任务的机器学习模型。该数据集的主要特点包括:
迄今为止最大的编码数据集,其中包含 4000 个问题,1400 万个代码样本,50 + 种编程语言;
该数据集添加了注释,包括问题描述、内存 / 时间限制、语言、代码通过 / error 等。
IBM 希望 CodeNet 仿效大型图像数据集 ImageNet,并成为教软件理解软件开发蓝图的领先数据集。IBM 希望 CodeNet 可以用于训练具有如下功能的开发工具:
从一种编程语言转换到另一种编程语言;
代码推荐与补全;
代码优化;
搜索应用程序和库来源以查找所需例程;
将一种语言转换成另一种语言;
识别错误 / 正确的实现机制。
利用深度学习进行自动化编程
近年来,机器学习领域取得了令人瞩目的进步,AI 让多种工作任务实现了自动化,包括编程。但是 AI 在软件开发中的渗透却遇到了极大的困难。
人们在编程时通常会使用大量的有意识和潜意识思维机制发现新的问题并探索不同的解决方案。相比之下,大多数机器学习算法都需要定义明确的问题和大量带有注释的数据才能够开发出解决相同编程问题的模型。
为了解决这一难题,研究者与开发者们已经做出了很多努力,包括创建数据集和基准,以开发和评估「用于编程的 AI」系统。但是,鉴于软件开发的创造性和开放性,很难为编程创建完美的数据集。
IBM 的研究人员试图创建一个多用途的数据集,可用于训练各种任务的机器学习模型。CodeNet 的创建者将其描述为「非常大规模,多样且高质量的数据集,能够加快使用 AI 编程的步伐」。该数据集包含 1400 万个代码样本,共有用 55 种编程语言编写的 5 亿行代码,其中 C++ 是样本中使用最多的语言,Python 位居第二。这些代码样本是从提交给在线编程平台 AIZU 和 AtCoder 上的近 4,000 项挑战的提交中获得的,代码样本包括这些挑战的正确答案和错误答案。
CodeNet 项目地址:https://github.com/IBM/Project_CodeNet
CodeNet 的主要特点之一是代码样本中添加了注释。数据集中包含的每个编程挑战都有一个文本说明以及 CPU 时间和内存限制。每个代码提交都包含十几条信息,包括语言,提交日期,内存占用大小,执行时间,接受和 error 类型。为了确保该数据集在编程语言,接受和 error 类型等多个维度上保持平衡,IBM 的研究人员付出了巨大的努力。
![]() (编辑:平凉站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |


