猜你喜欢
MLOps工程实践

MLOps工程实践

书籍作者:陈雨强 ISBN:9787111733294
书籍语言:简体中文 连载状态:全集
电子书格式:pdf,txt,epub,mobi,azw3 下载次数:8251
创建日期:2024-04-23 发布日期:2024-04-23
运行环境:PC/Windows/Linux/Mac/IOS/iPhone/iPad/Kindle/Android/安卓/平板
内容简介

内容简介
这是一本能指导企业利用MLOps技术构建可靠、高效、可复用、可扩展的机器学习模型从而实现AI工程化落地的著作。由国内AI领域的独角兽企业第四范式的联合创始人和技术VP领衔撰写,从工具、技术、企业级应用、成熟度评估4个维度对MLOps进行了全面的讲解。
本书的主要内容包括如下9个方面:
(1)MLOps的核心概念和方法,可以帮助读者全面了解MLOps的基本原理;
(2)MLOps涉及的几种角色,以及这些角色之间如何协作;
(3)机器学习项目的基础知识和全流程,是学习和应用MLOps的基础;
(4)MLOps中的数据处理、主要流水线工具Airflow和MLflow、特征平台和实时特征平台OpenMLDB、推理工具链Adlik,为读者系统讲解MLOps的技术和工具;
(5)云服务供应商的端到端MLOps解决方案;
(6)第四范式、网易、小米、腾讯、众安金融等企业的MLOps工程实践案例和经验;
(7)MLOps的成熟度模型,以及微软、谷歌和信通院对MLOps成熟度模型的划分;
(8)针对不同规模的企业和团队的MLOps最佳实践,帮助他们量身定做MLOps策略;
(9)MLOps的未来发展趋势,以及如何将新技术融入MLOps实践中。
本书深入浅出、循序渐进地讲解了如何在实际项目中利用MLOps进行机器学习模型的部署、监控与优化,以及如何利用MLOps实现持续集成与持续交付等高效的工作流程。通过企业级的MLOps案例和解决方案,帮助读者轻松掌握MLOps的设计思路以及如何应用MLOps解决实际问题。

编辑推荐
适读人群 :1.AI工程师;2.人工智能相关专业的学生和老师。

(1)作者背景资深:AI独角兽第四范式的联合创始人和技术VP领衔,腾讯、小米、百度、网易、中兴、众安保险等企业的技术专家共同参与。

(2)4个维度展开:从工具、技术、企业级应用、成熟度评估4个维度全面讲解MLOps,指导企业构建可靠、高效、可复用、可扩展的机器学习模型。

(3)大厂现身说法:腾讯、小米、百度、网易、中兴、众安保险的AI技术专家通过案例方式详细讲解他们在MLOps领域的工程实践。

(4)9大主题内容:通过9大主题内容讲解如何在实际项目中利用MLOps进行机器学习模型的部署、监控与优化,以及如何利用MLOps实现持续集成与持续交付等高效工作流程。

(5)9位专家推荐:来自小米、字节、网易、百度、腾讯等企业的9位知名技术专家高度评价并鼎力推荐。

前言

