专家点评 | 【Google 年度顶级论文】机器学习系统,隐藏多少技术债?

作者在看完新智元12月8日文章《【Google 年度顶级论文】机器学习系统,隐藏多少技术债?》后有感而发,特作此文。

我: 真的好文。象牙塔里出不来的经验总结。

杨静 ༅ 新智元: @wei 你可以写一篇点评!

我: @杨静 ༅ 新智元 这里这么多 ML 大牛,哪里轮得到我这个语言学家点评啊。我算是雾里看花,因为做的都是工程系统,也有强烈共鸣罢了。

很多债务是所有大型软件工程共有的,这里试图强调ML的额外特有债务。债务的结果就是系统报废。历史上见过不少开发了很多年的系统,最后死掉了,封存了,无人问津了。当然,死系统的原先的开发者往往带着教训和经验,在下一轮重开炉灶的系统中,轻装上阵,做得更好。

我们此前讨论中遇到的两难,与这个技术债务也有关。两难是,软件工程需要分层和模块化,而系统需要保留和传递 non-deterministic 结果,如何合理处置,是一个很大的挑战。大家的共识是不要提前给出条件不成熟的确定性结论。但是拖泥带水从一个模块进入另一个模块,对于NLP这样的系统,负载会越来越重,不堪容忍。对于追求纯粹和完美的人,这个两难无解。

而且即便你找到办法保留了 non-deterministic results,系统越大,层次越多,最后是越加不 tractable。如果一切都保留到语用层面最后定夺,很怀疑任何系统设计者会受得了那样的千头万绪。反正我们在实践中是不行的。结果就是不追求纯粹和完美,选择性地、经验性地决定哪些结果可以中途扔掉(枝枝蔓蔓),哪些 non-deterministic 结果必须保留。这种选择肯定会出现问题。会出现以前的deterministic system 同类的问题。就是所谓铁路警察各管一段的踢皮球的问题。但是,出问题不可怕,只要系统是掌握在同一个设计师手中,只要一开始考虑架构的时候就给 non-deterministic 的东西留下了空间,这种问题的出现恰好可以 data-driven 地帮助设计者决定如何调配带还是不带的决策。

谁把李航请来就好了,也想听听他的高见。

白: 应用不同,平衡点可以有所差异。

我: 平衡点总是可以在实践中调控的。关键是,设计者的思维方式的转变。我们以前吃过很多苦头。刚开始做系统的时候,受到 community 的影响,认为 POS 是一个 solved problem, 于是做出了一个错误的决定,把 Brill 拿来就用。表面上这是加速了系统的进度,后去是擦不完的屁股。这不怪 Brill tagger 的精度不够,再高的精度(只要不是百分百)也会出现同类的问题。主要怪的是当时没有意识到模块间的包容,重于模块的纯粹。于是踢皮球就开始了,凡是后面做不好的,往往归到前面没做好支持。很多 parsing 的问题,最后被归结为 POS 的问题。于是回到 POS 层去打补丁。最后做出了一个畸形的系统出来,给 POS 打补丁的模块是整个系统最大的模块,比所有其他模块(包括前处理、Brill POS、NE、chunking、SVO、Events)加起来还大。原因是 parsing 的东西,在 POS 阶段几乎被重复了一遍,而且是拙劣的重复。在螺丝壳里做道场。这个教训很深刻。所以,现在学聪明一些了。

个人的教训是,NLP 没有免费的午餐,在决定拿来就用的时候要慎重再慎重。写过一篇,自给自足是NLP王道。

其实后来我们又做出了一个错误的决定,虽然这个决定在当时是无可奈何的,但显然是错误的。我们在做多语言的时候,因为迫于 deadline,不得不 license 了 Basis 的 多语 morphology,结果不但是擦不完的屁股,交不完的 license fee,更要命的是,他那里一更新,我这里就两难,升级还是不升级?

还有一个体会,同样是擦屁股,擦别人的屁股比擦自己的屁股别扭多了。因此,即便自给自足在时间压力下开始是做不好底层支持的,也比用他人的“成熟”的模块是更好的选择。反正,NLP 终归是长线项目,时间压力只是要求系统先转起来,iteratively 和 incrementally 地擦屁股和维护协调是系统转起来以后的必由之路。

底层的东西最好不用他人的,再大诱惑也不用。顶层的没有 dependency 的可以用,譬如系统要做 visualization 展示结果,这个 tool 用 off-shelf 没有副作用。

原文发布于微信公众号 - 新智元(AI_era)

原文发表时间:2015-12-09

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏钱塘大数据

【上帝视角看微信】用 Python 爬取自己的微信朋友

微信作为一款拥有将近9亿用户的超级APP,已经成为很多人生活中不可或缺的一部分,聊天、分享动态、阅读资讯、购物支付……微信就像一张移动互联网的身份证,拥有它就能...

31510
来自专栏大数据文摘

保护隐私,如何在开房时检查“偷窥摄像头”?

3213
来自专栏cloudskyme

云计算读书笔记(一)

云计算的概念 云计算是一种商业计算模型,它将计算任务分布在大量计算机构成的资源池上,使用户能够按需获取计算力、存储空间和信息服务。 云的核心理念就是资源池。 为...

3806
来自专栏CDA数据分析师

如何用 Python 爬取自己的微信朋友

微信作为一款拥有将近9亿用户的超级APP,已经成为很多人生活中不可或缺的一部分,聊天、分享动态、阅读资讯、购物支付……微信就像一张移动互联网的身份证,拥有它就能...

2159
来自专栏wataloo的试验田

MOBA英雄AI设计分享

英雄AI的设计原则是:优秀的AI并不要求是尽量的和人表现一致,也不是多么的精准和无懈可击,而是能够和玩家进行很好的交互,提升游戏体验。

91521
来自专栏飞总聊IT

大数据那些事(13):乱入的卖书的

大西雅图地区是云的故乡。这里一年超过8个月的雨季让有云的天气遍布夏天以外的每一天。华盛顿湖把大西雅图地区划成了东岸和西岸。东岸是乡下,上个世纪微软在这里成就了它...

3328
来自专栏区块链大本营

惨痛!这哥们在YouTube直播评论ICO时,自己的ICO被黑了200万刀

3428
来自专栏VRPinea

IDEALENS K2测评:黄金螺旋中的移动VR一体机

2775
来自专栏机器之心

前沿 | 小心!现在,机器人可以控制你了

远距临场机器人通过一个装有摄像头的机器人可以查看遥远的地点。它具有广泛的实际应用,如在军事和太空研究中的应用。市面上的大部分远距临场机器人(telepresen...

1184
来自专栏飞总聊IT

大数据那些事(22):Interactive的Dremel

年新职责,上周开了几天的公司planning的会,接下来的六个月因为要负责关系公司生死存亡的一个重要项目的一大块,估计工作会越来越忙,留给我安心写作的时间也会大...

36311

扫码关注云+社区