机器学习流水线实战
Hannes Hapke, Catherine Nelson
孔晓泉, 郑炜, 江骏 译
出版时间:2021年11月
页数:276
正如自动化流水线给汽车制造业带来了质的改变,自动化机器学习流水线也能从根本上加速机器学习领域的发展。机器学习流水线实现了复用、管理和部署机器学习模型的标准化流程。数据科学家和机器学习工程师不仅能摆脱逐个手动构建和训练模型的 “作坊式” 工作流程,还能产出更可靠、更安全的模型。
本书带领你使用TensorFlow生态圈中的众多工具构建可复现的机器学习流水线,从而将模型部署时间从数天缩短为数分钟,有效地实现机器学习项目产品化。你将学习如下内容。
● 了解机器学习流水线的构建步骤
● 使用TensorFlow Extended(TFX)构建机器学习流水线
● 使用Beam、Airflow、Kubeflow Pipelines编排流水线
● 数据校验和数据预处理
● 使用TensorFlow的模型分析工具
● 检查模型的公平性
● 使用TensorFlow Serving和TensorFlow Lite部署模型
● 了解差分隐私、联邦学习和加密机器学习等隐私保护方法
  1. 本书赞誉
  2. 序 
  3. 前言 
  4. 第1章 入门 
  5. 1.1 为什么要用机器学习流水线 
  6. 1.2 什么时候考虑使用机器学习流水线 
  7. 1.3 机器学习流水线步骤概述 
  8. 1.3.1 数据读取和版本控制 
  9. 1.3.2 数据校验
  10. 1.3.3 数据预处理 
  11. 1.3.4 模型训练和模型调优 
  12. 1.3.5 模型分析 
  13. 1.3.6 模型版本控制 
  14. 1.3.7 模型部署 
  15. 1.3.8 反馈循环 
  16. 1.3.9 数据隐私 
  17. 1.4 流水线编排 
  18. 1.4.1 为什么使用流水线编排工具 
  19. 1.4.2 有向无环图 
  20. 1.5 示例项目 
  21. 1.5.1 项目结构 
  22. 1.5.2 机器学习模型 
  23. 1.5.3 示例项目的目标 
  24. 1.6 小结 
  25. 第2章 TensorFlow Extended入门 
  26. 2.1 什么是TFX 
  27. 2.2 安装TFX 
  28. 2.3 TFX组件概述 
  29. 2.4 什么是机器学习元数据 
  30. 2.5 交互式流水线 
  31. 2.6 TFX的替代品 
  32. 2.7 Apache Beam简介 
  33. 2.7.1 安装 
  34. 2.7.2 基本数据流水线 
  35. 2.7.3 执行流水线 
  36. 2.8 小结 
  37. 第3章 数据读取 
  38. 3.1 数据读取的概念 
  39. 3.1.1 读取本地数据文件 
  40. 3.1.2 读取远程数据文件 
  41. 3.1.3 直接从数据库中读取数据 
  42. 3.2 数据准备 
  43. 3.2.1 拆分数据集 
  44. 3.2.2 跨越数据集 
  45. 3.2.3 对数据集进行版本控制 
  46. 3.3 数据读取策略 
  47. 3.3.1 结构化数据 
  48. 3.3.2 自然语言处理中的文本数据 
  49. 3.3.3 用于计算机视觉问题的图像数据 
  50. 3.4 小结 
  51. 第4章 数据校验 
  52. 4.1 为什么要进行数据校验 
  53. 4.2 TFDV 
  54. 4.2.1 安装 
  55. 4.2.2 根据数据生成统计信息 
  56. 4.2.3 从数据生成模式 
  57. 4.3 识别数据中的问题 
  58. 4.3.1 比较数据集 
  59. 4.3.2 更新模式 
  60. 4.3.3 数据偏斜和漂移 
  61. 4.3.4 存在偏差的数据集 
  62. 4.3.5 在TFDV中切分数据 
  63. 4.4 使用GCP处理大型数据集 
  64. 4.5 将TFDV集成到机器学习流水线中 
  65. 4.6 小结 
  66. 第5章 数据预处理 
  67. 5.1 为什么要进行数据预处理 
  68. 5.1.1 在整个数据集的上下文中预处理数据 
  69. 5.1.2 扩展预处理步骤 
  70. 5.1.3 避免训练–服务偏斜 
  71. 5.1.4 将预处理步骤和机器学习模型作为一个工件进行部署 
  72. 5.1.5 检查流水线中的预处理结果 
  73. 5.2 使用TFT做数据预处理 
  74. 5.2.1 安装 
  75. 5.2.2 预处理策略 
  76. 5.2.3 最佳实践 
  77. 5.2.4 TFT函数 
  78. 5.2.5 TFT的独立执行 
  79. 5.2.6 将TFT集成到机器学习流水线中 
  80. 5.3 小结 
  81. 第6章 模型训练 
  82. 6.1 定义示例项目的模型 
  83. 6.2 TFX Trainer组件 
  84. 6.2.1 run_fn()函数 
  85. 6.2.2 运行Trainer组件 
  86. 6.2.3 其他关于Trainer组件的注意事项 
  87. 6.3 在交互式流水线中使用TensorBoard 
  88. 6.4 分布策略 
  89. 6.5 模型调整 
  90. 6.5.1 超参数调整的策略 
  91. 6.5.2 TFX流水线中的超参数调整 
  92. 6.6 小结 
  93. 第7章 模型分析和模型验证 
  94. 7.1 如何分析模型 
  95. 7.1.1 分类指标 
  96. 7.1.2 回归指标 
  97. 7.2 TensorFlow模型分析 
  98. 7.2.1 用TFMA分析单个模型 
  99. 7.2.2 用TFMA分析多个模型 
  100. 7.3 模型公平性分析 
  101. 7.3.1 用TFMA划分模型预测 
  102. 7.3.2 用公平性指标检查决策阈值 
  103. 7.3.3 详解假设分析工具 
  104. 7.4 模型可解释性 
  105. 7.4.1 使用WIT生成模型解释 
  106. 7.4.2 其他模型解释方法 
  107. 7.5 用TFX进行分析和验证 
  108. 7.5.1 ResolverNode 
  109. 7.5.2 Evaluator组件 
  110. 7.5.3 用Evaluator组件进行验证 
  111. 7.5.4 TFX Pusher组件 108
  112. 7.6 小结 
  113. 第8章 用TensorFlow Serving部署模型 
  114. 8.1 简单的模型服务器 
  115. 8.2 基于Python API部署模型的缺点 
  116. 8.2.1 缺少代码隔离 
  117. 8.2.2 缺少模型版本控制 
  118. 8.2.3 低效的模型推算 
  119. 8.3 TensorFlow Serving 
  120. 8.4 TensorFlow Serving架构概述 
  121. 8.5 为TensorFlow Serving导出模型 
  122. 8.6 模型签名 
  123. 8.7 查看导出的模型 
  124. 8.7.1 查看模型 
  125. 8.7.2 测试模型 
  126. 8.8 设置TensorFlow Serving 
  127. 8.8.1 Docker安装 
  128. 8.8.2 原生Ubuntu安装 
  129. 8.8.3 从源码编译TensorFlow Serving 
  130. 8.9 配置TensorFlow服务器 
  131. 8.9.1 单一模型配置 
  132. 8.9.2 多模型配置 
  133. 8.10 REST与gRPC 
  134. 8.10.1 REST 
  135. 8.10.2 gRPC 
  136. 8.11 用模型服务器预测 
  137. 8.11.1 用REST获得模型预测 
  138. 8.11.2 通过gRPC使用TensorFlow Serving 
  139. 8.12 用TensorFlow Serving进行模型A/B测试 
  140. 8.13 从模型服务器获取模型元数据 
  141. 8.13.1 使用REST请求模型元数据 
  142. 8.13.2 使用gRPC请求模型元数据 
  143. 8.14 批量推算请求 
  144. 8.15 配置批量预测 
  145. 8.16 其他TensorFlow Serving优化方法 
  146. 8.17 TensorFlow Serving的替代品 
  147. 8.17.1 BentoML 
  148. 8.17.2 Seldon 
  149. 8.17.3 GraphPipe 
  150. 8.17.4 Simple TensorFlow Serving 
  151. 8.17.5 MLflow 
  152. 8.17.6 Ray Serve 
  153. 8.18 在云端部署 
  154. 8.18.1 用例 
  155. 8.18.2 在GCP上进行示例部署 
  156. 8.19 使用TFX流水线进行模型部署 
  157. 8.20 小结 
  158. 第9章 使用TensorFlow Serving进行进阶模型部署 
  159. 9.1 解耦部署环节 
  160. 9.1.1 工作流概述 
  161. 9.1.2 优化远程模型加载 
  162. 9.2 为部署模型进行优化 
  163. 9.2.1 量化 
  164. 9.2.2 剪枝 
  165. 9.2.3 蒸馏 
  166. 9.3 在TensorFlow Serving中使用TensorRT 
  167. 9.4 TFLite 
  168. 9.4.1 用TFLite优化模型的步骤 
  169. 9.4.2 使用TensorFlow Serving实例部署TFLite模型 
  170. 9.5 监测TensorFlow Serving实例 
  171. 9.5.1 设置Prometheus 
  172. 9.5.2 TensorFlow Serving配置 
  173. 9.6 使用TensorFlow Serving和Kubernetes进行简单的扩容 
  174. 9.7 小结 
  175. 第10章 TensorFlow Extended的高级功能 
  176. 10.1 流水线的高级功能 
  177. 10.1.1 同时训练多个模型 
  178. 10.1.2 导出TFLite模型 
  179. 10.1.3 热启动模型训练 
  180. 10.2 人工审核 
  181. 10.2.1 创建Slack组件 
  182. 10.2.2 如何使用Slack组件 
  183. 10.3 TFX自定义组件 
  184. 10.3.1 自定义组件的应用场景 
  185. 10.3.2 从零创建自定义组件 
  186. 10.3.3 复用现有组件 
  187. 10.4 小结 
  188. 第11章 流水线第 一部分:Apache Beam和Apache Airflow 
  189. 11.1 选择哪种编排工具 
  190. 11.1.1 Apache Beam 
  191. 11.1.2 Apache Airflow 
  192. 11.1.3 Kubeflow Pipelines 
  193. 11.1.4 AI Platform上的Kubeflow Pipelines 
  194. 11.2 将交互式TFX流水线转换为生产流水线 
  195. 11.3 Beam和Airflow的简单交互式流水线转换 
  196. 11.4 Apache Beam简介 
  197. 11.5 使用Apache Beam编排TFX流水线 
  198. 11.6 Apache Airflow简介 
  199. 11.6.1 安装和初始设置 
  200. 11.6.2 基本Airflow示例 
  201. 11.7 使用Apache Airflow编排TFX流水线 
  202. 11.7.1 流水线设置 
  203. 11.7.2 运行流水线 
  204. 11.8 小结 
  205. 第12章 流水线第二部分:Kubeflow Pipelines 
  206. 12.1 Kubeflow Pipelines概述 
  207. 12.1.1 安装和初始设置 
  208. 12.1.2 访问已安装的Kubeflow Pipelines 
  209. 12.2 使用Kubeflow Pipelines编排TFX流水线 
  210. 12.2.1 流水线设置 
  211. 12.2.2 运行流水线 
  212. 12.2.3 Kubeflow Pipelines的有用功能 
  213. 12.3 基于Google Cloud AI Platform的流水线 
  214. 12.3.1 流水线设置 
  215. 12.3.2 TFX流水线设置 
  216. 12.3.3 运行流水线 
  217. 12.4 小结 
  218. 第13章 反馈循环 
  219. 13.1 显式反馈和隐式反馈 
  220. 13.1.1 数据飞轮 
  221. 13.1.2 现实世界中的反馈循环 
  222. 13.2 收集反馈的设计模式 
  223. 13.2.1 用户根据预测采取了某些措施 
  224. 13.2.2 用户对预测的质量进行评分 
  225. 13.2.3 用户纠正预测 
  226. 13.2.4 众包打标 
  227. 13.2.5 专家打标 
  228. 13.2.6 自动产生反馈 
  229. 13.3 如何跟踪反馈循环 
  230. 13.3.1 跟踪显式反馈 
  231. 13.3.2 跟踪隐式反馈 
  232. 13.4 小结 
  233. 第14章 机器学习的数据隐私 
  234. 14.1 数据隐私问题 
  235. 14.1.1 为什么关心数据隐私 
  236. 14.1.2 最简单的加强隐私保护的方法 
  237. 14.1.3 哪些数据需要保密 
  238. 14.2 差分隐私 
  239. 14.2.1 局部差分隐私和全局差分隐私 
  240. 14.2.2 epsilon、delta和隐私预算 
  241. 14.2.3 机器学习的差分隐私 
  242. 14.3 TensorFlow Privacy 
  243. 14.3.1 使用差分隐私优化器进行训练 
  244. 14.3.2 计算epsilon 
  245. 14.4 联邦学习 
  246. 14.5 加密机器学习 
  247. 14.5.1 加密模型训练 
  248. 14.5.2 将训练好的模型转换为加密的预测服务 
  249. 14.6 其他数据保密方法 
  250. 14.7 小结 
  251. 第15章 流水线的未来和下一步 
  252. 15.1 模型实验跟踪 
  253. 15.2 关于模型发布管理的思考 
  254. 15.3 未来的流水线能力 
  255. 15.4 TFX与其他机器学习框架 
  256. 15.5 测试机器学习模型 
  257. 15.6 用于机器学习的CI/CD系统 
  258. 15.7 机器学习工程社区 
  259. 15.8 小结 
  260. 附录A 机器学习基础架构简介 
  261. 附录B 在Google Cloud上设置Kubernetes集群 
  262. 附录C 操作Kubeflow Pipelines的技巧 
书名:机器学习流水线实战
译者:孔晓泉, 郑炜, 江骏 译
国内出版社:人民邮电出版社
出版时间:2021年11月
页数:276
书号:978-7-115-57321-6
原版书书名:Building Machine Learning Pipelines
原版书出版商:O'Reilly Media
Hannes Hapke
 
汉内斯·哈普克(Hannes Hapke),数据科学家,善于解决各行各业的机器学习问题,与他人合著有《自然语言处理实战》。
 
 
Catherine Nelson
 
凯瑟琳·纳尔逊(Catherine Nelson),数据科学家,牛津大学硕士,长期
为企业提供机器学习解决方案。
 
 
购买选项
定价:109.80元
书号:978-7-115-57321-6
出版社:人民邮电出版社