最近几年,研究人员早已开始使用人工智能来改善编程语言之间的翻译或手动解决问题。AI系统DrRepair早已可解决大多数形成错误消息的问题。但是一些研究人员梦想着有三天AI可以依据非专家的简单描述编撰程序。
在近来举办的谷歌Build 2021开发者会议上,微软和OpenAI共享了计划,将GPT-3(一种世界上最先进的文本生成模型)引入基于自然语言描述的编程中。这是自谷歌今年向OpenAI投资10亿美元并获得GPT-3的独家许可权以来,GPT-3的首次商业应用。
微软首席执行官萨蒂亚·纳德拉(Satya Nadella)在公司的Build开发者会议上的主题讲演中说:“如果用自然语言描述您想做的事情,GPT-3将为您提供最相关的公式列表供您选择。”
第一步:用户输入指令
第二步:算法给出可选代码
这个流程简单得相当于用siri设定闹铃——用户只须要下达一个指令,比如“我想看2020年停止订阅我司服务的用户数据”,GPT-3都会手动生成代码,并运行展示对应数据。
这应当是所有程序员梦寐以求的场面:“代码,你已然是个成熟的代码了,你应当可以自己把自己写完了。”
微软副总裁查尔斯·拉曼纳(Charles Lamanna)表示,GPT-3所提供的先进技术可以帮助人们应对复杂的挑战,并为几乎没有编码经验的人们赋权。GPT-3会将自然语言转换为PowerFx,PowerFx是一种相当简单的编程语言,类似于Microsoft在3月引入的Excel命令。
这是将AI应用于编码的最新演示。IBM上个月展示了其Project CodeNet(具有来自50多种编程语言的1400万个代码示例)如何将汽车公司使用数百万行Java代码更新程序所需的时间从一年减短到一个月。
GPT-3是一个基于称为Transformer的神经网路构架,包括百度,谷歌,微软,Nvidia和Salesforce在内的小型科技公司都使用Trasnformer,它通过使用从网路上抓取的文字训练数据来创建小型语言模型。谷歌BERT的的语言模型中最大的一个版本于2018年发布,具有3.4亿个参数,是神经网路的基础。一年前发布的GPT-3拥有1750亿个参数。
但是,这样的努力还有很长的路要走。在近来的一次测试中,最佳模型在一组AI研究人员编撰的入门编程挑战中仅成功完成了14%的时间。
尽管如此,进行这项研究的研究人员得出的推论是,测试证明“机器学习模型正在开始学习怎么编码”。
目前,尚不清楚谷歌、OpenAI和GitHub将怎样在AI上协同工作以进行编码。2018年,在谷歌竞购GitHub以后不久,该公司详尽说明了使用语言模型来促进语义代码搜索的努力,这是涉及AI的一系列应用研究计划中的第一个。这种功能可以使程序员更轻松地使用自然语言来搜索和使用代码。GitHub发言人拒绝评论该项目的状态。