搭建容易维护难!谷歌机器学习系统血泪教训
作者头像
  • 人工智能新闻
  • 2019-10-23 07:56:41 7

搭建容易维护难!谷歌机器学习系统血泪教训

作者 | Sculley等
译者 | 核子可乐
编辑 | Debra

AI 火线导读:2014年,谷歌一篇讨论机器学习背后高昂技术债的论文曾广受关注。如今,这篇论文再次出现在知名技术社区 HackerNews 的头条。尽管人工智能已经取得了显著进展,但机器学习系统中常见的问题依然存在。

本文旨在为在生产环境中部署机器学习系统的开发者和维护者提供实用建议。作者警告称,虽然搭建机器学习系统相对容易,但后续的改进却可能充满挑战。这些经验来自作者在谷歌工作的宝贵积累。

AI 火线将带大家重温这篇经典文章,文章强调了与机器学习相关的同时也要重视良好的软件工程实践。考虑到许多初创企业都在尝试构建“X+AI”业务,文中的建议显得尤为重要。

机器学习系统带来的主要技术债类别

  1. 信息隐藏和变化封闭带来的挑战
  2. 胶水代码与配置
  3. 不断变化的外部世界及模型对现实世界的理解偏差

关键观点

机器学习系统的技术债务应当引起工程师和研究人员的重视。大规模增加系统复杂性并非明智之举。即便只添加少量看似有害的数据依赖关系,也可能阻碍系统的进一步发展。减少技术债务虽然不如证明新定理那样激动人心,但却是保持创新力的关键。

信息隐藏与变化封闭

机器学习模型如同一台巨大的搅拌机,对输入变化的敏感度难以预测。面对这样的挑战,可以采取以下策略:

  1. 隔离模型,提供总体结论:虽然模型内部仍然复杂,但这种方法有助于简化操作。
  2. 深入了解模型预测行为:投资于可视化工具,以使模型更加透明。
  3. 使用更复杂的正则化方法:这有助于在训练过程中反映效能预测成本的上升迹象。

数据依赖性问题

数据依赖性难以识别,因为现有的分析工具较少。数据随时间变化可能导致不可预测的结果。解决这一问题的方法包括:

  1. 构建自动化特征管理工具:帮助识别和清理不必要的特征。
  2. 重新应用现有模型:这有助于快速获得初步成果,但未来对模型的改进可能会更加复杂。

胶水代码与配置

机器学习系统中只有5%的代码负责机器学习,其余95%的代码主要是胶水代码。这些代码增加了系统的复杂性。相关问题还包括过于复杂的管道系统。为解决这些问题,需要对整个系统架构进行全面审视,并重构管道系统。

世界的变化

外部世界的变化是技术债务的主要来源之一。手动设置决策阈值可能导致问题,因为外部世界的不确定性可能改变模型的表现。实时监控系统至关重要,它可以帮助及时发现并纠正预测偏差。

原文链接:
https://blog.acolyer.org/2016/02/29/machine-learning-the-high-interest-credit-card-of-technical-debt/

论文链接:
https://storage.googleapis.com/pub-tools-public-publication-data/pdf/43146.pdf

参考文献:K码农-http://kmanong.top/kmn/qxw/form/home?top_cate=28

    本文来源:图灵汇
责任编辑: : 人工智能新闻
声明:本文系图灵汇原创稿件,版权属图灵汇所有,未经授权不得转载,已经协议授权的媒体下载使用时须注明"稿件来源:图灵汇",违者将依法追究责任。
    分享
学习系统血泪搭建教训机器容易维护谷歌
    下一篇