机器学习流水线实战

副标题:无

作   者:(美)汉内斯·哈普克(Hannes Hapke) (美)凯瑟琳·纳尔逊(Cath

分类号:

ISBN:9787115573216

微信扫一扫,移动浏览光盘

简介

本书介绍如何构建完整的机器学习流水线,从而在生产环境中准备数据以及训练、验证、部署和管理机器学习模型。你将了解机器学习流水线的每个环节,以及如何利用TensorFlow Extended(TFX)构建机器学习流水线。模型的生命周期是一个闭环,其中包括数据读取、数据校验、数据预处理、模型训练、模型分析、模型验证、模型部署、模型反馈等环节。你将学习如何利用Beam、Airflow、Kubeflow、TensorFlow Serving等工具将每一个环节的工作自动化。学完本书,你将不再止步于训练单个模型,而是能够从更高的角度将模型产品化,从而为公司创造更大的价值。

目录


本书赞誉 xiii

序 xv

前言 xvii

第 1 章 入门 1

1.1 为什么要用机器学习流水线 1

1.2 什么时候考虑使用机器学习流水线 2

1.3 机器学习流水线步骤概述 3

1.3.1 数据读取和版本控制 4

1.3.2 数据校验 4

1.3.3 数据预处理 4

1.3.4 模型训练和模型调优 5

1.3.5 模型分析 5

1.3.6 模型版本控制 5

1.3.7 模型部署 6

1.3.8 反馈循环 6

1.3.9 数据隐私 6

1.4 流水线编排 7

1.4.1 为什么使用流水线编排工具 7

1.4.2 有向无环图 7

1.5 示例项目 8

1.5.1 项目结构 9

1.5.2 机器学习模型 9

1.5.3 示例项目的目标 10

1.6 小结 10

第 2 章 TensorFlow Extended入门 11

2.1 什么是TFX 12

2.2 安装TFX 13

2.3 TFX组件概述 14

2.4 什么是机器学习元数据 15

2.5 交互式流水线 16

2.6 TFX的替代品 17

2.7 Apache Beam简介 18

2.7.1 安装 18

2.7.2 基本数据流水线 19

2.7.3 执行流水线 22

2.8 小结 22

第 3 章 数据读取 23

3.1 数据读取的概念 23

3.1.1 读取本地数据文件 24

3.1.2 读取远程数据文件 29

3.1.3 直接从数据库中读取数据 29

3.2 数据准备 31

3.2.1 拆分数据集 31

3.2.2 跨越数据集 33

3.2.3 对数据集进行版本控制 34

3.3 数据读取策略 34

3.3.1 结构化数据 35

3.3.2 自然语言处理中的文本数据 35

3.3.3 用于计算机视觉问题的图像数据 35

3.4 小结 36

第 4 章 数据校验 37

4.1 为什么要进行数据校验 38

4.2 TFDV 39

4.2.1 安装 39

4.2.2 根据数据生成统计信息 40

4.2.3 从数据生成模式 41

4.3 识别数据中的问题 42

4.3.1 比较数据集 43

4.3.2 更新模式 44

4.3.3 数据偏斜和漂移 45

4.3.4 存在偏差的数据集 46

4.3.5 在TFDV中切分数据 47

4.4 使用GCP处理大型数据集 49

4.5 将TFDV集成到机器学习流水线中 51

4.6 小结 53

第 5 章 数据预处理 54

5.1 为什么要进行数据预处理 55

5.1.1 在整个数据集的上下文中预处理数据 55

5.1.2 扩展预处理步骤 55

5.1.3 避免训练?C服务偏斜 55

5.1.4 将预处理步骤和机器学习模型作为一个工件进行部署 56

5.1.5 检查流水线中的预处理结果 56

5.2 使用TFT做数据预处理 57

5.2.1 安装 58

5.2.2 预处理策略 58

5.2.3 实践 60

5.2.4 TFT函数 60

5.2.5 TFT的独立执行 63

5.2.6 将TFT集成到机器学习流水线中 64

5.3 小结 67

第 6 章 模型训练 68

6.1 定义示例项目的模型 69

6.2 TFX Trainer组件 72

6.2.1 run_fn()函数 72

6.2.2 运行Trainer组件 76

6.2.3 其他关于Trainer组件的注意事项 77

6.3 在交互式流水线中使用TensorBoard 78

6.4 分布策略 80

6.5 模型调整 82

6.5.1 超参数调整的策略 82

6.5.2 TFX流水线中的超参数调整 83

6.6 小结 83

第 7 章 模型分析和模型验证 84

7.1 如何分析模型 85

7.1.1 分类指标 85

7.1.2 回归指标 87

7.2 TensorFlow模型分析 88

7.2.1 用TFMA分析单个模型 88

7.2.2 用TFMA分析多个模型 91

7.3 模型公平性分析 93

7.3.1 用TFMA划分模型预测 94

7.3.2 用公平性指标检查决策阈值 96

7.3.3 详解假设分析工具 98

7.4 模型可解释性 102

7.4.1 使用WIT生成模型解释 103

7.4.2 其他模型解释方法 105

7.5 用TFX进行分析和验证 106

7.5.1 ResolverNode 106

7.5.2 Evaluator组件 107

7.5.3 用Evaluator组件进行验证 107

7.5.4 TFX Pusher组件 108

7.6 小结 109

第 8 章 用TensorFlow Serving部署模型 110

8.1 简单的模型服务器 111

8.2 基于Python API部署模型的缺点 112

8.2.1 缺少代码隔离 112

8.2.2 缺少模型版本控制 112

8.2.3 低效的模型推算 112

8.3 TensorFlow Serving 113

8.4 TensorFlow Serving架构概述 113

8.5 为TensorFlow Serving导出模型 113

8.6 模型签名 115

8.7 查看导出的模型 117

8.7.1 查看模型 118

8.7.2 测试模型 119

8.8 设置TensorFlow Serving 120

8.8.1 Docker安装 120

8.8.2 原生Ubuntu安装 120

8.8.3 从源码编译TensorFlow Serving 121

8.9 配置TensorFlow服务器 121

8.9.1 单一模型配置 121

8.9.2 多模型配置 124

8.10 REST与gRPC 126

8.10.1 REST 126

8.10.2 gRPC 126

8.11 用模型服务器预测 126

8.11.1 用REST获得模型预测 126

8.11.2 通过gRPC使用TensorFlow Serving 128

8.12 用TensorFlow Serving进行模型A/B测试 131

8.13 从模型服务器获取模型元数据 132

8.13.1 使用REST请求模型元数据 132

8.13.2 使用gRPC请求模型元数据 133

8.14 批量推算请求 134

8.15 配置批量预测 135

8.16 其他TensorFlow Serving优化方法 136

8.17 TensorFlow Serving的替代品 137

8.17.1 BentoML 137

8.17.2 Seldon 138

8.17.3 GraphPipe 138

8.17.4 Simple TensorFlow Serving 138

8.17.5 MLflow 138

8.17.6 Ray Serve 139

8.18 在云端部署 139

8.18.1 用例 139

8.18.2 在GCP上进行示例部署 139

8.19 使用TFX流水线进行模型部署 144

8.20 小结 145

第 9 章 使用TensorFlow Serving进行进阶模型部署 146

9.1 解耦部署环节 146

9.1.1 工作流概述 147

9.1.2 优化远程模型加载 149

9.2 为部署模型进行优化 149

9.2.1 量化 149

9.2.2 剪枝 150

9.2.3 蒸馏 151

9.3 在TensorFlow Serving中使用TensorRT 151

9.4 TFLite 152

9.4.1 用TFLite优化模型的步骤 152

9.4.2 使用TensorFlow Serving实例部署TFLite模型 153

9.5 监测TensorFlow Serving实例 154

9.5.1 设置Prometheus 154

9.5.2 TensorFlow Serving配置 156

9.6 使用TensorFlow Serving和Kubernetes进行简单的扩容 157

9.7 小结 159

第 10 章 TensorFlow Extended的高级功能 160

10.1 流水线的高级功能 160

10.1.1 同时训练多个模型 161

10.1.2 导出TFLite模型 162

10.1.3 热启动模型训练 164

10.2 人工审核 165

10.2.1 创建Slack组件 166

10.2.2 如何使用Slack组件 166

10.3 TFX自定义组件 167

10.3.1 自定义组件的应用场景 168

10.3.2 从零创建自定义组件 168

10.3.3 复用现有组件 176

10.4 小结 179

第 11 章 流水线第 一部分:Apache Beam和Apache Airflow 180

11.1 选择哪种编排工具 181

11.1.1 Apache Beam 181

11.1.2 Apache Airflow 181

11.1.3 Kubeflow Pipelines 181

11.1.4 AI Platform上的Kubeflow Pipelines 182

11.2 将交互式TFX流水线转换为生产流水线 182

11.3 Beam和Airflow的简单交互式流水线转换 184

11.4 Apache Beam简介 185

11.5 使用Apache Beam编排TFX流水线 185

11.6 Apache Airflow简介 187

11.6.1 安装和初始设置 187

11.6.2 基本Airflow示例 188

11.7 使用Apache Airflow编排TFX流水线 191

11.7.1 流水线设置 192

11.7.2 运行流水线 193

11.8 小结 194

第 12 章 流水线第二部分:Kubeflow Pipelines 195

12.1 Kubeflow Pipelines概述 196

12.1.1 安装和初始设置 198

12.1.2 访问已安装的Kubeflow Pipelines 199

12.2 使用Kubeflow Pipelines编排TFX流水线 200

12.2.1 流水线设置 202

12.2.2 运行流水线 206

12.2.3 Kubeflow Pipelines的有用功能 211

12.3 基于Google Cloud AI Platform的流水线 215

12.3.1 流水线设置 215

12.3.2 TFX流水线设置 218

12.3.3 运行流水线 221

12.4 小结 222

第 13 章 反馈循环 223

13.1 显式反馈和隐式反馈 224

13.1.1 数据飞轮 224

13.1.2 现实世界中的反馈循环 225

13.2 收集反馈的设计模式 227

13.2.1 用户根据预测采取了某些措施 227

13.2.2 用户对预测的质量进行评分 228

13.2.3 用户纠正预测 228

13.2.4 众包打标 228

13.2.5 专家打标 229

13.2.6 自动产生反馈 229

13.3 如何跟踪反馈循环 229

13.3.1 跟踪显式反馈 230

13.3.2 跟踪隐式反馈 230

13.4 小结 231

第 14 章 机器学习的数据隐私 232

14.1 数据隐私问题 232

14.1.1 为什么关心数据隐私 232

14.1.2 简单的加强隐私保护的方法 233

14.1.3 哪些数据需要保密 233

14.2 差分隐私 234

14.2.1 局部差分隐私和全局差分隐私 235

14.2.2 epsilon、delta和隐私预算 235

14.2.3 机器学习的差分隐私 236

14.3 TensorFlow Privacy 236

14.3.1 使用差分隐私优化器进行训练 237

14.3.2 计算epsilon 238

14.4 联邦学习 239

14.5 加密机器学习 241

14.5.1 加密模型训练 241

14.5.2 将训练好的模型转换为加密的预测服务 242

14.6 其他数据保密方法 243

14.7 小结 243

第 15 章 流水线的未来和下一步 244

15.1 模型实验跟踪 244

15.2 关于模型发布管理的思考 245

15.3 未来的流水线能力 246

15.4 TFX与其他机器学习框架 246

15.5 测试机器学习模型 247

15.6 用于机器学习的CI/CD系统 247

15.7 机器学习工程社区 247

15.8 小结 247

附录A 机器学习基础架构简介 249

附录B 在Google Cloud上设置Kubernetes集群 262

附录C 操作Kubeflow Pipelines的技巧 268

关于作者 276

关于封面 276


已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

机器学习流水线实战
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon