机器学习流水线实战

Book description

正如自动化流水线给汽车制造业带来了质的改变,自动化机器学习流水线也能从根本上加速机器学习领域的发展。机器学习流水线实现了复用、管理和部署机器学习模型的标准化流程。数据科学家和机器学习工程师不仅能摆脱逐个手动构建和训练模型的“作坊式”工作流程,还能产出更可靠、更安全的模型。

本书带领你使用TensorFlow生态圈中的众多工具构建可复现的机器学习流水线,从而将模型部署时间从数天缩短为数分钟,有效地实现机器学习项目产品化。你将学习如下内容。

  • 了解机器学习流水线的构建步骤
  • 使用TensorFlow Extended(TFX)构建机器学习流水线
  • 使用Beam、Airflow、Kubeflow Pipelines编排流水线
  • 数据校验和数据预处理
  • 使用TensorFlow的模型分析工具
  • 检查模型的公平性
  • 使用TensorFlow Serving和TensorFlow Lite部署模型
  • 了解差分隐私、联邦学习和加密机器学习等隐私保护方法

Table of contents

  1. 封面
  2. 扉页
  3. 版权
  4. 版权声明
  5. O'Reilly Media, Inc.介绍
  6. 目录 (1/2)
  7. 目录 (2/2)
  8. 本书赞誉
  9. 前言
    1. 什么是机器学习流水线
    2. 读者对象
    3. 为什么选择TensorFlow和TensorFlow Extended
    4. 章节总览
    5. 排版约定
    6. 使用示例代码
    7. O’Reilly在线学习平台(O’Reilly Online Learning)
    8. 联系我们
    9. 致谢
    10. 电子书
  10. 第1章 入门
    1. 1.1 为什么要用机器学习流水线
    2. 1.2 什么时候考虑使用机器学习流水线
    3. 1.3 机器学习流水线步骤概述
      1. 1.3.1 数据读取和版本控制
      2. 1.3.2 数据校验
      3. 1.3.3 数据预处理
      4. 1.3.4 模型训练和模型调优
      5. 1.3.5 模型分析
      6. 1.3.6 模型版本控制
      7. 1.3.7 模型部署
      8. 1.3.8 反馈循环
      9. 1.3.9 数据隐私
    4. 1.4 流水线编排
      1. 1.4.1 为什么使用流水线编排工具
      2. 1.4.2 有向无环图
    5. 1.5 示例项目
      1. 1.5.1 项目结构
      2. 1.5.2 机器学习模型
      3. 1.5.3 示例项目的目标
    6. 1.6 小结
  11. 第2章 TensorFlow Extended入门
    1. 2.1 什么是TFX
    2. 2.2 安装TFX
    3. 2.3 TFX组件概述
    4. 2.4 什么是机器学习元数据
    5. 2.5 交互式流水线
    6. 2.6 TFX的替代品
    7. 2.7 Apache Beam简介
      1. 2.7.1 安装
      2. 2.7.2 基本数据流水线
      3. 2.7.3 执行流水线
    8. 2.8 小结
  12. 第3章 数据读取
    1. 3.1 数据读取的概念
      1. 3.1.1 读取本地数据文件
      2. 3.1.2 读取远程数据文件
      3. 3.1.3 直接从数据库中读取数据
    2. 3.2 数据准备
      1. 3.2.1 拆分数据集
      2. 3.2.2 跨越数据集
      3. 3.2.3 对数据集进行版本控制
    3. 3.3 数据读取策略
      1. 3.3.1 结构化数据
      2. 3.3.2 自然语言处理中的文本数据
      3. 3.3.3 用于计算机视觉问题的图像数据
    4. 3.4 小结
  13. 第4章 数据校验
    1. 4.1 为什么要进行数据校验
    2. 4.2 TFDV
      1. 4.2.1 安装
      2. 4.2.2 根据数据生成统计信息
      3. 4.2.3 从数据生成模式
    3. 4.3 识别数据中的问题
      1. 4.3.1 比较数据集
      2. 4.3.2 更新模式
      3. 4.3.3 数据偏斜和漂移
      4. 4.3.4 存在偏差的数据集
      5. 4.3.5 在TFDV中切分数据
    4. 4.4 使用GCP处理大型数据集
    5. 4.5 将TFDV集成到机器学习流水线中
    6. 4.6 小结
  14. 第5章 数据预处理
    1. 5.1 为什么要进行数据预处理
      1. 5.1.1 在整个数据集的上下文中预处理数据
      2. 5.1.2 扩展预处理步骤
      3. 5.1.3 避免训练–服务偏斜
      4. 5.1.4 将预处理步骤和机器学习模型作为一个工件进行部署
      5. 5.1.5 检查流水线中的预处理结果
    2. 5.2 使用TFT做数据预处理
      1. 5.2.1 安装
      2. 5.2.2 预处理策略
      3. 5.2.3 最佳实践
      4. 5.2.4 TFT 函数
      5. 5.2.5 TFT的独立执行
      6. 5.2.6 将TFT集成到机器学习流水线中
    3. 5.3 小结
  15. 第6章 模型训练
    1. 6.1 定义示例项目的模型
    2. 6.2 TFX Trainer组件
      1. 6.2.1 run_fn()函数
      2. 6.2.2 运行Trainer组件
      3. 6.2.3 其他关于Trainer组件的注意事项
    3. 6.3 在交互式流水线中使用TensorBoard
    4. 6.4 分布策略
    5. 6.5 模型调整
      1. 6.5.1 超参数调整的策略
      2. 6.5.2 TFX 流水线中的超参数调整
    6. 6.6 小结
  16. 第7章 模型分析和验证
    1. 7.1 如何分析模型
      1. 7.1.1 分类指标
      2. 7.1.2 回归指标
    2. 7.2 TensorFlow模型分析
      1. 7.2.1 用TFMA分析单个模型
      2. 7.2.2 用TFMA分析多个模型
    3. 7.3 模型公平性分析
      1. 7.3.1 用TFMA划分模型预测
      2. 7.3.2 用公平性指标检查决策阈值
      3. 7.3.3 详解假设分析工具
    4. 7.4 模型可解释性
      1. 7.4.1 使用WIT生成模型解释
      2. 7.4.2 其他模型解释方法
    5. 7.5 用TFX进行分析和验证
      1. 7.5.1 ResolverNode
      2. 7.5.2 Evaluator组件
      3. 7.5.3 用Evaluator组件进行验证
      4. 7.5.4 TFX Pusher组件
    6. 7.6 小结
  17. 第8章 用TensorFlow Serving部署模型
    1. 8.1 简单的模型服务器
    2. 8.2 基于Python API部署模型的缺点
      1. 8.2.1 缺少代码隔离
      2. 8.2.2 缺少模型版本控制
      3. 8.2.3 低效的模型推断
    3. 8.3 TensorFlow Serving
    4. 8.4 TensorFlow Serving架构概述
    5. 8.5 为TensorFlow Serving导出模型
    6. 8.6 模型签名
    7. 8.7 查看导出的模型
      1. 8.7.1 查看模型
      2. 8.7.2 测试模型
    8. 8.8 创建TensorFlow Serving
      1. 8.8.1 Docker安装
      2. 8.8.2 原生Ubuntu安装
      3. 8.8.3 从源码编译TensorFlow Serving
    9. 8.9 配置TensorFlow服务器
      1. 8.9.1 单一模型配置
      2. 8.9.2 多模型配置
    10. 8.10 REST与gRPC
      1. 8.10.1 REST
      2. 8.10.2 gRPC
    11. 8.11 用模型服务器预测
      1. 8.11.1 用REST获得模型预测
      2. 8.11.2 通过gRPC使用TensorFlow Serving
    12. 8.12 用TensorFlow Serving进行模型A/B测试
    13. 8.13 从模型服务器获取模型元数据
      1. 8.13.1 使用REST请求模型元数据
      2. 8.13.2 使用gRPC请求模型元数据
    14. 8.14 批量推算请求
    15. 8.15 配置批量预测
    16. 8.16 其他TensorFlow Serving优化方法
    17. 8.17 TensorFlow Serving的替代品
      1. 8.17.1 BentoML
      2. 8.17.2 Seldon
      3. 8.17.3 GraphPipe
      4. 8.17.4 Simple TensorFlow Serving
      5. 8.17.5 MLflow
      6. 8.17.6 Ray Serve
    18. 8.18 在云服务上部署
      1. 8.18.1 用例
      2. 8.18.2 在GCP上进行示例部署
    19. 8.19 使用TFX流水线进行模型部署
    20. 8.20 小结
  18. 第9章 使用TensorFlow Serving进行进阶模型部署
    1. 9.1 解耦部署环节
      1. 9.1.1 工作流概述
      2. 9.1.2 优化远程模型加载
    2. 9.2 为部署模型进行优化
      1. 9.2.1 量化
      2. 9.2.2 剪枝
      3. 9.2.3 蒸馏
    3. 9.3 在TensorFlow Serving中使用TensorRT
    4. 9.4 TFLite
      1. 9.4.1 用TFLite优化模型的步骤
      2. 9.4.2 使用TensorFlow Serving实例部署TFLite模型
    5. 9.5 监测TensorFlow Serving实例
      1. 9.5.1 设置Prometheus
      2. 9.5.2 TensorFlow Serving配置
    6. 9.6 使用TensorFlow Serving和Kubernetes进行简单的扩容
    7. 9.7 小结
  19. 第10章 TensorFlow Extended的高级功能
    1. 10.1 流水线的高级功能
      1. 10.1.1 同时训练多个模型
      2. 10.1.2 导出TFLite模型
      3. 10.1.3 热启动模型训练
    2. 10.2 人工审核
      1. 10.2.1 创建Slack组件
      2. 10.2.2 如何使用Slack组件
    3. 10.3 TFX自定义组件
      1. 10.3.1 自定义组件的应用场景
      2. 10.3.2 从零创建自定义组件
      3. 10.3.3 重复使用现有组件
    4. 10.4 小结
  20. 第11章 流水线第一部分:Apache Beam和Apache Airflow
    1. 11.1 选择哪种编排工具
      1. 11.1.1 Apache Beam
      2. 11.1.2 Apache Airflow
      3. 11.1.3 Kubeflow Pipeline
      4. 11.1.4 AI平台上的Kubeflow Pipeline
    2. 11.2 将交互式TFX流水线转换为生产流水线
    3. 11.3 Beam和Airflow的简单交互式流水线转换
    4. 11.4 Apache Beam简介
    5. 11.5 使用Apache Beam编排TFX流水线
    6. 11.6 Apache Airflow简介
      1. 11.6.1 安装和初始设置
      2. 11.6.2 基本Airflow示例
    7. 11.7 使用Apache Airflow编排TFX流水线
      1. 11.7.1 流水线设置
      2. 11.7.2 流水线的执行
    8. 11.8 小结
  21. 第12章 流水线第二部分:Kubeflow Pipelines
    1. 12.1 Kubeflow Pipelines概述
      1. 12.1.1 安装和初始设置
      2. 12.1.2 访问已安装的Kubeflow Pipelines
    2. 12.2 使用Kubeflow Pipelines编排TFX流水线
      1. 12.2.1 流水线设置
      2. 12.2.2 运行流水线
      3. 12.2.3 Kubeflow流水线的有用功能
    3. 12.3 基于谷歌云AI平台的流水线
      1. 12.3.1 流水线设置
      2. 12.3.2 TFX流水线设置
      3. 12.3.3 流水线的执行
    4. 12.4 小结
  22. 第13章 反馈循环
    1. 13.1 显式反馈和隐式反馈
      1. 13.1.1 数据飞轮
      2. 13.1.2 现实世界中的反馈循环
    2. 13.2 收集反馈的设计模式
      1. 13.2.1 用户根据预测采取了某些措施
      2. 13.2.2 用户对预测的质量进行评分
      3. 13.2.3 用户纠正预测
      4. 13.2.4 众包打标
      5. 13.2.5 专家打标
      6. 13.2.6 自动产生反馈
    3. 13.3 如何跟踪反馈循环
      1. 13.3.1 跟踪显式反馈
      2. 13.3.2 跟踪隐式反馈
    4. 13.4 小结
  23. 第14章 机器学习的数据隐私
    1. 14.1 数据隐私问题
      1. 14.1.1 为什么关心数据隐私
      2. 14.1.2 最简单的增加隐私的方法
      3. 14.1.3 哪些数据需要保密
    2. 14.2 差分隐私
      1. 14.2.1 局部差分隐私和全局差分隐私
      2. 14.2.2 Epsilon、Delta和隐私预算
      3. 14.2.3 机器学习的差分隐私
    3. 14.3 介绍TensorFlow Privacy
      1. 14.3.1 使用差分隐私优化器进行训练
      2. 14.3.2 计算Epsilon
    4. 14.4 联邦学习
    5. 14.5 加密机器学习
      1. 14.5.1 加密模型训练
      2. 14.5.2 将训练好的模型转换为加密的预测服务
    6. 14.6 其他数据保密方法
    7. 14.7 小结
  24. 第15章 流水线的未来和下一步
    1. 15.1 模型实验跟踪
    2. 15.2 关于模型发布管理的思考
    3. 15.3 未来的流水线能力
    4. 15.4 TFX与其他机器学习框架
    5. 15.5 测试机器学习模型
    6. 15.6 用于机器学习的CI/CD系统
    7. 15.7 机器学习工程社区
    8. 15.8 小结
  25. 附录A 机器学习基础架构简介 (1/3)
  26. 附录A 机器学习基础架构简介 (2/3)
  27. 附录A 机器学习基础架构简介 (3/3)
  28. 附录B 在谷歌云上设置Kubernetes集群 (1/2)
  29. 附录B 在谷歌云上设置Kubernetes集群 (2/2)
  30. 附录C 操作Kubeflow Pipelines的技巧 (1/2)
  31. 附录C 操作Kubeflow Pipelines的技巧 (2/2)
  32. 关于作者
  33. 关于封面