PREFACE
前  言
为什么写作本书
我们非常幸运地见证了AlphaGo、ChatGPT等令人激动的人工智能技术的突破。不可否认,人工智能已经像手机、电力、网络一样融入每个人的工作和生活,进入各个行业。人工智能从早期在互联网企业的推荐、广告、搜索等场景中大放光彩,发展到在视觉、安防、金融等领域落地,再到今天走入交通、制造、生命科学等领域,并在排工排产、自动驾驶等场景中崭露头角。
作为计算机科学的一个重要领域,机器学习也是目前人工智能领域非常活跃的分支之一。机器学习通过分析海量数据、总结规律,帮助人们解决众多实际问题。随着机器学习技术的发展,越来越多的企业将机器学习技术作为核心竞争力,并运用在实际业务中。
但是,机器学习应用落地并非一件轻松的事情,AI开发者往往需要面对各个环节的挑战。这些环节包括目标定义、数据收集、数据清洗、特征提取、模型选择、模型训练、模型部署和模型监控等,其中任何一个环节出现失误,都可能影响算法和策略在最终业务中落地的效果,造成成倍的损失。反过来看,利用工程化技术去优化模型的自学习能力,能让模型保持持续更新、迭代和演进,随着数据和业务的变化不断进行自适应,避免衰退,始终保持在最佳状态,为业务场景带来更好的效果、更多的价值。
除了效果之外,机器学习应用的开发效率也是阻碍落地的关键因素。像Google这样的互联网领头羊企业,其AI科学家与AI工程师也常常会遇到“开发一周,上线三月”的情况。因此需要针对每个模型花费数月时间进行正确性排查,覆盖模型鲁棒性、数据时序穿越、线上线下一致性、数据完整性等各个维度。
从团队协作角度来看,数据、模型、算法的开发和部署需要不同的技能和知识,需要团队敏捷地进行沟通和协作。因此,建设一种可以在任何时间、任何环境被信任的团队合作模式、沟通渠道以及反馈机制,形成一个如敏捷迭代、Kubernetes一样的事实标准,可方便AI工程师敏捷、快速地上线AI应用。
除了效果和效率两个AI开发者所关注的维度外,成本、人才、安全也是机器学习应用开发落地时需要权衡的。
成本:无论软件、硬件成本还是人力成本,企业需要在落地AI应用的效益和成本之间进行权衡,确保投入产出比是可行的,而这要求开发者对成本和产出有更加精准的预测和判断。
人才:人才短缺是一个普遍问题,哪怕是在硅谷、中关村等科技人才聚集地,具备机器学习和软件开发能力的人也是供不应求的。开发者需要更好地精进技能,规划好AI工程化的技能树和学习路径,把自己变成有竞争力的人才。
安全:几乎所有的企业都会要求AI应用背后的数据、算法和模型符合法规和标准。开发者需要确保AI应用和系统不会向企业外部泄露数据,不让非法的攻击侵入并影响业务系统。
正是在这样的背景下,MLOps快速成为机器学习生产落地中不可或缺的关键能力。构建一个靠谱、永远可以信任、从容应对新技术演进的机器学习系统,匹配让AI开发者高效且省心省力的机器学习应用开发流程,成为当前机器学习领域面临的极为关键的问题之一。
作为当今企业和研究人员关注的热点领域,MLOps相关的知识和实践仍然相对分散,因此,迫切需要一本系统化介绍MLOps实践方法的书籍,这也正是我们撰写本书的动力所在。我们希望本书能够:
梳理MLOps的核心概念和方法,帮助读者全面了解MLOps的基本原理;
提供实用的案例分析和操作指南,使读者能够在实际项目中应用MLOps,提高工作效率;
针对不同规模的企业和团队,给出相应的MLOps最佳实践,帮助它们量身定制MLOps策略;
探讨MLOps的未来发展趋势,以及如何将新技术方向(如人工智能伦理、可解释性等)融入MLOps实践。
我们深知MLOps实践的推广和普及需要时间和努力,希望本书可以为研究人员提供全面、系统和实用的指南,以便他们在实际应用中构建可靠、高效和稳健的机器学习模型,实现业务价值最大化。
本书内容
本书是一本面向MLOps的工程实践指南,旨在帮助读者了解如何在实际工作中应用MLOps技术。本书介绍了不同的主流工具和技术,这些工具和技术可以帮助构建可靠、可重复使用和可扩展的机器学习模型。通过实际案例,读者可以更好地理解这些工具和技术的用途和优缺点,以及如何将它们应用于实际项目。
本书内容如下。
第1章系统地介绍MLOps出现的背景,给出MLOps的定义和内涵,然后比较MLOps和DevOps及其他XOps的异同,帮助读者对MLOps有较全面的了解。
第2章介绍MLOps涉及的几种角色,包括产品经理、数据科学家、数据工程师、机器学习工程师、DevOps工程师、IT运维工程师等,并分析AI科学家与AI工程师协作中容易出现的问题及其解决办法。
第3章重点介绍机器学习项目涉及的相关概念和问题,并以全局视角解读机器学习项目的全流程,探讨在这个过程中MLOps需要解决的痛点问题,为后续深入学习MLOps方法论和工具做准备。
第4章重点介绍MLOps中有关数据的内容,介绍什么是以数据为中心,以数据为中心的人工智能与以模型为中心的人工智能有什么区别,MLOps中数据的生命周期是什么样的,数据架构是如何演进的,主要的数据问题是什么以及应该如何解决。
第5章结合机器学习难以落地在工程层面存在的问题,介绍MLOps领域出现的通用流水线工具以及如何帮助提升MLOps流程的串联效率,并重点介绍两个典型的流水线工具:Airflow和MLflow。
第6章主要介绍MLOps中特有的特征平台,从特征平台的起源、作用、现状以及未来趋势,分析当前的几个主流商业产品和相关的开源项目,让读者对特征平台有一个全面的了解,同时对如何挑选特征平台给出一些建议。
第7章从构建企业级实时特征平台的方法论出发,讲述线上线下一致性的重要性,以及所带来的工程化挑战;基于开源的机器学习数据库OpenMLDB,深入介绍如何践行线上线下一致性;通过案例演示,带领读者了解OpenMLDB的基本使用方法。
第8章从机器学习模型落地的挑战开始,引出对Adlik推理工具链的介绍,包括Adlik架构、端到端模型推理优化实践等,帮助读者全方位了解如何利用Adlik构建完整的机器学习推理方案。
第9章以业界领先的某国际知名云服务提供商开发的SageMaker为例,介绍这种全家桶式服务是如何帮助客户应对大规模机器学习业务开发所带来的挑战的。
第10章通过信用卡交易反欺诈系统、推荐系统案例来展示MLOps在不同场景下的挑战和解决思路,帮助读者更好地理解和应用MLOps。
第11章以网易云音乐实时模型应用为例,介绍网易云音乐FeatureBox在特征工程上如何解决特征开发效率、特征数据准确性、特征读写性能、使用资源大小等一系列问题。
第12章以小米广告机器学习平台实践为例,介绍小米如何将机器学习开发流程抽象化、工具化、系统化、平台化,从而提升算法迭代效率,并不断提升算法效果。
第13章介绍腾讯金融业务推荐系统建设的方法,包括如何围绕业务增长、用户体验优化和效率提升等关键目标,应用大数据和机器学习技术,以数据驱动方法推动各个业务目标的迭代实现。
第14章介绍众安金融的MLOps建设背景和整体的实施思路,同时重点介绍实时特征平台的架构设计、实时特征计算的实现方式,以及特征平台如何支持反欺诈场景的特征应用。
第15章介绍MLOps成熟度模型,然后介绍谷歌、微软及信通院对MLOps成熟度模型的划分方式,让读者对MLOps在业内的发展有更全面的了解。
读者对象
本书旨在帮助读者掌握MLOps技术,从而构建可靠、可重复使用和可扩展的机器学习工作流程。我们更加强调实践和操作,通过示例来帮助读者更好地理解并应用这些技术和工具。
本书适用的读者对象如下。
数据科学家和AI研究人员:希望了解如何将自己的模型和算法更有效地部署到实际生产环境,提高工作效率和质量。
机器学习工程师和DevOps工程师:想要掌握MLOps的最佳实践,以便在组织内更好地支持AI和ML项目的开发、部署与维护。
产品经理和业务负责人:希望了解MLOps的概念和实践,以便更好地推动组织内AI和ML项目的落地,提高项目成功率和产出价值。
教育者和学者:在教学和研究过程中需要掌握MLOps的理论和实践知识,以便为学生和咨询者提供指导。
致谢
在本书撰写过程中,我深深地感到,要想打造完美的内容,个人的力量是远远不够的。在这里,我要感谢所有为本书写作提供帮助的人,感谢我的同事、家人和朋友,他们一直支持并鼓励我完成写作。
感谢所有致力于MLOps领域的人,他们的努力为这个领域的发展做出了重要贡献。

