机器学习平台架构实战


这本书名为《机器学习平台架构实战》(The Machine Learning Solutions Architect Handbook),由[美]戴维·平(David Ping)著,郭兴霞译,由清华大学出版社出版。

一、书籍概要

  1. 核心主题

• 本书主要探讨机器学习平台的架构与实践,旨在帮助读者了解如何设计、构建和实施有效的机器学习平台,以满足企业在人工智能时代的数据处理和分析需求。

  1. 主要内容章节

• 机器学习平台概述(第1章)

• 介绍机器学习平台的概念、组成部分和重要性,为读者建立对机器学习平台的基本认知。

• 数据处理与管理(第2 - 3章)

• 阐述数据在机器学习平台中的重要性,包括数据收集、清洗、存储和管理等内容。

• 模型训练与评估(第4 - 5章)

• 详细介绍机器学习模型的训练方法、评估指标和优化策略,确保模型的准确性和可靠性。

• 平台架构与部署(第6 - 7章)

• 探讨机器学习平台的架构设计、技术选型和部署方法,使平台能够高效运行并适应企业环境。

• 实践案例与应用(第8 - 9章)

• 包括实际案例分析和机器学习平台在不同领域的应用,展示如何在实际场景中应用所学知识。

二、详细内容

  1. 机器学习平台概述

• 概念与组成

• 介绍机器学习平台是一个集成了数据处理、模型训练、评估和部署等功能的综合性系统。它通常包括数据层、算法层、计算层和应用层等组成部分。

• 重要性

• 阐述机器学习平台对于企业的重要性,它能够帮助企业快速、高效地利用数据进行预测和决策,提升企业的竞争力。

  1. 数据处理与管理

• 数据收集

• 讲解如何从各种数据源(如数据库、文件系统、网络接口等)收集数据,确保数据的完整性和一致性。

• 数据清洗

• 阐述数据清洗的方法和技术,包括去除噪声、处理缺失值和异常值等,提高数据的质量。

• 数据存储与管理

• 介绍如何选择合适的数据存储方式(如关系型数据库、非关系型数据库等),并对数据进行有效的管理和维护。

  1. 模型训练与评估

• 训练方法

• 详细介绍机器学习模型的训练方法,包括监督学习、无监督学习和强化学习等,以及如何选择合适的训练算法和参数。

• 评估指标

• 阐述模型评估的常用指标,如准确率、召回率、F1值、均方误差等,通过这些指标可以判断模型的好坏。

• 优化策略

• 介绍如何对模型进行优化,包括调整模型结构、修改训练参数、采用正则化方法等,提高模型的泛化能力。

  1. 平台架构与部署

• 架构设计

• 探讨机器学习平台的架构设计原则和方法,包括如何选择合适的技术框架(如TensorFlow、PyTorch等),如何设计系统的模块和接口。

• 技术选型

• 阐述在构建机器学习平台时如何进行技术选型,考虑因素包括性能、可扩展性、易用性和成本等。

• 部署方法

• 介绍如何将机器学习平台部署到生产环境中,包括选择合适的部署平台(如本地服务器、云平台等),配置系统环境和服务。

  1. 实践案例与应用

• 案例分析

• 书中包含实际案例,展示了如何在实际项目中构建和应用机器学习平台。例如,在某个具体的业务场景中,如何从数据收集开始,经过平台的各个功能模块,最终实现模型的部署和应用。

• 应用领域

• 阐述机器学习平台在不同领域(如金融、医疗、电商等)的应用,通过实际案例帮助读者了解机器学习平台的实际应用价值。

三、书籍意义和应用价值

  1. 对行业的意义

• 本书为机器学习平台的设计和实施提供了实用的指导,有助于推动企业构建和应用机器学习平台,提高数据处理和分析的效率和质量。通过实际案例的分享,能够帮助企业和技术人员更好地理解和应用机器学习平台技术。

  1. 对读者的价值

• 对于机器学习工程师、数据科学家和相关专业的学生,本书提供了系统的机器学习平台架构知识和实践方法,帮助他们掌握这一重要技能。对于希望将机器学习应用于企业实际工作的人员,本书是一本极具实践指导意义的工具书。

四、总结

《机器学习平台架构实战》是一本专注于机器学习平台架构和实践的专业书籍。通过对机器学习平台概述、数据处理与管理、模型训练与评估、平台架构与部署、实践案例与应用等方面的详细阐述,为读者提供了全面的机器学习平台构建方法和知识。本书在帮助读者掌握机器学习平台架构技能方面具有重要意义。

读书摘要

