IBM的CodeNet DataSet可以教AI翻译计算机语言

2021-05-11 18:20:58

近年来,AI和机器学习系统变得越来越能力,不仅能够理解书面单词,而且可以写作它。但是,虽然这些人工智能几乎掌握了英语语言,但他们尚未掌握电脑的语言 - 这是直到现在。 IBM在星期一宣布期间宣布2021年会议,其研究人员为编程代码制作了一个Rosetta Stone。

在过去的十年中,AI的进步主要是“由深神经网络驱动,甚至是,它是由三个主要因素驱动的:数据具有大型数据集的培训,新算法中的创新以及巨大的加速度GPUS推动的速度和更快的计算硬件,“IBM Research的IBM Comber和IBM Research的首席科学家Ruchir Puri表示,在他认为2021年的演示期间,将新的数据与濒危Imagenet相提并论,它产生了最近的电脑视觉土地匆忙。

“软件正在吃世界," Marc Andreessen写了2011年。"如果软件正在吃世界,AI正在饮食软件,“普里评论了收音机。 “这是视觉任务与语言任务之间的关系,当时普通算法可以在它们中使用,这导致了自然语言处理中突破的革命,从2012年的Watson Jeopardy的出现开始,”他继续。

实际上,我们教授电脑如何讲人类,所以为什么不教会电脑说更多的电脑?这就是IBM的项目代码中的东西旨在完成。“我们需要我们的想象力,这可以滚雪球创新,并可以在算法中释放这种创新,”Puri说。 CodeNet本质上是计算机的想象。它是一个令人宽广的数据集,旨在教授AI / ML系统如何翻译代码,包括超过55000多个赛段和500万行,从COBOL和FORTRAN传播到Java,C ++和Python。

“由于数据集本身包含50种不同的语言,因此它实际上可以为许多成对组合实现算法,”PURI解释说。 “已经说过,在人类语言领域,就像神经机翻译一样,这是一种,而不是做成对的,实际上变得更加语言,可以通过它转化为许多不同语言的中间抽象。”简而言之,数据集以支持双向转换的方式构造。也就是说,您可以采取一些遗留的COBOL码 - 这,可怕的,仍然是这一国家的银行业和联邦政府基础设施的大量 - 并尽可能轻松地将其转化为Java,并将其拍摄的java片段和重新播放回到COBOL 。

“我们相信自然语言处理和机器学习可以通过能够通过能够解释这些决策来实现自动推理和决策,以便理解软件语言,就像我们能够处理计算机视觉和自然语言处理方面一样, “ 他说。

但就像人类语言一样,创建计算机代码以在特定上下文中被理解。但是,与我们的BipeDal语言学不同,“可以比较编程语言,非常简洁地,在指标上的”程序编译“中,程序是否会这样做,如果有测试集,它会知道吗? ,解决,符合测试的标准,“”Puri posited。因此,除了其预期的翻译职责之外,代码齿可以用于代码搜索和克隆检测等功能,并用作基准数据集。此外,每个样本都标有其CPU运行时间和内存占用空间,允许研究人员运行回归研究并潜在地开发自动化码校正系统。

项目CodeNet由超过1400万代码样本组成,以及收集的4000多个编码问题,并从全球方案挑战和竞争的数十年中收集和策划。 “数据集的方式实际出现,”普里说,“有多种编程竞赛和各种问题 - 其中一些更多的商人,其中一些人更为学术。这些是在过去十年中使用的语言,其中许多比赛中的许多比赛中有1000名学生或竞争对手提交解决方案。“

此外,用户可以运行单个代码样本“以从生成AI模型中提取元数据并验证输出,以便正确,”根据IBM的新闻稿。 “这将使研究人员能够在将一个编程语言转换为另一个编程语言时编程意图等价。”

虽然这个数据集理论上可以用于生成完全新的代码序列,如GPT-3用英语做的,代码续的强度在于它的转化能力。 “我们正努力做到这件事对电脑愿景做的事情,”他说。 “它从根本上改变了游戏,它是高度策划的,对于非常广泛的域来说是一个非常有针对性的数据集。我们希望Codenet,其多样性的任务,其数据的多样性,以及其大规模的多样性,将带来相同的价值。“此外,PURI估计,超过80%的这些呈现的问题每个都有超过100个变体答案,提供了广泛的可能解决方案。

“我们对此非常兴奋,”普里惊呼。 “我们希望并相信它将代码代码到计算机愿景。” IBM打算将CodeNet数据释放到公共领域,允许全世界的研究人员平等和自由访问。

ENGADGET推荐的所有产品由我们的编辑团队选择,独立于我们的母公司。我们的一些故事包括联盟链接。如果您通过其中一个链接购买某些内容,我们可能会获得联盟委员会。

由于您的隐私首选项,此内容不可用。在此处更新您的设置,然后重新加载页面以查看它。