第 2 章 机器学习系统设计简介 机器学习系统设计简介
本作品已使用人工智能进行翻译。欢迎您提供反馈和意见:translation-feedback@oreilly.com
既然我们已经了解了现实世界中 ML 系统的概况,那么我们就可以进入实际设计 ML 系统的有趣部分了。重申第一章的内容,ML 系统设计采用的是 MLOps 系统方法,这意味着我们将全面考虑 ML 系统,以确保所有组件--业务需求、数据堆栈、基础设施、部署、监控等--及其利益相关者能够协同工作,满足指定的目标和要求。
本章首先讨论目标。在开发 ML 系统之前,我们必须了解为什么需要这个系统。如果该系统是为企业而建,那么它必须由企业目标驱动,而企业目标需要转化为 ML 目标,以指导 ML 模型的开发。
一旦每个人都同意了我们的 ML 系统的目标,我们就需要提出一些要求来指导该系统的开发。在本书中,我们将考虑四个要求:可靠性、可扩展性、可维护性和适应性。然后,我们将介绍设计系统以满足这些要求的迭代过程。
您可能会问:有了这些目标、要求和流程,我还能开始构建我的 ML 模型吗?没那么快!在使用 ML 算法解决问题之前,您首先需要将问题框架化为 ML 可以解决的任务。本章我们将继续介绍如何构建 ML 问题。您的工作难度可能会因为您如何构建问题框架而发生重大变化。
由于 ML 是一种数据驱动的方法,因此,如果一本关于 ML 系统设计的书籍没有讨论数据在 ML 系统中的重要性,那么它将是一本失误之作。本章的最后一部分涉及近年来占据了大量 ML 文献的一场争论:数据和智能算法哪个更重要?
让我们开始吧!
业务和 ML 目标
我们首先需要考虑拟议 ML 项目的目标。在开展 ML 项目时,数据科学家往往会关心 ML 目标:他们可以衡量 ML 模型性能的指标,如准确率、F1 分数、推理延迟等。他们会为将模型的准确率从 94% 提高到 94.2% 而兴奋不已,并可能花费大量资源(数据、计算和工程时间)来实现这一目标。
但事实是:大多数公司并不关心那些花哨的 ML 指标。他们并不关心将模型的准确率从 94% 提高到 94.2%,除非这样做能提升一些业务指标。我在许多昙花一现的 ML 项目中看到的一种模式是,数据科学家过于专注于黑客 ML 指标,而不关注业务指标。而他们的管理者却只关心业务指标,在看不到 ML 项目如何能帮助推动他们的业务指标后,就过早地扼杀了项目(可能还会放走相关的数据科学团队)。1
那么,企业关心什么指标呢?诺贝尔经济学奖得主米尔顿-弗里德曼认为,企业的唯一目的是为股东创造最大利润。2
因此,企业内任何项目的最终目标都是直接或间接地增加利润:直接目标如增加销售额(转换率)和降低成本;间接目标如提高客户满意度和增加网站停留时间。
人工智能项目要想在企业中取得成功,就必须将人工智能系统的性能与整体业务性能联系起来。新的人工智能系统应该影响哪些业务绩效指标,例如广告收入、月活跃用户数量?
想象一下,您在一家关注购买率的电子商务网站工作,您想把您的推荐系统从批量预测转移到在线预测。3您的理由可能是,在线预测将使推荐更贴近用户,从而提高购买率。你甚至可以做一个实验,证明在线预测可以将你的推荐系统的预测准确率提高X%,而且在你的网站上,推荐系统的预测准确率每提高一个百分点,购买率就会提高一个百分点。
预测广告点击率和欺诈检测之所以成为当今最流行的人工智能用例,原因之一是很容易将人工智能模型的性能映射到业务指标上:点击率的每一次提高都会带来实际的广告收入,每阻止一次欺诈交易都会节省实际的资金。
许多公司创建了自己的指标,将业务指标映射到 ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access