郑 曌  
第四范式技术副总裁  

目录

目????录

作者简介

前言

第1章 全面了解MLOps 1

1.1 人工智能的趋势和现状 1

1.1.1 趋势1:人工智能在企业中加速落地,彰显更多业务价值 1

1.1.2 趋势2:人工智能应用从以模型为中心向以数据为中心转变 3

1.1.3 现状:人工智能落地成功率低,

成本高 4

1.2 人工智能的问题、挑战以及应对措施 5

1.2.1 问题1:机器学习代码只是整个系统的一小部分 5

1.2.2 问题2:数据是最主要的问题 6

1.2.3 挑战:人工智能系统

如何规模化落地 7

1.2.4 应对措施:MLOps 8

1.3 MLOps简介 8

1.3.1 MLOps的定义 8

1.3.2 MLOps相关的工具和平台 12

1.3.3 MLOps的优势 13

1.4 MLOps与DevOps 14

1.4.1 DevOps的3个优点 14

1.4.2 MLOps延续了DevOps的优点 17

1.4.3 MLOps和DevOps的不同之处 19

1.4.4 MLOps和DevOps的目标与

实践理念 20

1.5 MLOps与其他XOps的区别 20

1.5.1 MLOps与AIOps的区别 21

1.5.2 MLOps与DataOps的区别 21

