英特尔创建AI系统评估代码相似性,计算机自行编码性能提升40倍

简介: 英特尔科学家与麻省理工学院,以及佐治亚理工学院的研究人员合作开发了机器推断代码相似性(MISIM)系统,其性能比当前最先进的系统高出40倍。

微信图片_20220109135429.jpg


计算机编程从未如此简单。

 

最初,程序员用手编写程序,将符号写到方格纸上,然后将它们穿孔打卡,计算机才可以对其进行处理。如果有一个标记不准确,整个过程可能需要重做。

 

如今,程序员使用了一系列功能强大的工具,可自动完成大部分工作。但是如果出现一个愚蠢的 bug 仍然可能使整个软件崩溃,随着系统变得越来越复杂,跟踪这些 bug 变得越来越困难。

 

最近,英特尔科学家与麻省理工学院(MIT),以及佐治亚理工学院(Georgia Tech)的研究人员共同推出了一种新的机器编程(MP)系统——机器推断代码相似性(MISIM)。该系统是一种自动引擎,旨在通过研究代码的结构,并分析具有类似行为的其他代码的句法差异来学习某个软件计划执行的操作。

 

MISIM系统的性能要比当前最先进的系统高出40倍,可以看出从代码推荐到自动错误修复的应用前景。


     微信图片_20220109135433.png


论文地址:https://arxiv.org/pdf/2006.05265.pdf


MISIM:提高开发效率,性能是最先进相似性系统的40倍 


随着异构计算的兴起,硬件和软件系统变得越来越复杂。这种复杂性,再加上缺乏能够在多种体系结构中以专家水平进行编程的程序员,使得人们对新开发方法的需求日益凸显。

 

多年来,自动代码生成一直是研究的热点。微软正在将基本的代码生成构建到其广泛使用的软件开发工具中。

 

Facebook 开发了一个名为 Aroma 的系统,该系统可以自动完成小程序,而 DeepMind 开发的神经网络可以提供比人类设计的更有效的简单算法版本。


甚至 OpenAI 的 GPT-3 语言模型也可以从自然语言提示中生成简单的代码段。

 

机器编程是英特尔实验室和麻省理工学院在「The Three Pillars of Machine Programming」论文中提出的一个术语  ,旨在通过使用自动化工具来提高开发效率。

 

这些新兴机器编程工具中的一项关键技术是代码相似性,它能准确有效地自动化某些软件开发过程来满足这一需求。

 

然而,建立精确的代码相似性系统是一个尚未解决的问题。这些系统试图确定两个代码片段是否显示出相似的特征或旨在达到相似的目标。当仅学习源代码时,这是一项艰巨的任务。

 

因此, 研究人员提出了机器推断代码相似性(MISIM),这是一种全新的端到端代码相似性系统。MISIM 可以准确推断两段代码何时执行相似的计算,即使这两段代码使用不同的数据结构和算法。


      微信图片_20220109135435.jpg


英特尔实验室首席科学家兼机器编程研究总监 Justin Gottschlich 表示,「这是迈向更宏伟的机器编程愿景的重要一步。」

 

MISIM 与现有代码相似性系统之间的核心区别在于其新颖的上下文感知语义结构(CASS),其目的是了解代码的实际作用,可以帮助从代码语法中提升语义含义。

 

与其他现有方法不同,它可以将 CASS 配置为特定的上下文,从而使其可以捕获更高级别描述代码的信息。CASS 可以提供有关代码功能而非方法的更具体的见解。

 

此外,MISIM 无需使用编译器即可对代码进行评级,编译器将人类可读的源代码转换为计算机可执行的机器代码

 

与现有系统相比,MISIM 还具有许多优势,包括能够在开发人员当前正在编写的不完整代码段上执行的能力,这是推荐系统或自动错误修复的重要实用特征。


      微信图片_20220109135436.png


MISIM系统总揽

 

MISIM 提供了基于神经的代码相似性评分算法,该算法可通过具有学习参数的各种神经网络体系结构来实现。

 

一旦将代码的结构集成到 CASS 中,神经网络系统就会根据其设计要执行的工作,为代码片段提供相似性评分。

 

换句话说,如果两段代码在结构上看起来有很大不同,但执行相同的功能,则神经网络会将它们评为大致相似。

 

研究人员最后将 MISIM 与三个最新的检测代码相似性系统进行了比较:


(i)code2vec

(ii)Neural Code Comprehension

(iii) Aroma


      微信图片_20220109135438.png


通过将这些原理整合到一个统一的系统中,研究人员发现MISIM能够比当前的最新系统更准确地识别相似的代码,最多可识别40倍。


从研究到演示:代码推荐,大幅削减开发成本


尽管英特尔仍在扩展 MISIM 的功能集,但公司已将其从研究工作转移到了演示工作,目的是创建一个代码推荐引擎,以协助所有软件开发人员能够跨英特尔各种异构体系结构进行编程。

 

这种类型的系统将能够识别开发人员输入的简单算法背后的意图,并提供语义上相似但性能有所提高的候选代码。

      微信图片_20220109135440.jpg


Gottschlich 表示,「我想,如果有可能,大多数开发人员会很乐意让机器为他们查找并修复错误」。

 

这可以为雇主省去一些麻烦,更不用说帮助开发人员自己了。

 

根据剑桥大学 Judge 商学院发表的一项研究,程序员将50.1%的工作时间用于编程,而将一半的时间用于调试。估计每年的调试总费用为3120亿美元。可以看出,这需要消耗大量精力和财力。

      微信图片_20220109135443.png微信图片_20220109135441.png


