作者 | 一一

出品 | 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 工具太自信了,一键清库简直不能更酸爽,不知道他们这次有没有感受到来自深度学习的威力。

(*本文为 AI科技大本营原创文章,转载请联系微信 1092722531)


公开课预告

全双工语音

本期课程中,微软小冰全球首席架构师及研发总监周力博士将介绍微软小冰在全双工语音对话方面的最新成果,及其在智能硬件上的应用和未来将面临的更多技术产品挑战。

推荐阅读

  • 放弃幻想,全面拥抱Transformer:NLP三大特征抽取器(CNN/RNN/TF)比较

  • 维基百科联手谷歌翻译,结果“惨不忍睹”!

  • ETC遭受51%算力攻击,压垮PoW的最后一根稻草

  • 对不起,我就是喜欢问你Spring构造器注入原理

  • 找工作时单位普遍要求 35 岁以下,那 35 岁以上的人都干嘛去了?

  • MongoDB 背锅、58 同城中枪,2 亿简历遭泄露竟祸起程序员爬虫?

  • 平均9分!这些课程Google程序员也在追!

  • 你的邮箱信息是否泄露?还不赶紧查一下!

  • 20行Python代码给微信头像戴帽子

AI删库,程序员背锅?相关推荐

  1. AI 删库,程序员背锅?

    作者 | 一一 出品 | AI科技大本营 又一代码清库的惨案发生了,不过这次要背锅是 AI. 近日,美国最大点评网站 Yelp 的工程师训练的神经网络闯祸了.他们训练了一个用来消除 bug 的神经网络 ...

  2. 微盟“删库”程序员被判6年,供述无力偿还网贷,酒后感觉生活不如意

    贾浩楠 发自 凹非寺 量子位 报道 | 公众号 QbitAI 还记得那个"删库跑路",凭"一己之力"让微盟一夜之间市值蒸发超10亿.300万商铺惨遭瘫痪的程序员 ...

  3. 项目出问题,凭什么让程序员背锅?

    读完下面的故事,你会发现这并非虚构, 程序员如何用实力反抗,才能让职场小人闭嘴? 当比尔接到人力资源副总裁的电话那刻起,倒霉的日子算是来了. 之所以这样说,并不是比尔犯了大错,公司打算开除他,实际上恰 ...

  4. 发现美团的一个新锅,可能程序员背不动了

    一篇剑指美团大数据杀熟.割会员韭菜的文章<我被美团会员割了韭菜>刷屏了.昨天12月17日,美团正式回应了这个事件. 翻译一下:我们没有割会员韭菜,是程序bug导致.我们的程序员已经接锅(认 ...

  5. AI抢程序员工作:2040年AI可能代替程序员

    原文链接:点击打开链接 摘要: 美国橡树岭国家实验室的一些专家预测,到2040年,AI技术将会强大到足以替代程序员.不过,即使机器能够完全代替今天程序员所做的工作,但这并不意味着它们不需要人类的帮助. ...

  6. 年薪80万!AI革了程序员的命

    原创: 蛋蛋姐 酷玩实验室 前天 酷玩实验室作品 首发于微信号 酷玩实验室 微信ID:coollabs 大家好,我是蛋蛋姐 今天的热搜上 出现了这样一条新闻 AI应届博士年薪80万起 蛋蛋姐真的惊呆了 ...

  7. ai取代程序员_自主编程的AI会取代程序员吗?

    原标题:自主编程的AI会取代程序员吗? 去年3月,AlphaGo大战棋手李世石备受瞩目,而今年5月,AlphaGo将来华挑战东方少年柯洁.与此同时,围绕AlphaGo背后的人工智能技术迅速火爆起来,各 ...

  8. AI能代替程序员吗?

    随着人工智能技术的不断发展,很多人开始担心AI是否会取代人类的工作,其中包括程序员.尤其是今年各种AI层出不穷,也让我们不由得去探讨并分析AI是否有可能代替程序员这个问题. AI的优势 首先,我们需要 ...

  9. 京东金融 App 收集隐私?开源库程序员不背锅!

    「大数据时代,人人都在"裸奔"」.本是一句玩笑话,无奈现实却一次又一次地扯掉了遮挡在用户隐私面前的遮羞布. 近日,京东金融 App 成为众矢之的,原因是其被网友控诉,在用户不知情的 ...

最新文章

  1. 任务分配算法c语言,基于蚁群算法多Agent任务分配方法.pdf
  2. 常见排序查询算法Java代码实现
  3. 【POJ - 1724 】ROADS (带限制的最短路 或 dfs 或 A*算法,双权值)
  4. pygtk在windows的安装
  5. nginx配置详解(转)
  6. 整理JRE瘦身或精简JRE
  7. Qt echarts 教程(1):qt echarts的基本使用方法
  8. linux ss服务器,【ss】Linux上ss命令的安装与使用
  9. blender 51个必须熟练记住的基础操作
  10. ctf比赛/学习资源整理,记得收藏!
  11. 拉东(Radon)变换
  12. MySQL面试题经典40问!(全)
  13. VIM编辑器不能wq退出
  14. java数据结构课程设计_java数据结构课程设计
  15. Android SurfaceView实战 打造抽奖转盘
  16. java.lang.TypeNotPresentException: Type com.sht.entity.StoreEntity not present
  17. Oracle 11g RAC CRS-4535/ORA-15077
  18. Python爬虫合集:花6k学习爬虫,终于知道爬虫能干嘛了
  19. Google Earth Engine(gee)中的FeatureCollection
  20. 007-mysql group by 之 rollup

热门文章

  1. chsop 兼容jquery(解决与transport.js冲突)
  2. std::transform使用
  3. day1-数据库基础
  4. css中position的几个值
  5. django教程目录
  6. point-to-point(点对点) 网口
  7. void *指针的加减运算
  8. Hadoop2.6.0伪分布环境搭建
  9. adoquery查询结果如何赋给一个变量(delphi和c++ builder)
  10. LeetCode实战:搜索二维矩阵