MLOps Engineering at Scale

  • 目录
    • 第 1 章
    • 第 2 章
    • 第 3 章
    • 第 4 章
    • 第 5 章
    • 第 6 章
    • 第 7 章
    • 第 8 章
    • 第 9 章
    • 第 10 章
    • 第 11 章
    • 第 12 章
  • 资源

目录

第 1 章

介绍了机器学习系统工程领域的广泛观点,以及将系统投入生产所需的条件。

  • 没有MLOPS平台,机器学习从业者和容易瞎忙(“yak shaving” ),人们没有把注意力放在使产品获得巨大成功所需的功能上,而是把太多的工程时间花在明显不相关的活动上,如重新安装Linux设备驱动程序或在网上搜索正确的集群设置来配置数据处理中间件。
  • 成熟的机器学习系统 “最终(最多)只有**5%**的机器学习代码”

  • https://academictorrents.com/致力于帮助机器学习从业者获得适合机器学习的公共数据集。有大量 1–5 TB 的数据集

  • 云计算基础设置(Amazon Web Services, Microsoft Azure, or Google Cloud )可以帮助解决:

    • 安全隔离:平台的多个用户可以在不同的机器学习项目和代码中并行工作
    • 根据项目需要可以很方便的操作数据存储、计算和网络等
    • 基于消耗量的计费,因此你的机器学习项目只需为你使用的资源计费。
  • Serverless machine learning:一种机器学习代码的软件开发模式,该代码写在云计算基础设施中托管的机器学习平台上运行,按量计费。Serverless并不意味着没有服务器,而是开发人员可以忽略云厂商服务器的存在而专注于编写代码。

  • https://www.deeplearningai.net/ 可以学习吴恩达的机器学习课程

第 2 章

向您介绍了华盛顿特区的出租车行程数据集,并教您如何开始在 Amazon Web Services (AWS) 公共云中使用该数据集进行机器学习。

  • OpenStreetMap交互式地图上画图的网站
  • flesystems 和 object storage 的区别:

    • flesystems 文件系统将可变数据存储在指定位置。可以打开文件,导航到文件中的任何行或字节位置,根据需要更改内容,然后将更改保存回文件系统。由于文件系统中的文件是可变的,因此在您进行更改后,原始数据将在存储介质(例如,固态驱动器上)上被更改替换。
    • object storage 对象存储中的对象是不可变的。在对象存储中创建对象后,它会保存创建对象时放置在对象中的数据。您可以根据更改创建对象的新版本,但就对象存储服务而言,新版本是占用额外存储空间的。当然,您也可以删除整个对象,释放存储空间。
  • CSV 文件和传统关系数据库使用的行存储-专为事务处理而设计,可以一次更改一行数据。 Apache Parquet 和许多数据仓库使用的列存储适用于对不可变数据集的分析查询。

第 3 章

应用 AWS Athena 交互式查询服务深入挖掘数据集,发现数据质量问题,然后通过严格和有原则的数据质量保证流程解决这些问题。

  • AWS Athena是一种交互式查询服务,让您能够轻松使用标准 SQL 分析 Amazon S3 中的数据。Athena 没有服务器,因此您无需管理任何基础设施,且只需为您运行的查询付费。
  • Athena 使用开源的PrestoDB 分布式查询引擎开发而来,支持PB级别的数据
  • Athena 使用 schema-on-read,schema-on-read 和 schema-on-write 的区别
  • 数据质量的原则 VACUUM
    • VALID:数据类型是否正确,数据是否可以为null,数据值是否在范围内(0-100),数据是否在枚举的有效值之内,数据是否满足某些规则比如信用卡的校验规则
    • ACCURATE:如果作为记录一部分的所有数据值都有效并且记录中的值组合与参考数据源一致,则数据记录是准确的。
    • CONSISTENT:虽然每个单独的数仓都可以根据数仓的定义而有效和准确,consistent 的实现意味着在整合来自跨越不同技术和组织边界的数仓系统的数据之前,要确保一套共同的有效和准确数据的标准。
    • UNIFORM:对于数据集中的每一列,所有记录都应使用使用相同(统一)测量系统记录的数据。
    • UNIFIED:您还可以通过发现和定位训练数据集中不明显的系统性偏差数据,统一和协调项目运营环境的文化价值和项目内容,帮助最大限度地降低机器学习项目成功的风险。(一些违反常理的因果可以提前排除)