《机器学习平台架构实战》是一本全面介绍机器学习平台架构实践的书籍。书中涵盖了从机器学习基础概念到实际平台架构搭建的多方面内容。

在基础部分,介绍了机器学习和机器学习解决方案架构,包括人工智能、监督学习、无监督学习、强化学习等基本概念,以及机器学习生命周期、业务理解和机器学习转型等内容,还展示了机器学习在金融服务、媒体和娱乐、医疗保健等多个领域的应用实例。

接着详细阐述了机器学习算法,如线性回归、逻辑回归、梯度提升机、XGBoost、K - 最近邻、多层感知器网络、聚类算法、K - means、时间序列分析算法等,并对这些算法的原理和应用场景进行了说明。

在数据管理方面,讲解了机器学习的数据管理注意事项,包括数据存储和管理(如数据湖、AWS Lake Formation)、数据提取、数据处理技术、数据版本控制、机器学习特征存储等内容。

书中还深入介绍了开源机器学习库,如scikit - learn、Apache Spark、TensorFlow、PyTorch等库的核心功能、安装方法和核心组件,以及如何训练这些库中的模型。

Kubernetes容器编排基础设施管理是书中的重要部分,包括容器介绍、Kubernetes概述和核心概念、网络安全、在Kubernetes上运行机器学习工作负载等内容。

最后,本书还涉及使用AWS机器学习服务构建数据科学环境、企业机器学习平台的架构设计和监管注意事项、机器学习治理、偏差、可解释性和隐私等内容,并通过大量的动手练习帮助读者更好地掌握机器学习平台架构实践。

三级读书目录

第一部分:基础与应用

• 第1章:机器学习和机器学习解决方案架构

• 1.1人工智能和机器学习的定义

• 1.2监督机器学习

• 1.3无监督机器学习

• 1.4强化学习

• 1.5机器学习与传统软件

• 1.6机器学习生命周期

• 1.6.1业务理解和机器学习问题框架

• 1.6.2数据理解和数据准备

• 1.6.3模型训练和评估

• 1.6.4模型部署

• 1.6.5模型监控

• 1.6.6业务指标跟踪

• 1.7机器学习的挑战

• 1.8机器学习解决方案架构

• 1.8.1业务理解和机器学习转型

• 1.8.2机器学习技术的识别和验证

• 1.8.3系统架构设计与实现

• 1.8.4机器学习平台工作流自动化

• 1.8.5安全性和合规性

• 1.9小测试

• 1.10小结

• 第2章:机器学习的业务用例

• 2.1金融服务中的机器学习用例

• 2.1.1资本市场前台

• 2.1.2资本市场后台运营

• 2.2媒体和娱乐领域的机器学习用例

• 2.2.1内容开发和制作

• 2.2.2内容管理和发现

• 2.2.3内容分发和客户参与

• 2.3医疗保健和生命科学领域的机器学习用例

• 2.3.1医学影像分析

• 2.3.2药物发现

• 2.3.3医疗数据管理

• 2.4制造业中的机器学习用例

• 2.4.1工程和产品设计

• 2.4.2制造运营 - 产品质量和产量

• 2.4.3制造运营 - 机器维护

• 2.5零售业中的机器学习用例

• 2.5.1产品搜索和发现

• 2.5.2目标市场营销

• 2.5.3情绪分析

• 2.5.4产品需求预测

• 2.6机器学习用例识别练习

• 2.7小结

第二部分:算法与数据管理

• 第3章:机器学习算法

• 3.1技术要求

• 3.2机器学习的原理

• 3.3机器学习算法概述

• 3.3.1选择机器学习算法时的注意事项

• 3.3.2将机器学习算法分类

• 3.4分类和回归问题的算法

• 3.4.1线性回归算法

• 3.4.2逻辑回归算法

• 3.4.3决策树算法

• 3.4.4随机森林算法

• 3.4.5梯度提升机和XGBoost算法

• 3.4.6 K - 最近邻算法

• 3.4.7多层感知器网络

• 3.5聚类算法

• 3.5.1 K - means算法

• 3.6时间序列分析算法

• 3.6.1 ARIMA算法

• 3.6.2 DeepAR算法

• 3.7推荐算法

• 3.7.1协同过滤算法

• 3.7.2多臂老虎机/上下文老虎机算法

• 3.8计算机视觉问题的算法

• 3.8.1卷积神经网络

• 3.8.2残差网络

• 3.9自然语言处理问题的算法

• 3.9.1 Word2Vec

• 3.9.2循环神经网络和长期短期记忆

• 3.9.3 BERT

• 3.9.4 GPT

