AI对软件开发有什么影响?

Karpathy认为,我们正处于软件开发方式发生深刻变革的开始。到现在为止,我们已经通过仔细,认真地告诉系统确切的操作(逐条指令)来构建系统。该过程缓慢,乏味且容易出错。我们大多数人都花了几天的时间盯着一个应该起作用的程序,但事实是没有起作用。当一些已经可靠了一段时间的程序突然在一些稍微意外的输入上搞砸了时,我们大多数人都感到惊讶。最后一个错误始终是您接下来发现的错误。

AI对软件开发有什么影响?

Karpathy提出了一个截然不同的建议:通过机器学习,我们可以不再将编程视为使用C或Java或Python这样的编程语言编写指令的步骤。相反,我们可以通过示例编程。我们可以收集许多我们希望程序做什么和不做什么的示例(正确和错误行为的示例),适当地标记它们,并训练模型以在新输入上正确执行。简而言之,我们可以使用机器学习来自动进行软件开发。

我们是否正在看到软件2.0的第一步?是的,但是到目前为止,它们只是很小的一步。大多数公司没有AI专业知识来实现它。传统编程是众所周知的。培训模型尚未得到很好的理解,至少在尚未对技术(总体而言)或AI(尤其是AI)进行大量投资的公司内部也是如此。建立数据流和部署ML系统也没有被很好地理解。将他们如何开发ML和AI应用程序进行系统化的公司是已经具有先进AI算法的公司。

AI对软件开发有什么影响?

这并不意味着我们没有看到使软件工程和数据科学各个方面自动化的工具。这些工具开始出现,特别是在构建深度学习模型时。我们看到AWS,Sagemaker和谷歌的AutoML等工具继续被采用。 AutoML Vision使您无需编码即可构建模型;我们还看到MLJAR和Lobe等初创公司建立了无需代码的模型,而诸如Platform.ai和Matroid等专注于计算机视觉的工具也得到了开发。很多公司正在扩大其对ML和AI的使用,我们看到了旨在加速在机器学习和AI团队不断壮大的公司中ML的开发和部署的数据平台的兴起。一些AI领导者描述了他们内部构建的平台(例如Uber的Michelangelo,Facebook的FBLearner,Twitter的Cortex和Apple的Overton)。

我们还看到了Snorkel(在O’Reilly的AI大会上进行了介绍),它是一种由ML驱动的工具,用于自动数据标记和合成数据生成。由斯坦福大学,滑铁卢大学和威斯康星州研究人员开发的另一种工具HoloClean可以进行自动错误检测和修复。就像克里斯·雷(ChrisRé)在会议上所说的那样,我们在自动化数据收集和模型生成方面取得了很多进展。在北京的O’Reilly AI大会上,麻省理工学院的Tim Kraska讨论了机器学习模型如何优化数据库和磁盘存储,基本数据结构甚至流程调度算法。您在学校学习的手工算法可能不再有用,因为AI可以做得更好。下一代程序员可能会学习如何将机器学习应用于这些问题,而不是学习有关排序和索引的知识。

我们看到的最具启发性的项目之一是RISE Lab的AutoPandas。给定一组输入以及这些输入应产生的输出,AutoPandas将根据这些输入和输出生成一个程序。这种“通过示例编程”是朝软件2.0迈出的令人振奋的一步。

AI编程的最大障碍是什么? AI和ML在其他任何地方都面临着同样的问题(老实说,每一项新技术都面临):缺乏熟练的技术人员,难以找到正确的用例,以及难以找到数据。这就是软件2.0对数据科学影响最大的原因之一:这就是技术人员所在的位置。这些人都是谁,他们知道如何收集和预处理数据,并且知道如何定义可以由ML系统实际解决的问题。

AI对软件开发有什么影响?

来源:增才说科技

声明:本站部分文章及图片转载于互联网,内容版权归原作者所有,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2020年7月3日
下一篇 2020年7月3日

相关推荐