英特尔机器编程实验室还与英特尔的软件部门合作,以了解如何将 MISIM 集成到他们的日常开发中。像 MISIM 这样的以AI为动力的代码推荐和审查工具有望大幅削减开发成本,同时使编码人员能够专注于更具创造性、更少重复性的任务。

 

Gottschlich 在一次采访时表示,「如果我们在机器编程方面取得成功,最终目标之一就是使所有人能够创建软件。」

 

参考链接:


https://newsroom.intel.com/news/intel-mit-georgia-tech-machine-programming-code-similarity-system/

https://venturebeat.com/2020/07/29/intel-researchers-create-ai-system-that-rates-similarity-of-two-pieces-of-code/

相关文章
|
11天前
|
机器学习/深度学习 数据采集 人工智能
AI赋能教育:深度学习在个性化学习系统中的应用
【10月更文挑战第26天】随着人工智能的发展,深度学习技术正逐步应用于教育领域,特别是个性化学习系统中。通过分析学生的学习数据,深度学习模型能够精准预测学生的学习表现,并为其推荐合适的学习资源和规划学习路径,从而提供更加高效、有趣和个性化的学习体验。
61 9
|
3天前
|
人工智能 Java 编译器
.NET 9 发布 性能提升、AI 支持与全方位改进
【11月更文挑战第5天】.NET 9 引入了多项改进,包括性能提升、AI 支持和全方位功能优化。性能方面,编译器增强、服务器 GC 优化、矢量化和硬件支持等提升了执行效率。AI 方面,新增学习材料、合作伙伴生态、原生支持和生成式 AI 集成。此外,.NET Aspire 组件升级、编程语言新功能和开发工具更新进一步提升了开发体验。
|
7天前
|
机器学习/深度学习 人工智能 机器人
何恺明新作出炉!异构预训练Transformer颠覆本体视觉学习范式,AI性能暴涨超20%
【10月更文挑战第29天】在机器人学习领域,训练通用模型面临数据异构性的挑战。近期研究“Scaling Proprioceptive-Visual Learning with Heterogeneous Pre-trained Transformers”提出异构预训练Transformer(HPT),通过大规模预训练学习跨不同本体和任务的共享表示,显著提升了性能。实验结果显示,HPT在未见过的任务上表现优异,性能提升超过20%。
23 6
|
4天前
|
机器学习/深度学习 数据采集 人工智能
揭秘AI:机器学习的魔法与代码
【10月更文挑战第33天】本文将带你走进AI的世界,了解机器学习的原理和应用。我们将通过Python代码示例,展示如何实现一个简单的线性回归模型。无论你是AI新手还是有经验的开发者,这篇文章都会给你带来新的启示。让我们一起探索AI的奥秘吧!
|
7天前
|
机器学习/深度学习 人工智能 自然语言处理
o1医学领域大胜GPT-4,性能暴涨!顶尖华人团队激动发文:离AI医生越来越近了
【10月更文挑战第29天】近日,一支顶尖华人团队发布论文《A Preliminary Study of o1 in Medicine: Are We Closer to an AI Doctor?》,揭示了OpenAI最新语言模型o1在医学领域的卓越表现。研究显示,o1在概念识别、文本总结、问答等任务上远超GPT-4,显著提升了医学领域的AI应用水平,向实现AI医生的目标迈进了一大步。
19 3
|
10天前
|
机器学习/深度学习 人工智能 搜索推荐
AI在医疗领域的革命:智能诊断系统的未来
在科技日新月异的今天,人工智能(AI)技术正逐渐渗透到我们生活的每一个角落,其中医疗领域尤为显著。本文将探讨AI在医疗诊断中的应用及其带来的变革,重点介绍智能诊断系统的发展现状与未来趋势。通过深入浅出的方式,我们将揭示AI如何改变传统医疗模式,提高诊断效率和准确性,最终造福广大患者。
|
9天前
|
人工智能 自然语言处理 安全
AI技术在智能客服系统中的应用与挑战
【10月更文挑战第28天】本文将深入探讨人工智能(AI)技术在智能客服系统中的应用及其面临的挑战。我们将通过实例分析,了解AI如何改善客户服务体验,提高效率和降低成本。同时,我们也将关注AI在实际应用中可能遇到的问题,如语义理解、情感识别和数据安全等,并提出相应的解决方案。
|
11天前
|
安全 搜索推荐 机器学习/深度学习
AI赋能教育:深度学习在个性化学习系统中的应用
【10月更文挑战第26天】在人工智能的推动下,个性化学习系统逐渐成为教育领域的重要趋势。深度学习作为AI的核心技术,在构建个性化学习系统中发挥关键作用。本文探讨了深度学习在个性化推荐系统、智能辅导系统和学习行为分析中的应用,并提供了代码示例,展示了如何使用Keras构建模型预测学生对课程的兴趣。尽管面临数据隐私和模型可解释性等挑战,深度学习仍有望为教育带来更个性化和高效的学习体验。
36 0
苹果A13芯片细节曝光,大幅提升AI性能
苹果A13芯片使用了台积电7nm极紫外光刻(EUV)工艺,有三个性能核心+四个能效核心。
761 0
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
AI在医疗领域的应用及其挑战
【10月更文挑战第34天】本文将探讨人工智能(AI)在医疗领域的应用及其面临的挑战。我们将从AI技术的基本概念入手,然后详细介绍其在医疗领域的各种应用,如疾病诊断、药物研发、患者护理等。最后,我们将讨论AI在医疗领域面临的主要挑战,包括数据隐私、算法偏见、法规合规等问题。
11 1