当前位置: 首页 > 科技观察

教AI开发软件:IBM的开源数据集ProjectCodeNet,包含1400万个代码示例

时间:2023-03-16 20:15:35 科技观察

BigBlue希望创建ImageNet,这是一个针对基于AI的编程工具的丰富培训资源。IBM已经组装了一个庞大的源代码存储库,用于教授机器学习程序如何编程。该数据集名为ProjectCodeNet,包含1400万个代码示例,总计5亿行代码,使用超过55种编程语言:从Java、C和Go到COBOL、Pascal和FORTRAN。老实说,其中超过四分之三是用C++和Python编写的。这些源代码不是从生产级应用程序或开发中的应用程序中获得的,而是从参赛者提交的软件参赛作品中获得的,这些比赛在日本举行的两个主要编程比赛:Aizu和AtCoder。在这些比赛中,参赛者编写必要的代码,将一组特定的输入转换为一组所需的输出。大约一半的代码示例按预期工作,其余的被标记为糟糕的解决方案、非构建或错误。例如,理想情况下,您将训练一个AI工具来识别好的程序并拒绝坏的程序。700万个代码示例包括输入和所需的输出。IBM希望CodeNet模仿ImageNet,这是一个用于训练计算机视觉应用程序的图像和标签数据库,并成为教授软件以理解软件开发蓝图的领先数据集——也就是说,代码实际是什么样子以及它与其他代码相比如何代码。IBM希望CodeNet可用于训练开发工具,例如那些可以搜索应用程序和库源以找到所需例程、将一种语言转换为另一种语言或识别错误或正确实现机制的工具。IBM在本周的Think虚拟会议上宣布了该项目,称:“IBM相信CodeNet项目将作为一个有价值的基准数据集,用于源到源的翻译以及将遗留代码库转换为现代编码语言,从而帮助企业加速人工智能的应用。”IBM和MIT-IBMWatsonAILab团队共同开发了数据集,写了一篇论文介绍相关工作,并将所有整理的资料放在项目的GitHub页面(https://github.com/IBM/Project_CodeNet)。“这个数据集不仅在规模上独一无二,而且在它促进基准测试的各种编程任务方面也是独一无二的:从代码相似性和代码推荐算法分类的进步,到代码之间的转换,再到代码性能改进技术的进步,”研究人员在他们的报告中得出结论。