当前位置:首页>新闻详情

服务热线

400-888-2837

AI删库,程序员背锅?


作者:大润发贵宾会-大润发贵宾会手机版-大润发贵宾会官网      发布时间:2019-10-09 14:32:46


  作者| 一一

  出品| AI科技大本营

  又一代码清库的惨案发生了,不过这次要背锅是AI。

  近日,美国最大点评网站Yelp 的工程师训练的神经网络闯祸了。他们训练了一个用来消除bug 的神经网络,万万没想到,该网络删除一切,从根上彻底了实现“bug-free”......有点儿厉害。

  Yelp 团队在APP 中向近期可能感到体验不畅的各位用户致歉,该团队还表示,他们将不得不进行回滚(Roll back),但随即话锋一转,他们说好的一面是,这说明APP 中100% 没bug 了啊。

  好吧,没跑了,这个锅还是工程师的。

  神经网络算法的这一波操作,让人不禁想起郭德纲的一个相声段子,“我心善,见不得穷人,于是把自己目之所及的穷人全赶走了。”收到工程师的任务指令后,兴许AI 发现一个个debug 太不省心,心一横,干脆一键all clear 算求。

  这事要在国内互联网公司,搞这个大一个工程事故,九成要说杀一个工程师祭天,尽管Yelp 最后的点睛自嘲蛮轻松的,但人前卖笑,谁知道代码清除后工程师是不是目瞪口呆或者心里在吐血呢......毕竟,要Roll back。

  Roll back 究竟意味着什么?它指的是程序或数据处理错误,将程序或数据恢复到上一次正确状态的行为。那Roll back 工作量有多大呢?回滚对程序员意味着非常严重的失误,微博网友@互联网八卦民工评论说,Yelp 在真实环境训练自己的人工智能神经网络去删除app 中的bug,结果是人工智能把所有都东西都删了,这不是一个简单的Roll back。

  网友们更好奇的是Yelp 的工程师训练了一个怎样的网络?拿何种样本训练的?损失函数是如何设计的?有人猜测,代码里面没有bug,损失函数一直是零,BP 和优化器无用武之地,所以触发异常,把整段代码都视为bug?

  代码里面没有bug 似乎不太可能,翻阅Yelp 的版本更新历史记录,你会发现这简直是一部“除虫史诗”,你们感受一下:

  本来是想让AI 来帮忙debug 的,现在工具反到成了阻碍。不知道是debug 工具本身的黑箱问题,还是使用它的人没找到正确的“窍门”。至于这次Yelp 工程事故报告还未有进一步的信息披露,但用神经网络算法debug 应该有风险,部署需谨慎。

  不过一款让工程师省时省力的debug 工具显然是人人所期待的,AI科技大本营之前写过一篇《@程序员,终于可以放心写bug了!Facebook的debug神器你值得拥有》中提到,去年9 月,Facebook 基于AI 技术再次推出新款代码调试工具SapFix,可针对特定的bug 自动生成修复程序,然后将其提交给工程师,经确认之后,然后再部署到生产环境中。相比其一年前已投入大规模使用的智能自动化软件测试工具Sapienz,SapFix 能够在没有Sapienz 的情况下运行,主要用于修复Sapienz 在生产前发现的程序bug。

  从发现bug 到修复bug,Facebook 有一套完整的流程:首先Sapienz 以及Facebook 的静态分析工具Infer,会帮助定位代码中需要修补的点;一旦Sapienz 和Infer 精确定位与崩溃相关的特定代码部分之后,就会将该信息传递给SapFix;最后,SapFix 会参考几种不同的策略,自动生成补丁。

  根据Facebook 的数据,Sapienz 报告的大约四分之三的错误都需要开发者来修复。自Facebook 开始测试SapFix 之后,该工具已经成功生成了被人类审核者接受并部署于生产的补丁。不过,目前SapFix 总体上仍在开发阶段。

  Facebook 都还只是在尝试阶段,Yelp 的工程师这次似乎对自家的debug 工具太自信了,一键清库简直不能更酸爽,不知道他们这次有没有感受到来自深度学习的威力。

大润发贵宾会-大润发贵宾会手机版-大润发贵宾会官网