【Google 年度顶级论文】机器学习系统,隐藏多少技术债?
2015-12-9 11:23 |原作者: 译者:王婉婷 李宏菲 张巨岩|来自: 新智元|
查看: 39720|
评论: 0
7. 处理客观世界的变化 让机器学习系统如此令人着迷的一点就是,它们经常与外部世界直接地互动。经验表明,外部世界是不稳定的。这种背景的变化率(backgroundrate of change)导致了机器学习系统持续的维护成本。 动态系统的固定阈值。为给定模型执行某些操作而设定一个阈值是必要的:去预测对或是错,标记某个邮件是否为垃圾邮件,某个给定广告显示与否。为了在某些矩阵中进行权衡,机器学习中一个经典的方法是从一系列可能的阈值中选择一个,例如召回率与准确率。然而,这样的阈值通常是人为设定的。于是如果一个模型的数据更新,那么旧的人为设定的阈值可能就失效了。人工更新很多模型中的很多阈值很浪费时间而且也让模型不够强大。对应这种情况一种缓解策略就是[14],在这篇文章中阈值是通过对有效的留存数据进行简单评估而习得的。 监控和测试。对独立元件的单元测试和对运行系统的端到端测试是很有价值的,但是在快速变化的世界面前,这种测试提供的证据不足以说明系统是按计划运行的。对系统行为的实时综合性监测辅以自动回复机制对于长期系统的可靠性来说是非常重要的。 问题的关键是:监测什么?考虑到许多机器学习系统倾向随着时间不断地自我适应这一情况,可以被测试的不变条件(invariants)并不总是明显的。我们提供了以下几个出发点。 预测偏差(Prediction Bias)。在一个按计划运行的系统中,它应该符合这样的情况:预测标签(predicted labels)的分布与观测标签(observedlabels)的分布是相同的。这不论怎样都不是一个全面的测试,因为一个无视输入的特征而只预测标签出现频率均值的空值模型也能通过这个测试。然而,它作为诊断工具却意外地有用,它在矩阵中发生变化时通常意味着出现了一个值得注意的问题。例如,这种方法能够帮助检测这样的情况,外部世界行为突然改变,使得利用历史数据训练的分布不再反映当前现实。通过分割各维度的预测偏差可以快速分离问题,也能够用于自动报警机制。 处置限制(Action Limits)。在那些用于在现实世界中采取行动的系统中,例如项目投标或者标记垃圾短信,设定处置限制(Action Limits)并将它作为完成性检查(sanitycheck)的项目之一是很有用的。这些限制范围应该设置得足够宽,以防被不合逻辑地触发。如果系统由于某种行为而达到了限制值,自动报警应该启动并触发人工介入或者调查。 上游生产者(Up-Stream Producers)。来自多种多样的上游生产者的数据通常会提供给机器学习系统。这些上游过程应该被彻底地监测、测试,并且要满足服务层面的常规目标:将下游机器学习系统的需求考虑在内。进而任何上游的警报都必须传播到机器学习系统的控制面板中来保证系统的准确性。相似地,任何不能满足既定服务层面目标的机器学习系统也要传播到下游所有的系统中,并且如果可能的话,直接传播到它们的控制面板中。 由于外部变化是实时发生的,回应也应该实时发生。依靠人类介入作为对警报页面的回应是一种策略,但是对于具有时间敏感性的问题是很鸡肋的。创造一个不需要直接人为介入的自动回应系统总是值得投入的。 8. 与机器学习相关的其他领域的技术债 我们现在简短地突出强调一下其他一些领域中与机器学习有关的可能发生的技术债。 数据测试债。如果数据在机器学习系统中取代了代码,并且代码要被测试,那么似乎以下说法就很明晰了,即一定量的输入数据的测试对于得到一个运作良好的系统来说是重要的。基本的完整性测试(sanitychecks)是有用的,监测输入数据分布变化的复杂测试同样也是有用的。 可重复性债。作为科学家,能够重复实验并得到相似结果是很重要的,但是某些条件下,在真实世界里设计一个狭义可重复性系统会变得困难。这些条件包括随机化算法,并行学习固有的不确定性,对初始条件的依赖和与外部世界的互动。 进程管理债。本论文中描述的大部分使用案例讨论了维护一个模型的成本,但是成熟系统可能有几十个或者几百个模型同时运行。这引出了广泛而重要的问题,它包括自动并安全地为相似模型更新各种配置的问题,如何为众多不同业务优先级的模型管理并分配资源问题,还有在一条生产线中如何可视化并检测数据流拥堵问题。开发工具来帮助生产事故的恢复也很重要。常见的需要人工步骤的过程是,避免重要的系统级别异味(smell)。 文化债。机器学习的研究领域和工程领域之间,有时是有明显界限的,但是这可能不利于长期系统健康。创造一种团队文化去鼓励删除特征,减少复杂度,提高可重复性和稳定性,把监督进行到精确率的提高均会被量化的程度。据我们的经验,在两个领域(机器学习研究和工程领域)有优势的异质性团队中最有可能发生这样的情况。 9. 结论:测量并还清技术债 技术债是一个很好的比喻,但是很不幸的是它并没有严格的、可被追踪的度量方式。我们如何测量系统中的技术债,如何评估技术债的全部成本?先要注意到,一个团队仍然在快速进步并不是低技术债或者良好运行的证据,因为技术债的全部成本只会随着时间的推移而慢慢浮出水面。事实上,发展过快经常会引入技术债。一些有用问题在这里列出: · 一个全新的算法被全面测试的难易程度? · 所有数据相关性的传递闭包是什么? · 新改变对系统的影响,能多精确的测量? · 改善模型或是信号会降低其他模型吗? · 要花多久才能使团队新成员赶上其他人速度? 我们希望这篇文章能够对可持续机器学习领域(maintainableML)的发展起到一定的促进作用,这里所指的领域包括了更好的抽象、测试方法和设计模式。也许最重要的观点是,技术债是一个既需要工程师也要科学家注意的问题。以大规模增加系统复杂性为代价求取微小的精确性进步的研究性解决方案,很少会被广泛应用。即使是一两个看起来很正常的数据相关性的增加都能够减缓未来的进度。 还清与机器学习有关的技术债需要做出特定的承诺,这种承诺常常只能通过转变团队文化来完成。认识到这一点,优先考虑并奖励这样的行为,对于成功机器学习团队的长期健康来说是很重要的。 鸣谢 这篇文章要特别感谢在创新型研究氛围和强大工程实践的团队文化中一天天学习而得到的重要教训。许多同事帮助形成了这种观点,并且民间智慧的积累而产生的有益影响再怎么强调也不为过。我们想要特别鸣谢以下各位:RobertoBayardo,Luis Cobo,SharatChikkerur, JeffDean,PhilipHenderson,ArnarMar Hrafnkelsson,AnkurJain,Joe Kovac,Jeremy Kubica,H. Brendan McMahan,SatyakiMahalanabis, LanNie,Michael Pohl,Abdul Salem,SajidSiddiqi,Ricky Shan,AlanSkelly,Cory Williams,和Andrew Young。 本篇论文的简短形式曾在2014年加拿大的蒙特利尔SE4ML讨论会中呈现过。 参考论文 [1] R. Ananthanarayanan, V. Basker, S. Das, A. Gupta, H. Jiang, T. Qiu, A. Reznichenko, D. Ryabkov, M. Singh, and S. Venkataraman. Photon: Fault-tolerant and scalable joining of continuous data streams. In SIGMOD ’13: Proceedings of the 2013 international conference on Management of data, pages 577– 588, New York, NY, USA, 2013. [2] A. Anonymous. Machine learning: The high-interest credit card of technical debt. SE4ML: Software Engineering for Machine Learning (NIPS 2014 Workshop). [3] L. Bottou, J. Peters, J. Qui ˜nonero Candela, D. X. Charles, D. M. Chickering, E. Portugaly, D. Ray, P. Simard, and E. Snelson. Counterfactual reasoning and learning systems: The example of computational advertising. Journal of Machine Learning Research, 14(Nov), 2013. [4] W. J. Brown, H. W. McCormick, T. J. Mowbray, and R. C. Malveau. Antipatterns: refactoring software, architectures, and projects in crisis. 1998. [5] T. M. Chilimbi, Y. Suzue, J. Apacible, and K. Kalyanaraman. Project adam: Building an efficient and scalable deep learning training system. In 11th USENIX Symposium on Operating Systems Design and Implementation, OSDI ’14, Broomfield, CO, USA, October 6-8, 2014., pages 571–582, 2014. [6] B. Dalessandro, D. Chen, T. Raeder, C. Perlich, M. Han Williams, and F. Provost. Scalable handsfree transfer learning for online advertising. In Proceedings of the 20th ACM SIGKDD international conference on Knowledge discovery and data mining, pages 1573–1582. ACM, 2014. [7] M. Fowler. Code smells. http://http://martinfowler.com/bliki/CodeSmell.html. [8] M. Fowler. Refactoring: improving the design of existing code. Pearson Education India, 1999. [9] J. Langford and T. Zhang. The epoch-greedy algorithm for multi-armed bandits with side information. In Advances in neural information processing systems, pages 817–824, 2008. [10] M. Li, D. G. Andersen, J. W. Park, A. J. Smola, A. Ahmed, V. Josifovski, J. Long, E. J. Shekita, and B. Su. Scaling distributed machine learning with the parameter server. In 11th USENIX Symposium on Operating Systems Design and Implementation, OSDI ’14, Broomfield, CO, USA, October 6-8, 2014., pages 583–598, 2014. [11] J. Lin and D. Ryaboy. Scaling big data mining infrastructure: the twitter experience. ACM SIGKDD Explorations Newsletter, 14(2):6–19, 2013. [12] H. B. McMahan, G. Holt, D. Sculley, M. Young, D. Ebner, J. Grady, L. Nie, T. Phillips, E. Davydov, D. Golovin, S. Chikkerur, D. Liu, M.Wattenberg, A. M. Hrafnkelsson, T. Boulos, and J. Kubica. Ad click prediction: a view from the trenches. In The 19th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, KDD 2013, Chicago, IL, USA, August 11-14, 2013, 2013. [13] J. D. Morgenthaler, M. Gridnev, R. Sauciuc, and S. Bhansali. Searching for build debt: Experiences managing technical debt at google. In Proceedings of the Third International Workshop on Managing Technical Debt, 2012. [14] D. Sculley, M. E. Otey, M. Pohl, B. Spitznagel, J. Hainsworth, and Y. Zhou. Detecting adversarial advertisements in the wild. In Proceedings of the 17th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining, San Diego, CA, USA, August 21-24, 2011, 2011. [15] Securities and E. Commission. SEC Charges Knight CapitalWith Violations ofMarket Access Rule, 2013. [16] A. Spector, P. Norvig, and S. Petrov. Google’s hybrid approach to research. Communications of the ACM, 55 Issue 7, 2012. [17] A. Zheng. The challenges of building machine learning tools for the masses. SE4ML: Software Engineer- ing for Machine Learning (NIPS 2014 Workshop) |
免责声明:
除非特别声明,文章均为投稿或网络转载,仅代表作者观点,与大数据中国网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。如果本文内容有侵犯你的权益,请发送信息至ab12-120@163.com,我们会及时删除
上一篇:大数据与数据挖掘的相对绝对关系
下一篇:数据分析挖掘体系
最新评论
最新新闻
最新新闻