这本书名为《机器学习平台架构实战》(The Machine Learning Solutions Architect Handbook),由[美]戴维·平(David Ping)著,郭兴霞译,由清华大学出版社出版。
一、书籍概要
- 核心主题
• 本书主要探讨机器学习平台的架构与实践,旨在帮助读者了解如何设计、构建和实施有效的机器学习平台,以满足企业在人工智能时代的数据处理和分析需求。
- 主要内容章节
• 机器学习平台概述(第1章)
• 介绍机器学习平台的概念、组成部分和重要性,为读者建立对机器学习平台的基本认知。
• 数据处理与管理(第2 - 3章)
• 阐述数据在机器学习平台中的重要性,包括数据收集、清洗、存储和管理等内容。
• 模型训练与评估(第4 - 5章)
• 详细介绍机器学习模型的训练方法、评估指标和优化策略,确保模型的准确性和可靠性。
• 平台架构与部署(第6 - 7章)
• 探讨机器学习平台的架构设计、技术选型和部署方法,使平台能够高效运行并适应企业环境。
• 实践案例与应用(第8 - 9章)
• 包括实际案例分析和机器学习平台在不同领域的应用,展示如何在实际场景中应用所学知识。
二、详细内容
- 机器学习平台概述
• 概念与组成
• 介绍机器学习平台是一个集成了数据处理、模型训练、评估和部署等功能的综合性系统。它通常包括数据层、算法层、计算层和应用层等组成部分。
• 重要性
• 阐述机器学习平台对于企业的重要性,它能够帮助企业快速、高效地利用数据进行预测和决策,提升企业的竞争力。
- 数据处理与管理
• 数据收集
• 讲解如何从各种数据源(如数据库、文件系统、网络接口等)收集数据,确保数据的完整性和一致性。
• 数据清洗
• 阐述数据清洗的方法和技术,包括去除噪声、处理缺失值和异常值等,提高数据的质量。
• 数据存储与管理
• 介绍如何选择合适的数据存储方式(如关系型数据库、非关系型数据库等),并对数据进行有效的管理和维护。
- 模型训练与评估
• 训练方法
• 详细介绍机器学习模型的训练方法,包括监督学习、无监督学习和强化学习等,以及如何选择合适的训练算法和参数。
• 评估指标
• 阐述模型评估的常用指标,如准确率、召回率、F1值、均方误差等,通过这些指标可以判断模型的好坏。
• 优化策略
• 介绍如何对模型进行优化,包括调整模型结构、修改训练参数、采用正则化方法等,提高模型的泛化能力。
- 平台架构与部署
• 架构设计
• 探讨机器学习平台的架构设计原则和方法,包括如何选择合适的技术框架(如TensorFlow、PyTorch等),如何设计系统的模块和接口。
• 技术选型
• 阐述在构建机器学习平台时如何进行技术选型,考虑因素包括性能、可扩展性、易用性和成本等。
• 部署方法
• 介绍如何将机器学习平台部署到生产环境中,包括选择合适的部署平台(如本地服务器、云平台等),配置系统环境和服务。
- 实践案例与应用
• 案例分析
• 书中包含实际案例,展示了如何在实际项目中构建和应用机器学习平台。例如,在某个具体的业务场景中,如何从数据收集开始,经过平台的各个功能模块,最终实现模型的部署和应用。
• 应用领域
• 阐述机器学习平台在不同领域(如金融、医疗、电商等)的应用,通过实际案例帮助读者了解机器学习平台的实际应用价值。
三、书籍意义和应用价值
- 对行业的意义
• 本书为机器学习平台的设计和实施提供了实用的指导,有助于推动企业构建和应用机器学习平台,提高数据处理和分析的效率和质量。通过实际案例的分享,能够帮助企业和技术人员更好地理解和应用机器学习平台技术。
- 对读者的价值
• 对于机器学习工程师、数据科学家和相关专业的学生,本书提供了系统的机器学习平台架构知识和实践方法,帮助他们掌握这一重要技能。对于希望将机器学习应用于企业实际工作的人员,本书是一本极具实践指导意义的工具书。
四、总结
《机器学习平台架构实战》是一本专注于机器学习平台架构和实践的专业书籍。通过对机器学习平台概述、数据处理与管理、模型训练与评估、平台架构与部署、实践案例与应用等方面的详细阐述,为读者提供了全面的机器学习平台构建方法和知识。本书在帮助读者掌握机器学习平台架构技能方面具有重要意义。
读书摘要
《机器学习平台架构实战》是一本全面介绍机器学习平台架构实践的书籍。书中涵盖了从机器学习基础概念到实际平台架构搭建的多方面内容。
在基础部分,介绍了机器学习和机器学习解决方案架构,包括人工智能、监督学习、无监督学习、强化学习等基本概念,以及机器学习生命周期、业务理解和机器学习转型等内容,还展示了机器学习在金融服务、媒体和娱乐、医疗保健等多个领域的应用实例。
接着详细阐述了机器学习算法,如线性回归、逻辑回归、梯度提升机、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监控人工智能服务的运营指标