Product information

  • Title: 机器学习流水线实战
  • Author(s): Hannes Hapke, Catherine Nelson
  • Release date: November 2021
  • Publisher(s): Posts & Telecom Press
  • ISBN: 9787115573216

You might also like

book

SQL经典实例(第2版)

by Anthony Molinaro, Robert de Graaf

你或许熟悉SQL基础知识,但能否充分发挥它的强大威力呢?本书从实战角度展示SQL在查询之外的能力。你将学会用SQL进行统计分析,像使用商业智能工具那样制作报表,进行文本数据匹配,以及执行复杂的日期数据分析。本书的写作方式独树一帜,以160余个真实场景为例,提供了让你耳目一新的解决方案。书中的实例短小精悍,涵盖5种主流的关系数据库:Oracle、MySQL、SQL Server、PostgreSQL和DB2。 数据分析师、数据科学家和数据库管理员可以通过本书练习解决SQL问题的能力,并开拓思路。对于其他需要在日常工作中与SQL打交道的读者,本书也是弥足珍贵的参考书,有助于快速查找解决方案。 本书第2版做了如下更新。 全面修订了原有实例,帮助你巩固基础知识并充分利用各个SQL实现引入的窗口函数 新增了一些实例,旨在帮助你采用可读性更强、更容易实现的通用表表达式(CTE) 为非数据库专家(如数据科学家)量身定制了一些实例 扩展了处理数字和字符串的解决方案 包含更多标准解决方案

