构建可靠的机器学习系统
构建可靠的机器学习系统
Cathy Chen, Niall Richard Murphy, Kranti Parisa, D. Sculley, Todd Underwood
林然, 王薇, 王祎, 秦正一 译
出版时间:2025年04月
“在你将基于机器学习的真实系统投入部署之前,阅读这本书会让你受益匪浅 —— 你可以放心,书中内容源自数十年来之不易的经验总结。”
——Andrew Moore
Google Cloud AI副总裁兼总经理
无论你是小型初创企业的一员,还是跨国公司的一分子,这本实用书籍都将为数据科学家、软件工程师、站点可靠性工程师、产品经理以及企业主指明方向——如何在组织内部可靠、高效且负责地运行和建立机器学习体系。从如何在生产环境中进行模型监测,到如何在产品型组织中管理一支运转良好的模型开发团队,你将深入了解方方面面的内容。
通过将站点可靠性工程(SRE)理念应用于机器学习领域,本书作者、工程领域专业人士Cathy Chen、Kranti Parisa、Niall Richard Murphy、D. Sculley、Todd Underwood,以及特邀客座作者,将向你展示如何运行一个高效且可靠的机器学习系统。无论你是想增加收入、优化决策制定、解决问题,还是理解并影响客户行为,你都将学会如何在着眼大局的同时,执行日常的机器学习任务。
通过学习本书,你将了解:
● 机器学习是什么:它如何运作以及依赖什么。
● 用于理解机器学习 “循环” 如何工作的概念框架。
● 有效的产品化如何使你的机器学习系统易于监控、部署和操作。
● 为什么机器学习系统会使生产故障排查变得更困难,以及如何相应地应对。
● 机器学习团队、产品团队和生产团队如何进行有效沟通。
  1. 前言
  2. 第1章 引言
  3. 1.1 机器学习的生命周期
  4. 1.1.1 数据收集与分析
  5. 1.1.2 机器学习训练管道
  6. 1.1.3 构建与验证应用程序
  7. 1.1.4 质量和性能评估
  8. 1.1.5 定义与度量服务等级目标
  9. 1.1.6 发布
  10. 1.1.7 监控和反馈循环
  11. 1.2 循环中的教训
  12. 第2章 数据管理原则
  13. 2.1 数据即责任
  14. 2.2 机器学习管道的数据敏感性
  15. 2.3 数据的阶段
  16. 2.3.1 创建
  17. 2.3.2 提取
  18. 2.3.3 处理
  19. 2.3.4 存储
  20. 2.3.5 管理
  21. 2.3.6 分析与可视化
  22. 2.4 数据可靠性
  23. 2.4.1 持久性
  24. 2.4.2 一致性
  25. 2.4.3 版本控制
  26. 2.4.4 性能
  27. 2.4.5 可用性
  28. 2.5 数据完整性
  29. 2.5.1 安全性
  30. 2.5.2 隐私
  31. 2.5.3 政策与合规
  32. 2.6 总结
  33. 第3章 模型的基本介绍
  34. 3.1 什么是模型
  35. 3.2 基本的模型创建工作流
  36. 3.3 模型架构、模型定义与训练过的模型
  37. 3.4 漏洞在哪里
  38. 3.4.1 训练数据
  39. 3.4.2 标签
  40. 3.4.3 训练方法
  41. 3.5 基础设施及管道
  42. 3.5.1 平台
  43. 3.5.2 特征生成
  44. 3.5.3 升级和修复
  45. 3.6 对任何模型提出的一系列实用问题
  46. 3.7 一个机器学习系统示例
  47. 3.7.1 纱线产品点击预测模型
  48. 3.7.2 特征
  49. 3.7.3 特征标签
  50. 3.7.4 模型更新
  51. 3.7.5 模型服务
  52. 3.7.6 常见故障
  53. 3.8 总结
  54. 第4章 特征与训练数据
  55. 4.1 特征
  56. 4.1.1 特征选择和工程
  57. 4.1.2 特征的生命周期
  58. 4.1.3 特征系统
  59. 4.2 标签
  60. 4.3 人工生成的标签
  61. 4.3.1 标注劳动力
  62. 4.3.2 衡量人工标注质量
  63. 4.3.3 标注平台
  64. 4.3.4 主动学习和AI辅助标注
  65. 4.3.5 文档和标注员培训
  66. 4.4 元数据
  67. 4.4.1 元数据系统概述
  68. 4.4.2 数据集元数据
  69. 4.4.3 特征元数据
  70. 4.4.4 标签元数据
  71. 4.4.5 管道元数据
  72. 4.5 数据隐私和公平性
  73. 4.5.1 隐私
  74. 4.5.2 公平性
  75. 4.6 总结
  76. 第5章 评估模型的有效性和质量
  77. 5.1 评估模型的有效性
  78. 5.2 评估模型质量
  79. 5.2.1 离线评估
  80. 5.2.2 评估分布
  81. 5.2.3 一些有用的指标
  82. 5.3 实施验证和评估
  83. 5.4 总结
  84. 第6章 机器学习系统中的公平性、隐私和道德
  85. 6.1 公平性
  86. 6.1.1 公平性的定义
  87. 6.1.2 达到公平
  88. 6.1.3 公平是一个过程而不是终点
  89. 6.1.4 简短的法律说明
  90. 6.2 隐私
  91. 6.2.1 保护隐私的方法
  92. 6.2.2 简短的法律说明
  93. 6.3 负责任的AI
  94. 6.3.1 模型解释
  95. 6.3.2 有效性
  96. 6.3.3 社会和文化适当性
  97. 6.4 机器学习管道中负责任的AI
  98. 6.4.1 用例头脑风暴
  99. 6.4.2 数据收集和清洗
  100. 6.4.3 模型创建和训练
  101. 6.4.4 模型验证和质量评估
  102. 6.4.5 模型部署
  103. 6.4.6 市场产品
  104. 6.5 总结
  105. 第7章 训练系统
  106. 7.1 需求
  107. 7.2 基本训练系统的实施
  108. 7.2.1 特征
  109. 7.2.2 特征存储
  110. 7.2.3 模型管理系统
  111. 7.2.4 编排
  112. 7.2.5 质量评估
  113. 7.2.6 监控
  114. 7.3 一般可靠性原则
  115. 7.3.1 大多数失败不会是机器学习失败
  116. 7.3.2 模型将被重新训练
  117. 7.3.3 模型将同时有多个版本
  118. 7.3.4 好的模型会变坏
  119. 7.3.5 数据将不可用
  120. 7.3.6 模型应该是可改进的
  121. 7.3.7 特征会添加和更改
  122. 7.3.8 模型可能训练得过快
  123. 7.3.9 资源利用很重要
  124. 7.3.10 利用率!=效率
  125. 7.3.11 中断包括恢复时间
  126. 7.4 常见的训练可靠性问题
  127. 7.4.1 数据敏感性
  128. 7.4.2 YarnIt的数据问题示例
  129. 7.4.3 可重现性
  130. 7.4.4 YarnIt的可重现性问题示例
  131. 7.4.5 计算资源量
  132. 7.4.6 YarnIt的资源量问题示例
  133. 7.5 结构可靠性
  134. 7.5.1 组织挑战
  135. 7.5.2 道德和公平性考虑
  136. 7.6 总结
  137. 第8章 服务
  138. 8.1 模型服务的关键问题
  139. 8.1.1 我们模型的负载是什么
  140. 8.1.2 我们模型的预测延迟需求是多少
  141. 8.1.3 模型在哪里运行
  142. 8.1.4 我们的模型需要怎样的硬件
  143. 8.1.5 服务模型要如何存储、加载、版本控制和更新
  144. 8.1.6 用于服务的特征管道是什么样子的
  145. 8.2 模型服务架构
  146. 8.2.1 离线服务(批量推理)
  147. 8.2.2 在线服务(在线推理)
  148. 8.2.3 模型即服务
  149. 8.2.4 边缘服务
  150. 8.2.5 选择架构
  151. 8.3 模型API设计
  152. 8.4 服务于准确性还是弹性
  153. 8.5 扩展
  154. 8.5.1 弹性伸缩
  155. 8.5.2 缓存
  156. 8.6 灾难恢复
  157. 8.7 道德和公平性考虑
  158. 8.8 总结
  159. 第9章 模型的监控和可观测性
  160. 9.1 什么是生产环境监控以及为什么要这么做
  161. 9.1.1 它是什么样的
  162. 9.1.2 机器学习为监控带来的问题
  163. 9.1.3 为何在生产中需要持续的机器学习可观测性
  164. 9.2 机器学习生产监控中的问题
  165. 9.2.1 开发的难点与服务的难点
  166. 9.2.2 需要在观念上有所转变
  167. 9.3 机器学习模型监控的最佳实践
  168. 9.3.1 通用的预服务模型建议
  169. 9.3.2 训练与重新训练
  170. 9.3.3 模型验证(试运行前)
  171. 9.3.4 服务
  172. 9.3.5 其他需要考虑的事情
  173. 9.3.6 监控策略的高层级建议
  174. 9.4 总结
  175. 第10章 持续机器学习
  176. 10.1 剖析持续机器学习系统
  177. 10.1.1 训练样本
  178. 10.1.2 训练标签
  179. 10.1.3 过滤掉坏数据
  180. 10.1.4 特征存储和数据管理
  181. 10.1.5模型更新
  182. 10.1.6将更新后的模型推送到服务中
  183. 10.2 对持续机器学习系统的观察
  184. 10.2.1 外部世界的事件可能影响我们的系统
  185. 10.2.2 模型可以影响其自身的训练数据
  186. 10.2.3时间效应会出现在多种时间维度上
  187. 10.2.4 应急响应必须实时进行
  188. 10.2.5 新发布需要分阶段的提升和稳定的基线
  189. 10.2.6 模型必须被管理,而不是交付即完成
  190. 10.3 持续性组织
  191. 10.4 重新思考非持续机器学习系统
  192. 10.5总结
  193. 第11章 事故响应
  194. 11.1 事故管理基础
  195. 11.1.1 事故的生命周期
  196. 11.1.2 事故响应角色
  197. 11.2 剖析以机器学习为中心的故障
  198. 11.3术语提醒:模型
  199. 11.4 故事时间
  200. 11.4.1 故事1:搜索但没有找到
  201. 11.4.2 故事2:突然间无用的伙伴
  202. 11.4.3 故事3:推荐你寻找新的供应商
  203. 11.5 机器学习事故管理原则
  204. 11.5.1 指导原则
  205. 11.5.2模型开发人员或数据科学家
  206. 11.5.3 软件工程师
  207. 11.5.4 机器学习站点可靠性工程师或机器学习生产工程师
  208. 11.5.5 产品经理或业务负责人
  209. 11.6 特殊话题
  210. 11.6.1 生产工程师以及机器学习工程与建模
  211. 11.6.2 符合道德的待命工程师宣言
  212. 11.7 总结
  213. 第12章 产品和机器学习如何交互
  214. 12.1 不同类型的产品
  215. 12.2 敏捷机器学习
  216. 12.3 机器学习产品开发阶段
  217. 12.3.1 发现和定义
  218. 12.3.2 业务目标设定
  219. 12.3.3 MVP构建和验证
  220. 12.3.4 模型和产品开发
  221. 12.3.5 部署
  222. 12.3.6 支持和维护
  223. 12.4 构建还是购买
  224. 12.4.1 模型
  225. 12.4.2 数据处理基础设施
  226. 12.4.3 端到端平台
  227. 12.4.4 用以做出决策的评分方法
  228. 12.4.5 做出决策
  229. 12.5 由机器学习提供支持的样例YarnIt商店功能
  230. 12.5.1 按总销售额展示受欢迎的纱线
  231. 12.5.2 基于浏览历史的推荐
  232. 12.5.3 交叉销售和向上销售
  233. 12.5.4 基于内容的过滤
  234. 12.5.5 协同过滤
  235. 12.6 总结
  236. 第13章 将机器学习集成到你的组织中
  237. 13.1 本章假设
  238. 13.1.1 基于领导者的视角
  239. 13.1.2 细节很重要
  240. 13.1.3 机器学习需要了解业务
  241. 13.1.4 你做出的最重要的假设
  242. 13.1.5 机器学习的价值
  243. 13.2 重大组织风险
  244. 13.2.1 机器学习不是魔法
  245. 13.2.2 思维模型惯性
  246. 13.2.3 在不同文化中正确表述风险
  247. 13.2.4 孤立的团队并不能解决所有问题
  248. 13.3 实施模型
  249. 13.3.1 记住目标
  250. 13.3.2 绿地还是棕地
  251. 13.3.3 机器学习的角色和职责
  252. 13.3.4 如何雇用机器学习人员
  253. 13.4 组织设计和激励
  254. 13.4.1 战略
  255. 13.4.2 结构
  256. 13.4.3 流程
  257. 13.4.4 奖励
  258. 13.4.5 人员
  259. 13.4.6 关于排序的说明
  260. 13.5 总结
  261. 第14章 实用的机器学习组织实施示例
  262. 14.1 场景1:一个新的集中式机器学习团队
  263. 14.1.1 背景和组织描述
  264. 14.1.2 流程
  265. 14.1.3 奖励
  266. 14.1.4 人员
  267. 14.1.5 默认实施
  268. 14.2 场景2:分散式机器学习基础设施和专业知识
  269. 14.2.1 背景和组织描述
  270. 14.2.2 流程
  271. 14.2.3 奖励
  272. 14.2.4 人员
  273. 14.2.5 默认实施
  274. 14.3 场景3:混合使用集中式基础设施/分散式建模
  275. 14.3.1 背景和组织描述
  276. 14.3.2 流程
  277. 14.3.3 奖励
  278. 14.3.4 人员
  279. 14.3.5 默认实施
  280. 14.4 总结
  281. 第15章 案例研究:实践中的MLOps
  282. 15.1 在机器学习管道中适应隐私和数据保留政策
  283. 15.1.1 背景
  284. 15.1.2问题和解决方案
  285. 15.1.3 要点
  286. 15.2 影响流量的持续机器学习模型
  287. 15.2.1 背景
  288. 15.2.2 问题和解决方案
  289. 15.2.3 要点
  290. 15.3 钢材检测
  291. 15.3.1 背景
  292. 15.3.2 问题和解决方案
  293. 15.3.3 要点
  294. 15.4 NLP MLOps:性能分析和分阶段负载测试
  295. 15.4.1 背景
  296. 15.4.2 问题和解决方案
  297. 15.4.3 要点
  298. 15.5 广告点击预测:数据库与现实
  299. 15.5.1 背景
  300. 15.5.2 问题和解决方案
  301. 15.5.3 要点
  302. 15.6 在机器学习工作流中测试和测量依赖关系
  303. 15.6.1 背景
  304. 15.6.2 问题和解决方案
  305. 15.6.3 要点
