机器学习流水线实战

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

大数据项目管理:从规划到实现

by Ted Malaska, Jonathan Seidman

许多公司会在大数据项目的实施细节上下很多功夫,例如研究分布式处理引擎和数据分析算法。这并没有错,但不要因为一棵树而错过整片森林。本书将为你打开更广阔的视野,展示如何从大数据项目的规划阶段开始,一步步走向成功。无论是首席信息官、首席技术官、项目经理,还是架构师和开发人员,都能通过本书得到 启迪。 开始规划:思考大数据项目的主要类型 评估和选择数据管理解决方案 降低与技术、团队、需求相关的风险 探索良好的接口设计模式 为项目选择合适的分布式存储系统 规划和实施元数据收集 使用数据管道确保数据完整性 根据并行处理引擎的特征评估处理框架

book

精通機器學習

by Aurélien Géron

建立智慧系統的概念、工具與技術 “這是一本卓越的機器學習資源,有清楚、直觀的解說,以及大量實用技巧。” —François Chollet Keras作者,《Deep Learning with Python》作者 “這本書詳細介紹以神經網路解決問題的理論與做法;建議想要實際運用ML的人都要看這本書。” —Pete Warden TensorFlow行動主管 深度學習經歷了一系列的突破之後,已經大幅推動了整個機器學習領域,如今,即使你對這項技術一無所知,也可以使用簡單、高效的工具,製作可從資料中學習的程式。這本暢銷書新版本使用具體的案例、精簡的理論,以及Python準生產框架,協助你直觀地認識智慧系統的概念與建構工具。 你將學到可快速上手的技術,只要具備程式編寫經驗,就可以藉由各章的習題來學習。你可以在GitHub取得本書的所有程式碼,這些程式已經更新為TensorFlow 2,以及最新版的Scikit-Learn。 使用Scikit-Learn與pandas,透過端對端專案建立機器學習基礎 …

book

Go程序设计语言

by 艾伦A. A.多诺万, 布莱恩W. 柯尼汉

本书由《C程序设计语言》的作者Kernighan和谷歌公司Go团队主管Alan Donovan联袂撰写,是学习Go语言程序设计的权威指南。本书共13章,主要内容包括:Go的基础知识、基本结构、基本数据类型、复合数据类型、函数、方法、接口、goroutine、通道、共享变量的并发性、包、go工具、测试、反射等。

book

商战数据挖掘:你需要了解的数据科学与分析思维

by Foster Provost, Tom Fawcett

在现代社会中,数据即商业,它是提升生产力、促进创新和获取用户洞见的基础,数据思维和分析方法可谓是新时代的商战孙子兵法,只有善用数据者才能在这个数据驱动的环境中获得竞争优势。本书通过大量真实的商业问题案例,介绍数据科学的基本原理和各种数据挖掘技术,阐释如何从数据中提取出有用信息,进而用数据科学方法解决商业问题,做出精准的决策。