1.5.3 MLOps与ModelOps的区别 22

1.5.4 XOps的相同点:

都基于DevOps原则 22

1.6 本章小结 22

第2章 MLOps涉及的角色 23

2.1 角色类型 23

2.1.1 产品经理 24

2.1.2 数据科学家 24

2.1.3 数据工程师 25

2.1.4 机器学习工程师 26

2.1.5 DevOps工程师 27

2.1.6 IT运维工程师 27

2.2 角色划分以及角色之间

存在的问题 28

2.2.1 角色划分 28

2.2.2 问题1:技术栈不一致导致人工智能模型线上、线下效果不一致 28

2.2.3 问题2:关注点不同导致对系统的

需求不同 29

2.2.4 协作问题及解决办法 30

2.3 本章小结 30

第3章 机器学习项目概论 31

3.1 机器学习项目简介 31

3.1.1 机器学习的定义 31

3.1.2 机器学习相关概念 33

3.1.3 机器学习能解决的问题 37

3.1.4 机器学习项目度量 38

3.1.5 机器学习项目难以落地的

原因 41

3.2 深入理解机器学习项目全流程 44

3.2.1 方案调研 45

3.2.2 方案投产 49

3.3 本章小结 51

第4章 MLOps中的数据部分 52

4.1 从以模型为中心到以数据为中心 52

4.1.1 以模型为中心的时代 52

4.1.2 以数据为中心的时代 53

4.2 MLOps中的数据生命周期管理 55

4.3 数据存储架构演进 56

4.4 MLOps中主要的数据问题及

解决方案 57

4.4.1 常见的数据质量问题及

解决方案 57

4.4.2 时序数据穿越问题及解决方案 59

4.4.3 离线和实时数据一致性问题及

解决方案 64

4.4.4 数据安全问题及解决方案 66

4.4.5 数据共享与复用问题及

解决方案 67

4.5 本章小结 67

第5章 流水线工具 69

5.1 Airflow 69

5.1.1 Airflow的功能和应用场景 69

5.1.2 Airflow的核心概念 72

5.1.3 Airflow的使用方法 72

5.2 MLflow 80

5.2.1 MLflow的功能和应用场景 80

5.2.2 MLflow的核心概念 81

5.2.3 MLflow的使用方法 82

5.3 其他流水线工具 91

5.4 本章小结 93

第6章 特征平台 94

6.1 特征平台的概念和起源 94

6.2 特征平台的特性 96

6.3 特征平台的现状 97

6.4 主流的特征平台 98

6.4.1 Tecton的特征平台 99

6.4.2 AWS的SageMaker特征平台 100

6.4.3 Databricks的特征平台 102

6.4.4 Feast项目 103

6.4.5 OpenMLDB项目 105

6.5 特征平台的发展趋势 106

6.6 本章小结 107

第7章  实时特征平台

OpenMLDB 108

7.1 实时特征平台构建方法论 108

7.1.1 机器学习闭环 108

7.1.2 实时特征计算 109