book

管理Kubernetes

by Brendan Burns, Craig Tracey

虽然Kubernetes极大地简化了部署容器化应用程序的工作,但每天管理这种编排框架仍然是一项复杂的工作。站点管理人员以及 开发运营工程师可以通过本书学习如何构建、操作、管理及升级 Kubernetes集群,无论这些集群位于云基础架构之上还是在企业内部。 本书的作者Brendan Burns是Kubernetes的联合创始人,而Craig Tracey 是Heptio的现场工程师。本书详细讲解了Kubernetes的内部工作原理,并向读者展示了如何通过维护、调整和改善集群来满足特定需求。你可以通过本书学习如何从设计集群、管理访问控制、监视和报警,以及升级Kubernetes等方面来综合考虑架构的选择,还可以 通过本书深入了解如何充分利用这种编排框架的功能。 “学习如何操作集群,开发人员如何利用Kubernetes部署应用程序,以及如何利用Kubernetes减轻开发人员的负担。 通过掌握Kubernetes API以及配置选项来调整、保护,以及调节集群。 检测集群级别的问题,学习必要的响应步骤并快速恢复集群。 确定如何以及何时添加构建、扩展或以其他方式改进 Kubernetes集群的库、工具和平台。

book

下一代空间计算:AR与VR创新理论与实践