书名:构建可靠的机器学习系统
译者:林然, 王薇, 王祎, 秦正一 译
国内出版社:机械工业出版社
出版时间:2025年04月
书号:978-7-111-77218-7
原版书书名:Reliable Machine Learning
原版书出版商:O'Reilly Media
Cathy Chen
 
Cathy Chen曾在Google担任技术项目经理、产品经理和工程经理。
 
 
Niall Richard Murphy
 
Niall Richard Murphy是Google网站可靠性工程组织里曾经和现任的成员,他们的职责是关注和维护Google的生产系统。
 
 
Kranti Parisa
 
Kranti Parisa是Dialpad的副总裁兼产品工程主管。
 
 
D. Sculley
 
D. Sculley是Kaggle的首席执行官和Google第三方机器学习生态系统的总经理。
 
 
Todd Underwood
 
Todd Underwood是Google的高级主管以及机器学习SRE的创始人。
 
 
本书封面上的昆虫是蜜罐蚁(Myrmecocystus mimicus),分布于北美西南部和墨西哥部分地区。
与其他蚂蚁类似,蜜罐蚁的蚁群由各种工蚁组成,它们从花朵、水果和其他昆虫中觅食。蜜罐蚁最引入注目的是它们储存食物的方式。蚁群中的一种工蚁长着巨大的腹部,用来储存它们所获取的液体。在食物供应不足的时候,它们会反刍出液体供其他蚁群食用。由于腹部很大,它们移动起来很困难,所以经常被发现挂在巢顶。
购买选项
定价:139.00元
书号:978-7-111-77218-7
出版社:机械工业出版社