7.1.3 痛点:线上线下计算一致性

校验带来的高成本 110

7.1.4 目标:开发即上线 112

7.1.5 技术需求 112

7.1.6 抽象架构 113

7.1.7 OpenMLDB架构设计实践 114

7.2 OpenMLDB项目介绍 116

7.2.1 设计理念 116

7.2.2 生产级机器学习特征平台 116

7.2.3 核心特性 117

7.2.4 常见问题 117

7.3 核心模块—在线引擎 118

7.3.1 概览 118

7.3.2 Apache ZooKeeper 119

7.3.3 Nameserver 119

7.3.4 Tablet 120

7.4 核心数据结构 122

7.4.1 背景介绍 122

7.4.2 双层跳表索引 122

7.4.3 预聚合技术 124

7.4.4 性能表现 125

7.5 高级特性—主从集群部署 127

7.5.1 定义和目标 127

7.5.2 技术方案 127

7.5.3 主从集群搭建实践 130

7.5.4 主从集群部署常见问题 131

7.6 高级特性—双存储引擎 133

7.6.1 内存和磁盘双存储

引擎架构 133

7.6.2 功能支持对比 134

7.6.3 性能对比 135

7.7 执行流程介绍 136

7.7.1 执行流程概览 136

7.7.2 执行模式概览 137

7.7.3 离线模式 137

7.7.4 在线模式 138

7.7.5 请求模式 138

7.8 实践 139

7.8.1 准备 140

7.8.2 使用流程 141

7.8.3 实时特征计算的结果说明 144

7.9 生态整合—在线数据源Kafka 145

7.9.1 简介 145

7.9.2 准备工作 146

7.9.3 步骤1:启动OpenMLDB

并创建数据库 146

7.9.4 步骤2:启动Kafka

并创建Topic 147

7.9.5 步骤3:启动Connector 147

7.9.6 步骤4:测试 148

7.10 生态整合—离线数据源Hive 149

7.10.1 配置 149

7.10.2 数据类型 149

7.10.3 通过LIKE语法快速建表 150

7.10.4 将Hive数据导入

OpenMLDB 150

7.10.5 将OpenMLDB数据

导出到Hive 151

7.11 案例:出租车行程时间预测 151

7.11.1 环境准备和预备知识 151

7.11.2 全流程演示 152

7.12 本章小结 155

第8章 Adlik推理工具链 156

8.1 机器学习模型落地挑战 156

8.2 Adlik的优势 157

8.3 Adlik的架构 158

8.3.1 模型优化器 159

8.3.2 模型编译器 161

8.3.3 推理引擎模块 161

8.4 快速入门 164

8.4.1 编译模型 164

8.4.2 部署模型 166

8.4.3 模型推理 166

8.4.4 引入自定义运行时 167

8.5 Adlik端到端模型推理优化实践 168

8.5.1 模型结构优化 168

8.5.2 模型推理引擎 170

8.6 本章小结 171

第9章 云服务供应商的端到端MLOps解决方案 172

9.1 认识SageMaker 173

9.1.1 SageMaker的主要组成

部分 173

9.1.2 广泛的数据源和数据集成

支持 174

9.2 无代码实现供应链中到货时间的

预测 176

9.2.1 数据准备 177

9.2.2 简单的数据合并 179

9.2.3 构建、训练和分析机器学习

模型 180

9.2.4 模型预测 183

9.3 应用SageMaker Notebook进行 MLOps 管理 183

9.3.1 数据导入 184

9.3.2 数据清洗和特征设计 184

9.3.3 模型训练 185

9.3.4 模型评估 186

9.3.5 模型上线 187

9.3.6 使用模型仓库和 Pipeline系统

管理训练成果 187

9.4 本章小结 194

第10章 MLOps 在反欺诈与推荐

系统中的应用 196

10.1 案例1:信用卡交易反欺诈系统 196

10.1.1 定义业务目标 196

10.1.2 系统设计的挑战 198

10.1.3 数据准备与特征设计思路 201

10.1.4 系统设计与实现 202

10.2 案例2:推荐系统 205

10.2.1 推荐系统介绍 205