by Erin Pangilinan, Steve Lukas, Vasanth Mohan

近年来,尽管AR与VR技术渐有流行之势,但实际上整个空间计算技术仍旧处在主流应用的前沿地带。现今,渴望涉足这一领域的开发者、艺术家与设计师们能够获得的专业指导少之又少。在本书中,Erin Pangilinan、Steve Lukas与Vasanth Mohan剖析了整条AR/VR技术开发流水线,并提供了实践教程来帮助你学习AR/VR的相关知识,以提升自身的专业技能。 本书通过循序渐进的教程,以理论为基础,以行业应用案例为背景,介绍如何构建实际的应用程序与体验。在本书的每一章节中,都会有行业专家(包括Timoni West、Victor Prisacariu、Nicolas Meuleau等)加入作者的行列,他们将揭示空间计算背后的技术内幕。 本书涵盖三大主题: 艺术设计:探索空间计算与交互设计、以人为本的交互与感官设计,以及数字艺术内容创作工具。 技术开发:研究ARKit、ARCore与基于空间映射的系统之间的差异;学习如何在头戴式显示设备上进行跨平台开发。 应用案例:理解数据与机器学习可视化及AI技术是如何运用在空间计算、教育培训、体育娱乐、医疗保健和其他行业应用之中的。

book

C++语言导学(原书第2版)

by 本贾尼 斯特劳斯特鲁普

本书简洁、自成体系,包含C++ 语言大多数主要特性和标准库组件。当然,这些并未深入介绍,而是给予程序员一个有意义的语言概述、一些关键的例子以及起步阶段的实用帮助。本书的目标不是教你如何编程,它也不可能是你精通C++ 的唯一资源。但是,如果你是一名C 或C++ 程序员,希望更加熟悉现在的C++ 语言,或者你是一名精通其他语言的程序员,希望获得有关现代C++ 语言本质和优点的精确描述,本书是最优选择。