展开全部

主编推荐语

MLOps实用指南:覆盖设计、构建、部署ML应用所需技能。

内容简介

在大数据时代,机器学习(ML)在互联网领域取得了巨大的成功,数据应用也逐渐从“数据驱动”阶段向“模型驱动”阶段跃升,但这也给ML项目落地带来了更大的困难,为了适应时代的发展,MLOps应运而生。本书从多个方面介绍了MLOps实践路径,内容涵盖了设计、构建和部署由ML驱动的应用程序所需的各种实用技能。本书适合数据科学家、软件工程师、ML工程师及希望学习如何更好地组织ML实验的研究人员阅读,可以帮助他们建立实用的MLOps实践框架。

目录

  • 封面
  • 前折页
  • 版权信息
  • 内容简介
  • 推荐序
  • 前 言
  • 第1章 MLOps概述
  • 1.1 ML涉及的概念
  • 1.1.1 监督学习
  • 1.1.2 无监督学习
  • 1.1.3 半监督学习
  • 1.1.4 强化学习
  • 1.1.5 何时使用ML
  • 1.2 ML相关符号及术语定义
  • 1.2.1 原始数据、输入数据、特征与特征工程
  • 1.2.2 训练样本及预留样本
  • 1.2.3 参数与超参数
  • 1.2.4 参数模型、非参数模型、极大似然估计
  • 1.2.5 ML管道
  • 1.2.6 模型选择与性能权衡
  • 1.3 ML的工程挑战与MLOps解决方案
  • 1.3.1 MLOps的定义
  • 1.3.2 MLOps与其他Ops的区别
  • 1.3.3 谁在关注MLOps
  • 1.3.4 为什么需要MLOps
  • 1.3.5 MLOps给企业带来的增益
  • 1.3.6 MLOps的工作流程
  • 1.3.7 MLOps工程师需要具备的技能
  • 1.3.8 什么时候真正需要MLOps
  • 1.4 MLOps框架下的工程实践
  • 1.4.1 ML工程及生产化模块
  • 1.4.2 ML工程模块的设计原则
  • 1.4.3 进行ML工程的模块设计时需要注意的细节
  • 1.4.4 编码环境与模型探索
  • 1.4.5 特征存储
  • 1.4.6 实验管理和模型管理
  • 1.4.7 服务
  • 1.4.8 模型服务规模化
  • 1.4.9 模型监控
  • 1.5 本章总结
  • 第2章 在MLOps框架下开展ML项目
  • 2.1 界定业务范围阶段
  • 2.1.1 在项目规划时考虑生产化
  • 2.1.2 业务需求
  • 2.1.3 确定衡量指标和项目范围
  • 2.1.4 设计初步解决方案
  • 2.1.5 制定共同语言
  • 2.1.6 数据权限及准备
  • 2.2 研究与探索阶段
  • 2.2.1 数据探索
  • 2.2.2 技术有效性检查
  • 2.3 模型开发阶段
  • 2.3.1 模型开发的必要准备
  • 2.3.2 模型开发
  • 2.3.3 模型验证
  • 2.4 模型生产化阶段
  • 2.5 ML项目生命周期
  • 2.6 团队建设及分工
  • 2.6.1 企业数字化程度
  • 2.6.2 界定ML团队的角色
  • 2.6.3 探讨ML项目的团队建设与分工
  • 2.6.4 项目外包还是自建ML团队
  • 2.7 本章总结
  • 第3章 MLOps的基础准备:模型开发
  • 3.1 背景概要
  • 3.2 定义ML目标
  • 3.2.1 业务问题概述
  • 3.2.2 业务目标
  • 3.2.3 ML目标
  • 3.3 数据收集
  • 3.3.1 数据获取
  • 3.3.2 加载数据
  • 3.3.3 关于数据集
  • 3.4 数据预处理
  • 3.4.1 缺失值处理
  • 3.4.2 离群值检测
  • 3.5 数据探索
  • 3.5.1 目标变量
  • 3.5.2 服务分析
  • 3.5.3 用户行为分析
  • 3.6 特征工程
  • 3.6.1 分类和数值列拆分
  • 3.6.2 One-Hot编码
  • 3.6.3 特征缩放处理
  • 3.6.4 目标变量
  • 3.6.5 样本生成
  • 3.7 构建和评估模型
  • 3.7.1 处理非平衡问题
  • 3.7.2 模型构建
  • 3.8 持久化模型
  • 3.9 构建REST API
  • 3.9.1 导入相关库并加载模型
  • 3.9.2 编写预测函数
  • 3.9.3 用户请求
  • 3.10 模型投产
  • 3.10.1 ML投产陷阱及挑战
  • 3.10.2 ML模型演化:从独立模型到模型工厂
  • 3.10.3 利用MLOps实现模型的规模化投产
  • 3.11 本章总结
  • 第4章 ML与Ops之间的信息存储与传递机制
  • 4.1 ML实验跟踪
  • 4.1.1 ML实验跟踪的定义
  • 4.1.2 ML实验跟踪的必要性
  • 4.1.3 随时随地管理实验
  • 4.1.4 ML实验跟踪与模型管理的区别
  • 4.1.5 在MLOps框架中增加ML实验跟踪功能
  • 4.1.6 设计和实现ML实验跟踪API
  • 4.1.7 在生产中使用ML实验跟踪API
  • 4.2 A/B在线实验
  • 4.2.1 创建在线实验的必要性
  • 4.2.2 确定实验的范围与目标
  • 4.2.3 最小样本量的确定方法
  • 4.2.4 对ML模型进行A/B测试
  • 4.2.5 在MLOps框架中增加A/B在线实验功能
  • 4.2.6 用于A/B在线实验的MAB方案
  • 4.2.7 MLOps框架中的A/B实验管理
  • 4.3 模型注册
  • 4.3.1 模型注册的定义
  • 4.3.2 模型注册的必要性
  • 4.3.3 将模型注册功能融入MLOps框架
  • 4.3.4 模型注册中心存储的信息
  • 4.3.5 模型注册的价值
  • 4.3.6 先从一个简单的模型注册开始
  • 4.3.7 设计和实现符合MLOps标准的模型注册中心
  • 4.3.8 在生产中使用模型注册API
  • 4.3.9 模型注册中心的权限设置
  • 4.4 特征存储
  • 4.4.1 特征工程及使用挑战
  • 4.4.2 特征存储的定义
  • 4.4.3 在MLOps框架中增加特征存储
  • 4.4.4 离线与在线特征
  • 4.4.5 特征存储带来的益处
  • 4.4.6 特征存储的架构设计
  • 4.5 本章总结
  • 第5章 模型统一接口设计及模型打包
  • 5.1 ML模型基础接口概述
  • 5.1.1 软件开发的策略模式
  • 5.1.2 Scikit-Learn对接口的处理方法
  • 5.2 业内一些常见的解决方案
  • 5.2.1 AWS的ML生命周期工具SageMaker
  • 5.2.2 Meta的ML平台FBLearner Flow
  • 5.2.3 Uber的ML平台Michelangelo
  • 5.2.4 开源的Seldon Core
  • 5.3 一个简单的ML模型接口示例
  • 5.3.1 继承ModelBase基类
  • 5.3.2 模型管理基类
  • 5.3.3 Flask REST端点
  • 5.4 ML项目打包
  • 5.4.1 模型及代码打包的必要性
  • 5.4.2 模型和代码打包的事项及示例
  • 5.4.3 模型序列化
  • 5.5 本章总结
  • 第6章 在MLOps框架下规模化部署模型
  • 6.1 定义及挑战
  • 6.1.1 ML部署的简单定义
  • 6.1.2 部署ML模型的常见挑战
  • 6.2 对业务的驱动逻辑
  • 6.2.1 模型部署的边界
  • 6.2.2 模型部署与业务应用流程的关系
  • 6.3 常见的设计模式
  • 6.3.1 用于在线推理的ML模型部署的挑战
  • 6.3.2 什么时候需要在线推理
  • 6.3.3 什么时候使用批量推理
  • 6.3.4 数据库批量推理模式
  • 6.3.5 嵌入式推理模式
  • 6.3.6 单服务推理模式
  • 6.3.7 微服务推理模式
  • 6.4 构建MLOps通用推理服务:模型即服务
  • 6.4.1 模型即服务的工作流程
  • 6.4.2 模型即服务的核心服务模块
  • 6.5 Web服务框架及应用生态
  • 6.5.1 Web应用程序
  • 6.5.2 WSGI服务器
  • 6.5.3 Web服务器
  • 6.5.4 使用REST API为模型提供服务
  • 6.6 基于Docker的模型应用程序部署
  • 6.6.1 Docker的定义
  • 6.6.2 Docker容器、Python虚拟环境和虚拟机
  • 6.6.3 构建HTTP REST API
  • 6.6.4 创建生产级的Docker镜像
  • 6.6.5 构建并运行Docker容器
  • 6.7 模型即服务的自动化
  • 6.7.1 模型即服务的逻辑设计
  • 6.7.2 模型即服务的通用接口定义
  • 6.7.3 使用SQLAlchemy ORM重构MLOps的信息存储表
  • 6.8 在MLOps框架下实现模型部署示例
  • 6.8.1 将构建好的模型进行注册
  • 6.8.2 模型部署和服务化
  • 6.8.3 ML实验跟踪功能升级
  • 6.9 基于开源项目的模型服务解决方案
  • 6.9.1 基于Kubernetes的资源管理项目KFServing
  • 6.9.2 机器学习部署平台Seldon Core
  • 6.9.3 轻量级模型部署及管理平台BentoML
  • 6.9.4 机器学习生命周期管理平台MLflow
  • 6.9.5 ML模型服务开源方案的总结
  • 6.9.6 关于ML模型部署和服务方案的思考
  • 6.10 本章总结
  • 第7章 MLOps框架下的模型发布及零停机模型更新
  • 7.1 ML在生产中的CI/CD
  • 7.1.1 模型在生产中持续迭代的挑战
  • 7.1.2 在MLOps框架中添加模型的发布流程
  • 7.1.3 CI阶段的实践
  • 7.1.4 CD阶段的实践
  • 7.2 模型服务的发布策略
  • 7.2.1 传统软件工程的发布策略
  • 7.2.2 部署即发布
  • 7.2.3 制定ML模型服务发布策略的必要性
  • 7.2.4 影子测试策略与渐进式推出策略
  • 7.2.5 竞争策略
  • 7.3 零停机更新模型服务
  • 7.3.1 生产中Flask的局限性
  • 7.3.2 关于GIL、线程和进程的入门知识
  • 7.3.3 从单线程的Flask到uWSGI
  • 7.3.4 模型更新条件检查
  • 7.3.5 动态更新模型方案
  • 7.3.6 基于Kubernetes的扩展方案
  • 7.4 本章总结
  • 第8章 MLOps框架下的模型监控与运维
  • 8.1 ML模型监控简介
  • 8.1.1 模型的监控场景
  • 8.1.2 为什么监控很重要
  • 8.1.3 ML监控与传统软件监控的区别
  • 8.1.4 谁需要关注ML的监控结果
  • 8.1.5 生产中导致模型衰退或出错的原因
  • 8.2 数据科学问题的监控
  • 8.2.1 模型漂移
  • 8.2.2 决策边界的改变
  • 8.2.3 模拟漂移与模型重建修正
  • 8.2.4 数据科学问题监控的常见指标和方法
  • 8.3 运维问题的监控
  • 8.3.1 运维问题的监控与可观察性
  • 8.3.2 运维问题监控的指标定义
  • 8.4 在MLOps框架内增加监控功能
  • 8.4.1 ML的日志信息记录
  • 8.4.2 使用特征存储简化模型监控
  • 8.4.3 A/B在线实验闭环
  • 8.4.4 模型衰退检测
  • 8.4.5 模型维护
  • 8.4.6 模型自动持续训练
  • 8.4.7 API缓冲
  • 8.5 本章总结
  • 第9章 对MLOps的一些实践经验总结
  • 9.1 ML和MLOps平台比较
  • 9.1.1 聚焦传统ML与聚焦深度学习
  • 9.1.2 聚焦分析探索与聚焦产品化
  • 9.1.3 面向平民化数据科学与面向数据科学专家
  • 9.1.4 专业化平台与端到端平台
  • 9.2 自研MLOps平台
  • 9.2.1 自研MLOps平台的经验总结
  • 9.2.2 MLOps框架或平台的搭建原则
  • 9.2.3 MLOps的架构参考
  • 9.3 MLOps架构的成熟度评估
  • 9.3.1 对业务需求的定义
  • 9.3.2 数据准备
  • 9.3.3 模型实验
  • 9.3.4 模型部署
  • 9.3.5 模型监控
  • 9.3.6 模型的持续训练
  • 9.3.7 关于MLOps架构成熟度评估的思考
  • 9.4 本章总结
  • 后折页
  • 封底
展开全部

评分及书评

尚无评分
目前还没人评分

出版方

电子工业出版社

电子工业出版社成立于1982年10月,是国务院独资、工信部直属的中央级科技与教育出版社,是专业的信息技术知识集成和服务提供商。经过三十多年的建设与发展,已成为一家以科技和教育出版、期刊、网络、行业支撑服务、数字出版、软件研发、软科学研究、职业培训和教育为核心业务的现代知识服务集团。出版物内容涵盖了电子信息技术的各个分支及工业技术、经济管理、科普与少儿、社科人文等领域,综合出版能力位居全国出版行业前列。