• 3.9.5潜在狄利克雷分配算法

• 3.9.6生成模型

• 3.9.7生成对抗网络

• 3.10动手练习 - 问题陈述

• 3.11数据集描述

• 3.12设置Jupyter Notebook环境

• 3.13运行练习

• 3.14小结

• 第4章:机器学习的数据管理

• 4.1技术要求

• 4.2机器学习的数据管理注意事项

• 4.3机器学习的数据管理架构

• 4.4数据存储和管理

• 4.4.1数据湖

• 4.4.2 AWS Lake Formation

• 4.5数据提取

• 4.5.1决定数据提取工具时的注意事项

• 4.5.2 Kinesis Firehose

• 4.5.3 AWS Glue

• 4.5.4 AWS Lambda

• 4.6数据目录

• 4.6.1采用数据目录技术的关键考虑因素

• 4.6.2 AWS Glue目录

• 4.7数据处理

• 4.7.1数据处理技术的关键要求

• 4.7.2 AWS Glue ETL

• 4.7.3 Amazon Elastic Map Reduce

• 4.7.4 AWS Lambda数据处理

• 4.8数据版本控制

• 4.8.1 S3分区

• 4.8.2专用数据版本工具

• 4.9机器学习特征存储

• 4.10供客户使用的数据服务

• 4.10.1通过API使用

• 4.10.2通过数据复制使用

• 4.11数据管道

• 4.11.1 AWS Glue工作流

• 4.11.2 AWS步骤函数

• 4.12身份验证和授权

• 4.13动手练习 - 使用AWS机器学习的数据管理

• 4.13.1问题陈述

• 4.13.2创建数据湖

• 4.13.3创建Glue目录

• 4.13.4在数据湖中发现和查询数据

• 4.13.5创建Amazon Glue ETL作业以处理机器学习数据

• 4.13.6使用Glue工作流构建数据管道

• 4.14小结

第三部分:开源库与基础设施

• 第5章:开源机器学习库

• 5.1技术要求

• 5.2开源机器学习库的核心功能

• 5.3了解scikit - learn机器学习库

• 5.3.1安装scikit - learn

• 5.3.2 scikit - learn的核心组件

• 5.4了解Apache Spark机器学习库

• 5.4.1安装Spark ML

• 5.4.2 Spark机器学习库的核心组件

• 5.5了解TensorFlow深度学习库

• 5.5.1安装TensorFlow

• 5.5.2 TensorFlow的核心组件

• 5.6动手练习 - 训练TensorFlow模型

• 5.7了解PyTorch深度学习库

• 5.7.1安装PyTorch

• 5.7.2 PyTorch的核心组件

• 5.8动手练习 - 构建和训练PyTorch模型

• 5.9小结

• 第6章:Kubernetes容器编排基础设施管理

• 6.1技术要求

• 6.2容器介绍

• 6.3 Kubernetes概述和核心概念

• 6.4 Kubernetes网络

• 6.4.1 Kubernetes网络流程

• 6.4.2从集群外部访问Pod或服务的选项

• 6.4.3服务网格

• 6.5 Kubernetes安全和访问控制

• 6.6动手练习 - 在AWS上构建Kubernetes基础设施

• 6.6.1问题陈述

• 6.6.2操作指导

• 6.7小结

第四部分:平台架构与服务

• 第7章:开源机器学习平台

• 7.1技术要求

• 7.2机器学习平台的核心组件

• 7.3用于构建机器学习平台的开源技术

• 7.3.1将Kubeflow用于数据科学环境

• 7.3.2搭建模型训练环境

• 7.3.3使用注册表注册模型

• 7.3.4 MLFlow模型注册表

• 7.3.5使用模型服务框架

• 7.3.6 Gunicon和Flask推理引擎

• 7.3.7 TensorFlow Serving框架

• 7.3.8 TorchServe服务框架

• 7.3.9 KFServing框架

• 7.3.10 Seldon Core

• 7.3.11自动化机器学习管道工作流程

• 7.3.12 Apache Airflow

• 7.3.13 Kubeflow Pipelines

• 7.4动手练习 - 使用开源技术构建数据科学架构

• 7.4.1第1部分 - 安装Kubeflow

• 7.4.2第2部分 - 安装MLFlow

• 7.4.3第3部分 - 跟踪实验和管理模型

• 7.4.4第4部分 - 使用机器学习管道实现自动化

• 7.4.5创建自动化管道服务账户访问Istio服务的权限

• 7.5小结

• 第8章:使用AWS机器学习服务构建数据科学环境

• 8.1技术要求