第 4 章

演示了如何使用统计方法来总结数据集样本并证明它们与整个数据集的相似性。本章还介绍了如何设置test、train和val数据集的大小,并使用云的分布式处理为机器学习准备数据集样本。

  • 这一节没太懂

第 5 章

介绍 PyTorch tensor API的基础知识,并帮助您一定程度的熟练使用 API 。

第 6 章

重点介绍 PyTorch 的深度学习方面,包括对自动微分的支持、其他梯度下降算法和支持工具。

第 7 章

通过了解 GPU 特性以及如何利用它们来加速深度学习代码,如何扩展 PyTorch 程序。

第 8 章

介绍了分布式 PyTorch 并行训练方法,并深入介绍了传统的、基于参数的、基于服务器的方法和基于环的分布式训练(例如 Horovod)之间的区别

第 9 章

探讨了围绕特征选择和特征工程的用例,使用案例研究来建立关于可以为 DC 出租车数据集选择或设计的特征的直觉。

第 10 章

介绍了如何采用 PyTorch Lightning 的模板代码实现 DC 出租车 PyTorch 模型。此外,本章还介绍了PyTorch Lightning 训练、验证和测试的步骤。

第 11 章

将您的深度学习模型与 Optuna 的开源超参数优化框架集成,帮助您根据替代超参数值训练多个模型,然后根据 loss 和 metric 对训练后的模型进行排名。

第 12 章

将深度学习模型实现打包到 Docker 容器中,以便在整个机器学习管道的各个阶段运行它,从开发数据集一直到准备好用于生产部署的训练模型。

  • Machine learning 的pipline 必须足够灵活使 hyper-parameter optimization (HPO) 管理
  • pipline 的实现依靠下面的技术
    • MLFlow —For open source experiment management,类似还有Weights & Biases,Comet.ML,和 Neptune.AI
    • Optuna —For hyperparameter optimization
    • Docker —For pipeline component packaging and reproducible execution
    • PyTorch Lighting —For PyTorch machine learning model training and validation
    • Kaen —For provisioning and management of the pipeline across AWS and other
      public cloud providers

  • 通过云厂商的虚拟私有云 (VPC) 网络互连的 Docker 容器部署机器学习的pipline。
  • 尽管原生 PyTorch 不提供与 AWS、Azure 或 GCP 等云提供商的集成,但Kaen framework 将 PyTorch 和 PyTorch Lightning 与云提供商的分布式训练联系起来。
pip install kaen[cli,docker]
kaen --help

资源

代码:https://github.com/osipov/smlbook
在线论坛:https://livebook.manning.com/book/mlops-engineering-at-scale/discussion