10.2.2 定义优化目标 206

10.2.3 系统设计挑战与实现思路 208

10.3 本章小结 210

第11章 网易云音乐实时模型大规模应用之道 211

11.1 从云音乐直播推荐中的实时性

说起 211

11.1.1 直播对实时性的强需求 213

11.1.2 推荐引擎实时性的三要素 213

11.1.3 直播精排模型的实时化演进 216

11.2 实时增量模型的构建 216

11.2.1 实时特征快照 217

11.2.2 实时样本归因 219

11.2.3 实时样本拼接 222

11.2.4 增量训练和更新 223

11.2.5 线上效果 224

11.3 特征平台将实时能力泛化到

更多场景 225

11.4 FeatureBox 226

11.4.1 FeatureBox解决的问题 226

11.4.2 FeatureBox整体架构 227

11.4.3 DataHub模块 227

11.4.4 Transform模块 231

11.4.5 MFDL模块 232

11.4.6 Storage模块 233

11.4.7 Monitor模块 234

11.5 在线预估基于FeatureBox的

构建 236

11.5.1 特征与模型的高效迭代 236

11.5.2 高性能预估计算 242

11.5.3 预估与FeatureBox实时性

方案 246

11.6 本章小结 248

第12章 小米广告机器学习平台

实践 249

12.1 小米广告一站式机器学习平台

简介 249

12.1.1 传统机器学习流程的问题 249

12.1.2 小米广告机器学习平台模块

简介 251

12.2 特征工程模块 252

12.2.1 特征工程简介 252

12.2.2 数据源管理 253

12.2.3 特征管理 253

12.2.4 样本管理 257

12.3 模型训练平台 259

12.3.1 算法管理 260

12.3.2 离线模型训练管理 261

12.3.3 模型更新 262

12.4 线上推理模块 264

12.4.1 线上推理服务介绍 264

12.4.2 高性能和高可用保证 266

12.4.3 模型部署 268

12.5 本章小结 273

第13章 腾讯金融推荐中台实践 274

13.1 业务介绍 274

13.1.1 业务优化目标 274

13.1.2 业务特点 275

13.2 现状及挑战 276

13.2.1 推荐系统复杂性 277

13.2.2 算法工程技术壁垒 278

13.3 MLOps实践 278

13.4 推荐系统产品体系 280

13.4.1 特征系统 281

13.4.2 模型训练系统 281

13.4.3 模型服务系统 282

13.4.4 推荐运营系统 283

13.5 系统设计 283

13.5.1 特征系统 284

13.5.2 模型服务系统 290

13.6 本章小结 293

第14章 众安金融实时特征平台

实践 294

14.1 众安金融的MLOps建设背景 294

14.2 众安金融的MLOps建设思路 295

14.2.1 众安金融的MLOps流程说明 295

14.2.2 众安金融特征平台

能力要求 297

14.3 实时特征平台的架构设计 297

14.3.1 实时特征平台架构说明 298

14.3.2 实时特征数据源层 298

14.3.3 实时特征平台的核心功能 299

14.4 实时业务特征计算 300

14.4.1 实时业务特征计算系统

设计 300

14.4.2 实时业务特征核心数据

模型 301

14.4.3 实时业务特征计算引擎 302

14.5 反欺诈场景中的特征计算 303

14.5.1 反欺诈特征计算系统设计 303

14.5.2 反欺诈特征分类说明 304

14.5.3 用户关系图谱实现方案 305

14.6 本章小结 306

第15章 MLOps成熟度模型 308

15.1 能力成熟度模型概述 308

15.2 谷歌的MLOps成熟度模型 309

15.2.1 谷歌对MLOps的理解和

认识 309

15.2.2 谷歌对MLOps成熟度等级的

定义 310

15.3 微软的MLOps成熟度模型 317

15.3.1 微软对MLOps成熟度模型的

理解和认识 317

15.3.2 微软对MLOps成熟度等级的

定义 318

15.4 信通院的MLOps成熟度模型 322

15.4.1 需求管理能力子域

相关内容 323

15.4.2 数据工程能力子域

相关内容 325

15.5 本章小结 329


产品特色