• 8.2使用SageMaker的数据科学环境架构

• 8.2.1 SageMaker Studio

• 8.2.2 SageMaker Processing

• 8.2.3 SageMaker Training服务

• 8.2.4 SageMaker Tuning

• 8.2.5 SageMaker Experiments

• 8.2.6 SageMaker Hosting

• 8.3动手练习 - 使用AWS服务构建数据科学环境

• 8.3.1问题陈述

• 8.3.2数据集

• 8.3.3操作步骤说明

• 8.3.4设置SageMaker Studio

• 8.3.5设置CodeCommit

• 8.3.6在Jupyter Notebook中训练BERT模型

• 8.3.7使用SageMaker Training服务训练BERT模型

• 8.3.8部署模型

• 8.3.9将源代码保存到CodeCommit存储库

• 8.4小结

• 第9章:使用AWS机器学习服务构建企业机器学习架构

• 9.1技术要求

• 9.2企业机器学习平台的关键要求

• 9.3企业机器学习架构模式概述

• 9.4模型训练环境

• 9.4.1模型训练引擎

• 9.4.2自动化支持

• 9.4.3模型训练生命周期管理

• 9.5模型托管环境深入研究

• 9.5.1推理引擎

• 9.5.2身份验证和安全控制

• 9.6小结

第五部分:平台治理与优化

• 第10章:高级机器学习工程

• 10.1技术要求

• 10.2通过分布式训练方式训练大规模模型

• 10.2.1使用数据并行进行分布式训练

• 10.2.2参数服务器概述

• 10.2.3在框架中实现参数服务器

• 10.2.4 AllReduce概述

• 10.2.5在框架中实现AllReduce和Ring AllReduce

• 10.3使用模型并行进行分布式模型训练

• 10.3.1朴素模型并行性概述

• 10.3.2管道模型并行性概述

• 10.3.3张量并行概述

• 10.3.4实现模型并行训练

• 10.3.5 Megatron - LM概述

• 10.3.6 DeepSpeed概述

• 10.3.7 SageMaker分布式训练库概述

• 10.4实现低延迟模型推理

• 10.4.1模型推理的工作原理和可优化的机会

• 10.4.2硬件加速

• 10.4.3模型优化

• 10.4.4图和算子优化

• 10.4.5模型编译器

• 10.4.6推理引擎优化

• 10.5动手练习 - 使用ByTorch运行分布式模型训练

• 10.5.1修改训练脚本

• 10.5.2修改train()函数

• 10.5.3修改get_data_loader()函数

• 10.5.4为多设备服务器节点添加多处理启动支持

• 10.5.5修改和运行启动器notebook

• 10.6小结

• 第11章:机器学习治理、偏差、可解释性和隐私

• 11.1技术要求

• 11.2机器学习治理的定义和实施原因

• 11.2.1围绕模型风险管理的监管环境

• 11.2.2机器学习模型风险的常见原因

• 11.3了解机器学习治理框架

• 11.4了解机器学习偏差和可解释性

• 11.4.1偏差检测和减少

• 11.4.2机器学习可解释性技术

• 11.4.3 LIME

• 11.4.4 SHAP

• 11.5设计用于治理的机器学习平台

• 11.5.1数据和模型文档

• 11.5.2模型清单

• 11.5.3模型监控

• 11.5.4变更管理控制

• 11.5.5世系和可重复性

• 11.5.6可观察性和审计

• 11.5.7安全和隐私保护

• 11.5.8差分隐私

• 11.6小结

• 第12章:使用人工智能服务和机器学习平台构建机器学习解决方案

• 12.1技术要求

• 12.2人工智能服务的定义

• 12.2.1 Amazon Comprehend

• 12.2.2 Amazon Textract

• 12.2.3 Amazon Rekognition

• 12.2.4 Amazon Transcribe

• 12.2.5 Amazon Personalize

• 12.2.6 Amazon Kendra

• 12.3针对机器学习用例评估AWS人工智能服务

• 12.4使用人工智能服务构建智能解决方案

• 12.4.1自动化贷款验证和数据提取

• 12.4.2贷款文件分类工作流程

• 12.4.3贷款数据处理流程

• 12.4.4媒体处理和分析工作流程

• 12.4.5电商产品推荐

• 12.4.6通过智能搜索实现客户自助服务自动化

• 12.5为人工智能服务设计机器学习运维架构

• 12.5.1人工智能服务和机器学习运维的AWS的代码推广

• 12.5.2跨环境的账户设置策略

• 12.6监控人工智能服务的运营指标

• 12.7动手练习 - 使用人工智能服务运行机器学习任务