书籍《MLOps Engineering at Scale (Carl Osipov) 》相关推荐

  1. 《Outlier Analysis》书籍

    前言:最近异常检测似乎越来越火了...  作者介绍:Charu Aggarwal(这是他的个人主页:http://www.charuaggarwal.net).他是 IBM 的托马斯沃森研究中心的一位 ...

  2. 读书笔记《Outlier Analysis》 第九章 时间序列和多维流的异常检测

    1.引言 1.1 基本介绍 时间和流数据的异常检测场景出现在许多应用中,如传感器数据.机械故障诊断.医疗数据.网络入侵数据.新闻文本帖子和财务帖子等.在这些问题中,时间连续性假设在识别异常值方面起着至 ...

  3. 读书笔记《Outlier Analysis》 第八章 分类、文本和混合属性中的异常检测

    1.引言 前面讨论的都是数值数据,然而,在现实生活生成中,还有很多其他类型的数据,如性别.种族.邮编.人员和实体的名称.IP地址等.通常处理这些数据更有挑战,因为难以以均匀和一致的方式来处理各种类型的 ...

  4. 读书笔记《Outlier Analysis》 第四章 基于邻近的异常检测

    1.基本介绍 基于邻近的技术是指,当一个数据点的位置或邻近是稀疏时,则将其定义为一个离群点. 1.1 基于邻近的技术最常见的三种离群点分析的定义: 基于聚类: 使用非任何聚类中数据点的成员.其与其他聚 ...

  5. 读书笔记《Outlier Analysis》 第二章 异常检测的概率和统计模型

    第二章 异常检测的概率和统计模型 1.为什么要讲概率和统计模型? 之所以一开始就讲概率和统计模型,是因为最早的异常检测方法时根植于概率和统计模型的. 这些方法是在计算机技术出现和普及之前就提出的,因此 ...

  6. 数据预处理+数据清理

    1.概述 实际的数据库极易受噪声.缺失值和不一致数据的侵扰,因为数据库太大,并且多半来自多个异种数据源.低质量的数据将会导致低质量的挖掘结果.有大量的数据预处理技术: - - 数据清理:可以用来清楚数 ...

  7. 数据预处理_数据清理

    1.概述 实际的数据库极易受噪声.缺失值和不一致数据的侵扰,因为数据库太大,并且多半来自多个异种数据源.低质量的数据将会导致低质量的挖掘结果.有大量的数据预处理技术: - - 数据清理:可以用来清楚数 ...

  8. 《异常检测——从经典算法到深度学习》9 异常检测资料汇总(持续更新抛砖引玉)

    <异常检测--从经典算法到深度学习> 0 概论 1 基于隔离森林的异常检测算法 2 基于LOF的异常检测算法 3 基于One-Class SVM的异常检测算法 4 基于高斯概率密度异常检测 ...

  9. kaggle信用卡欺诈看异常检测算法——无监督的方法包括: 基于统计的技术,如BACON *离群检测 多变量异常值检测 基于聚类的技术;监督方法: 神经网络 SVM 逻辑回归...

    使用google翻译自:https://software.seek.intel.com/dealing-with-outliers 数据分析中的一项具有挑战性但非常重要的任务是处理异常值.我们通常将异 ...

  10. 【数据挖掘】数据挖掘简介 ( 6 个常用功能 | 数据挖掘结果判断 | 数据挖掘学习框架 | 数据挖掘分类 )

    文章目录 I . 数据挖掘 功能 II . 数据挖掘 结果判断 III . 数据挖掘 学习框架 IV . 数据挖掘 分类 I . 数据挖掘 功能 1 . 概念描述 ( Concept Descript ...

最新文章

  1. EF中一对多的关系中,用单字段保存ID拼接字符串
  2. 程序员书单_UML篇
  3. 1.1计算机系统简介
  4. python实用小技巧
  5. new Date('2014/04/30') 和 new Date('2014-04-30') 的区别
  6. 不可错过!华为终端云服务带来Mate 20系列专属礼包
  7. 【Python 必会技巧】判断字符串是否为字母/数字/大小写/空白字符/有效标识符/可打印字符
  8. 小程序 | 基于WAMP的新闻网小程序开发(体验全栈式开发微信小程序)
  9. 你不是一个人在战斗!
  10. WMS仓储管理系统有那些功能?
  11. 你相信逛 B 站也能学编程吗?
  12. redis的数据持久化方案
  13. 脚本制作Minilinux
  14. 视频编码解码(H264中的profile和level)
  15. 一件虚拟连衣裙价值9500美元?然而这只是数字服装的开始……
  16. 6、英飞凌-AURIX-TC3XX: PWM实验之使用 GTM -ATOM 实现
  17. 计算机职业生涯规划范文网,计算机职业生涯规划书范文
  18. 【其他】免费主页空间
  19. 飞桨分布式训练又推新品,4D混合并行可训千亿级AI模型
  20. 学历证书有用吗?到了社会才知道

热门文章

  1. 【Javaweb 2】JSP,Filter,Listener,AJAX,Vue
  2. 解决vue项目启动时报错no valid exports main found
  3. JS逆向03之牛刀开刃,图文并茂,逆入门学习天翼云登录。
  4. MPU6050应用详解
  5. vue3 项目结构,目录详解
  6. android常见数据结构的转换
  7. 计算机导论——HTML基础
  8. 已知三个点坐标求 三角形面积 || 求任意多边形面积公式||判断点在直线的左侧还是右侧
  9. 模拟键盘按键、鼠标单击功能发布(可发送快捷键、热键、鼠标左键多次单击)—— 定时执行专家
  10. 立标机器人_立镖CEO夏慧玲:物流机器人“小黄人”的前世、今生与未来