AI 开年翻车事件:Yelp 训练神经网络除 bug,结果把整个程式库删了

AI 开年翻车事件:Yelp 训练神经网络除 bug,结果把整个程式库删了

授权 AI 移除 App bug,结果 AI 将整个程式库删了,这件听起来很荒谬的事情,真实在美国Yelp 发生了。

Yelp 是美国着名商店评论网站,创立于 2004 年,囊括各地餐厅、购物中心、饭店、旅游等领域商店,用户可在 Yelp 网站帮商店评分、提交评论、交流购物体验等,由Paypal前工程师杰瑞米‧史托普曼(Jeremy Stoppelman)和罗素西蒙斯(Russel Simmons)共同建立。

近日,Yelp App 的更新说明把大家乐坏了:

AI 开年翻车事件:Yelp 训练神经网络除 bug,结果把整个程式库删了 AI与大数据 图2张

我们要向本周使用 App 时遇到问题的用户道歉。我们训练了一个神经网络来消除 App bug,没想到它把所有东西都删除了。现在只好试试回复资料。目前暂时达成 100 % 没有 bug 的状态……

从过去两个月的更新说明来看,Yelp 基本上可说将“除虫”当成首要工作,从万圣节到圣诞节再到跨年,Yelp 的工程师几乎每天都沉溺在“消虫乐”的欢乐气氛里。

AI 开年翻车事件:Yelp 训练神经网络除 bug,结果把整个程式库删了 AI与大数据 图3张

AI 开年翻车事件:Yelp 训练神经网络除 bug,结果把整个程式库删了 AI与大数据 图4张

大概是在除 bug 这条路上除出公式,才会让Yelp的工程师萌生透过训练神经网络达成自动除 bug 的想法,只是他们没想到竟然如此出师不利。

由于 Yelp 至今尚未公布详细的网络训练和删程式库细节,因此我们只能用猜的来判断导致删掉程式库的原因。然而令人绝望的是,即便 Yelp 工程师想找出“删程式库”事件的原由,神经网络的“黑箱”性质也导致没办法做到。

难道人类一点办法也没有了吗?

虽然 Yelp 以血淋淋的例子告诉我们,自动 debug 有风险,然而我们无法因此否定许多机构在这方面的努力,毕竟 debug 工具一旦开发出来,工程师就可把更多精力放在写程式上。

其中,最具代表性的是 Facebook SapFix

AI 开年翻车事件:Yelp 训练神经网络除 bug,结果把整个程式库删了 AI与大数据 图5张

这是一款去年 9 月发表的程式码除错工具,配合 Facebook 的自动化发现漏洞工具 Sapienz,可针对 bug 生成修补程式。

AI 开年翻车事件:Yelp 训练神经网络除 bug,结果把整个程式库删了 AI与大数据 图6张

具体的执行流程,是SapFix 会先给每个 bug 生成多个潜在修补程式,然后从三方面评定修补程式的品质(是否有编译错误、程式是否还会崩溃、修补程式是否引入新冲突),评定结束后,SapFix 会在修复版本测试,结果出来后第一时间发给人工评审员审查。

一旦获得人工回馈,SapFix 就会执行批准的修补程式,并清除其他未被批准的修补程式。

值得一提的是,面对较复杂的问题时,SapFix 会从过往的修复样本集搜寻生成修补程式的参考。即使没能找到合适的修复样本,它也会尝试基于突变来修复──简单来说,就是对导致崩溃的叙述抽象语法树(AST)执行小型程式码修复,调整修补程式,直到找到可行的解决方案。

此工具被 Facebook 视为AI 技术的里程碑,下一步计划让 SapFix 达成自动制止程式码崩溃机制,以及让软件反应更敏捷。

Yelp“删程式库”事件是典型的 AI 过早落实商用的例子,技术尚未成熟的条件下,AI 输出结果难免会耍笨。

(本文由 雷锋网 授权转载;首图来源:shutterstock)

   特别声明    本页内容仅供参考,版权终归原著者所有,若有侵权,请联系我们删除。