新書推薦:
《
如何成为一家千亿公司
》
售價:NT$
347.0
《
趋势跟踪: 汤姆·巴索的交易谋略
》
售價:NT$
352.0
《
滚滚红尘(《滚滚红尘》电影原著)
》
售價:NT$
250.0
《
罗马之变(法语直译,再现罗马共和国走向罗马帝国的辉煌历史)
》
售價:NT$
500.0
《
自然之争:1600年以来苏格兰和英格兰北部地区的环境史(新史学译丛)
》
售價:NT$
485.0
《
硝烟下的博弈:工业革命与中西方战争
》
售價:NT$
398.0
《
让内的理性主义 发现无意识之旅
》
售價:NT$
301.0
《
苏美尔文明(方尖碑)
》
售價:NT$
602.0
編輯推薦:
通过阅读这本实用手册,人工智能(AI)和机器学习(ML)从业者将会学习如何在Amazon网络服务(AWS)上成功构件并部署数据科学项目。Amazon AI和ML服务栈将数据科学、数据工程和应用开发统一在一起,来帮助你提升技能。这本手册向你展示如何在云上搭建和运行流水线,并将运行结果在几分钟内(而不是几天)集成到应用中。此外,本书作者还在全书各个章节点明了降低开销并提升性能的方法。
內容簡介:
将Amazon AI和ML服务栈应用到真实世界的应用场景,如自然语言处理、计算机视觉、欺诈检测、对话式设备等。使用Amazon SageMaker Autopilot,通过自动化机器学习(AutoML)实现特定应用场景的子集。深入理解一个基于BERT的自然语言处理场景的模型开发的完整生命周期,包括数据接入、数据分析以及更多。将所有组件包装成一个可重复的机器学习运维流水线。通过Amazon Kinesis和Amazon Managed Streaming for Apache Kafka(MSK),在实时数据流中探索实时机器学习、异常检测和流分析。了解数据科学项目和工作流中的最佳安全实践,包括在数据接入和分析、模型训练和部署过程中应用AWS Identity and Access Management(IAM)、鉴权、授权。
關於作者:
Chris Fregly是AWS的首席AI和机器学习开发者和布道者,居住在旧金山。他经常在全世界的AI和机器学习会议上演讲,包括O’Reilly AI Superstream系列。之前,Chris曾是PipelineAI的创建者,Databricks的解决方案工程师,以及Netflix的软件工程师。
Antje Barth是AWS的高级AI和机器学习开发者和倡导者,居住于德国杜塞尔多夫。Antje是“Women in Big Data”杜塞尔多夫分部的联合创始人,她频繁在全世界的AI和机器学习会议和聚会上演讲。她同时也任职于O’Reilly AI Superstream大会并策划内容。
目錄 :
目录
前言 . 1
第1 章 基于AWS 的数据科学概述 . 9
1.1 云计算的益处 9
1.2 数据科学流水线与工作流 12
1.3 机器学习运维最佳实践 15
1.4 使用Amazon SageMaker 实现Amazon 人工智能服务和机器学习
自动化 19
1.5 在AWS 上实现数据接入、探索与准备21
1.6 使用Amazon SageMaker 训练和调试模型 .27
1.7 使用Amazon SageMaker 和AWS Lambda 函数部署模型 30
1.8 AWS 上的流分析和机器学习 31
1.9 AWS 基础设施和定制化硬件 32
1.10 使用标签、预算和告警减少开销 .36
1.11 小结 .36
第2 章 数据科学的应用场景 39
2.1 在每个行业实现创新 .39
2.2 个性化产品推荐 40
2.3 使用Amazon Rekognition 检测不当视频 47
2.4 需求预测 49
2.5 使用Amazon Fraud Detector 识别虚假账号 53
2.6 使用Amazon Macie 检测隐私泄漏 54
2.7 对话装置和语音助手 .56
2.8 文本分析和自然语言处理 56
2.9 认知式搜索和自然语言理解 62
2.10 智能客户支持中心 63
2.11 工业人工智能服务和预测性维护 64
2.12 使用AWS IoT 和Amazon SageMaker 实现家庭自动化 65
2.13 从医疗卫生档案中提取医疗信息 .66
2.14 自我优化的智能云基础设施 67
2.15 认知式的预测性商业智能 .69
2.16 培养下一代人工智能和机器学习开发者 73
2.17 使用量子计算实现大自然的操作系统 78
2.18 提升性能并节省开支 83
2.19 小结 .85
第3 章 自动化机器学习 87
3.1 用SageMaker Autopilot 实现自动化机器学习 88
3.2 用SageMaker Autopilot 跟踪实验 90
3.3 用SageMaker Autopilot 训练并部署文本分类器 .90
3.4 用Amazon Comprehend 实现自动化机器学习 105
3.5 小结 .109
第4 章 将数据接入云 111
4.1 数据湖 112
4.2 用Amazon Athena 查询Amazon S3 数据湖 119
4.3 用AWS Glue Crawler 持续接入新数据 .125
4.4 用Amazon Redshift Spectrum 构建数据湖仓 .127
4.5 在Amazon Athena 和Amazon Redshift 之间选择 135
4.6 降低开销并提升性能 135
4.7 小结 .143
第5 章 探索数据集 145
5.1 AWS 上可用于浏览数据的工具 .146
5.2 使用 SageMaker Studio 可视化数据湖 147
5.3 查询数据仓库 .161
5.4 使用Amazon QuickSight 创建数据仪表170
5.5 使用Amazon SageMaker 和Apache Spark 检测数据质量问题 .171
5.6 数据集的偏差检测 179
5.7 使用 SageMaker Clarify 检测不同类别的数据偏移问题 188
5.8 使用AWS Glue DataBrew 分析数据 189
5.9 节省开支并提升性能 191
5.10 小结 194
第6 章 为模型训练准备数据集 195
6.1 特征选择和特征工程 195
6.2 使用 SageMaker 处理任务进行规模化特征工程 210
6.3 通过 SageMaker 特征存储(Feature Store)共享特征 218
6.4 使用 SageMaker Data Wrangler 接入并转换数据 .222
6.5 使用Amazon SageMaker 追踪构件和实验谱系 223
6.6 使用 AWS Glue DataBrew 接入并转换数据 228
6.7 小结 .231
第7 章 训练第一个模型 . 233
7.1 理解SageMaker 基础设施 233
7.2 使用SageMaker JumpStart 部署预先训练的BERT 模型 238
7.3 开发一个SageMaker 模型 240
7.4 自然语言处理简史 242
7.5 BERT 转换器架构 .245
7.6 从头训练 BERT .247
7.7 微调预先训练的 BERT 模型 249
7.8 创建训练脚本 .253
7.9 从SageMaker 笔记本启动训练脚本 260
7.10 评估模型 .267
7.11 使用SageMaker 调试器调试和剖析模型训练 272
7.12 阐述和解释模型预测 278
7.13 检测模型偏差并解释预测 284
7.14 BERT 的更多训练选项 290
7.15 节省开支并提升性能 300
7.16 小结 306
第8 章 规模化训练与优化模型 307
8.1 自动发现模型的最优超参数 307
8.2 对额外的 SageMaker 超参数调优任务应用热启动 315
8.3 使用SageMaker 分布式训练扩大训练规模 .319
8.4 节省开支并提升性能 327
8.5 小结 .331
第9 章 部署模型到生产环境 . 333
9.1 选择实时预测或批量预测 .333
9.2 使用 SageMaker Endpoints 进行实时预测 335
9.3 使用Amazon CloudWatch 控制 SageMaker Endpoints 自动伸缩 .343
9.4 部署新模型与更新模型的策略 348
9.5 测试与比较新模型 352
9.6 模型性能监控与漂移检测 .364
9.7 监控已部署的 SageMaker Endpoints 数据质量 .368
9.8 监控已部署的 SageMaker Endpoints 模型质量 .374
9.9 监控已部署的 SageMaker Endpoints 偏差漂移 .379
9.10 监控已部署的SageMaker Endpoints 特征归因(Feature Attribution)
漂移 382
9.11 使用SageMaker 批量转换进行批量预测 385
9.12 AWS Lambda 函数与Amazon API 网关 .391
9.13 优化和管理边缘模型 392
9.14 使用TorchServe 部署PyTorch 模型 .392
9.15 使用AWS Deep Java 库进行TensorFlow-BERT 推理 .395
9.16 节省开支并提升性能 397
9.17 小结 403
第10 章 流水线和机器学习运维 . 405
10.1 机器学习运维 405
10.2 软件流水线 407
10.3 机器学习流水线 408
10.4 使用SageMaker 流水线进行流水线编排 412
10.5 使用SageMaker 流水线实现自动化 .424
10.6 更多流水线选项 429
10.7 人机回圈工作流 439
10.8 节省开支并提升性能 445
10.9 小结 447
第11 章 流分析与机器学习 449
11.1 在线学习与离线学习 450
11.2 流应用 450
11.3 对流数据实现窗口查询451
11.4 AWS 上的流分析和机器学习 455
11.5 使用Amazon Kinesis,AWS Lambda 和Amazon SageMaker 进行
实时产品评价分类 .457
11.6 使用Amazon Kinesis Data Firehose 实现流数据接入 .458
11.7 使用流分析汇总实时产品评价 463
11.8 设置Amazon Kinesis 数据分析 464
11.9 Amazon Kinesis 数据分析应用 473
11.10 使用Apache Kafka, AWS Lambda 和Amazon SageMaker 进行
产品评价分类 480
11.11 节省开支并提升性能 .482
11.12 小结 484
第12 章 用AWS 保证数据科学安全 485
12.1 AWS 与客户的责任共担模型485
12.2 应用 AWS 身份和访问管理(IAM) 486
12.3 隔离计算和网络环境 495
12.4 安全访问Amazon S3 的数据 498
12.5 数据静态加密 507
12.6 数据传输加密 511
12.7 安全使用 SageMaker Notebook 实例 .513
12.8 安全使用 SageMaker Studio .515
12.9 安全运行SageMaker 任务和模型 517
12.10 安全使用 AWS Lake Formation 522
12.11 通过 AWS 加密信息管理服务安全使用数据库凭据 522
12.12 治理 523
12.13 可审计性 527
12.14 节省开支并提升性能 .528
12.15 小结 530
內容試閱 :
前言
通过阅读这本实用指南,人工智能(Artificial Intelligence,AI)和机器学习(Machine Learning,ML)从业者将会学习如何在 Amazon 网络服务(Amazon Web Services,AWS)上成功构建并部署数据科学项目。Amazon AI 和 ML 服务栈将数据科学、数据工程和应用开发统一在一起,来帮助你提升技能。这本手册向你展示如何在云上搭建和运行流水线,并将运行结果在几分钟内(而不是几天)集成到应用中。此外,本书作者还在全书每章介绍了降低开销并提升性能的方法。
? 将Amazon AI 和ML 服务栈应用到真实世界的应用场景,如自然语言处理、计算机视觉、欺诈检测、对话式设备等。
? 使用Amazon SageMaker Autopilot,通过自动化机器学习(AutoML)实现特定子集的应用场景。
? 深入理解一个基于BERT 的自然语言处理场景的模型开发的完整生命周期,包括数据接入、数据分析以及更多。
? 将所有组件包装成一个可重复的机器学习运维流水线。
? 通过Amazon Kinesis 和 Amazon Managed Streaming for Apache Kafka(MSK),在实时数据流中探索实时机器学习、异常检测和流分析。
? 了解数据科学项目和工作流中的最佳安全实践,包括在数据接入和分析、模型训练和部署过程中应用 AWS Identity and Access Management(IAM)、鉴权、授权。
本书的概要
第1 章简要介绍了Amazon AI 和ML 栈,这是一个极为强大的集合,提供了可供任何复杂度和规模的数据科学项目使用的各种服务、开源库以及基础设施。
第2 章描述了如何将Amazon AI 和ML 栈应用在真实世界的使用场景来实现推荐、计算机视觉、欺诈检测、自然语言理解(NLU)、对话式设备、认知搜索、客户支持、工业预测性维护、家庭自动化、物联网(IoT)、医疗卫生和量子计算。
第3 章演示了如何使用SageMaker Autopilot 通过AutoML 实现一些上面提到的场景。
第4 ~ 9 章深入介绍了一个基于BERT 的NLP 使用场景的、完整的模型开发生命周期,包括数据接入与分析、特征选择和工程、模型训练、微调和部署,这些步骤通过 Amazon SageMaker、Amazon Athena、Amazon Redshift、Amazon EMR、TensorFlow、PyTorch 和无服务器化的Apache Spark 实现。
第10 章通过SageMaker Pipelines、Kubeflow Pipelines、Apache Airflow、MLflow和TFX 实现MLOps,将所有服务组合集成进可重复的流水线。
第11 章使用Amazon Kinesis 和Apache Kafka,展示了基于实时数据流的实时ML、异常检测和流分析。
第12 章全面展示了数据科学项目和工作流中的最佳安全实践,包括IAM、鉴权、授权、网络隔离、数据静态加密、后量子网络传输加密、治理和可审计性。
在全书每一章,我们都提供了一些在AWS 上实践数据科学项目的技巧,以优化开销和改进性能。
本书的读者对象
这本书适合每一位需要使用数据做出重大商业决策的读者。本书提供的指导将帮助数据分析师、数据科学家、数据工程师、ML 工程师、研究科学家、应用开发者和DevOps 工程师来拓宽其对现代数据科学技术栈的理解,并提升其使用云服务的技能。Amazon AI 和 ML 栈统一了数据科学、数据工程和应用开发,来帮助用户提升超越其当前岗位的技能。我们展示了如何在云上构建和运行流水线,并仅使用数分钟而不是数天,将运行结果集成到应用中。
为了能够尽可能充分地理解本书的内容,我们建议读者在阅读本书之前已经拥有如下知识:
? 对云计算的基本理解。
? 基本的编程技能,如使用Python、R、Java/Scala 或 SQL。
? 基本熟悉数据科学工具,如Jupyter Notebook、pandas、NumPy 或scikit-learn。
其他资源
本书受到了很多伟大的作者和资源的启发:
? Aurélien Géron 编著的《Hands-on Machine Learning with Scikit-Learn, Keras,and TensorFlow》(O’Reilly)是一本非常棒的指导手册,通过使用一些流行的工具诸如Python、scikit-learn 和TensorFlow 构建智能ML 系统。
? Jeremy Howard 和Sylvain Gugger 编著的《Deep Learning for Coders with fastai and PyTorch》(O’Reilly)对于使用 PyTorch 搭建深度学习应用而言,是一本优秀的参考书。
? Hannes Hapke 和Catherine Nelson 编著的《Building Machine Learning Pipelines》(O’Reilly)是一本了不起的、易读的参考书籍,用于使用TensorFlow 和 TFX搭建AutoML 流水线。
? Eric R. Johnston、Nic Harrigan 和Mercedes Gimeno-Segovia 编著的《Programming Quantum Computers》(O’Reilly)通过易于理解的例子展示量子优势,极好地介绍了量子计算机。
? Micha Gorelick 和Ian Ozsvald 编著的《High Performance Python》(O’Reilly)是一本高级参考,其中揭示了很多用于为高性能数据处理、特征工程和模型训练而建立和优化Python 代码的技巧。
? 本书有一个专门的网站(https://datascienceonaws.com),用于提供与本书内容有关的进阶工作坊、月度网络研讨会、见面会、视频和幻灯片等相关信息。
排版约定
本书使用了下述排版约定。
斜体(Italic)
表示新术语、URL、电子邮件地址、文件名和扩展名。
等宽字体(Constant Width)
表示程序片段,以及正文中出现的变量、函数名、数据库、数据类型、环境变量、语句和关键字等。
等宽粗体(constant width bold)
表示应该由用户输入的值或根据上下文确定的值替换的文本。
使用本书的示例代码
补充材料(示例代码、练习等)可以在https://github.com/data-science-on-aws 下载。
本书展示的部分示例代码已经简化,用于强调某一种特定的实现。这个资源库包含本书没有提及但非常实用的额外笔记,这些笔记按照本书的章节来组织以方便读者查阅。
本书将帮助你完成你的工作。一般来讲,如果示例代码在本书中出现,你或许可以在你的程序或文档中使用它。你不需要为使用它的许可联系我们,除非你要大范围地复制这些代码。比如,你不需要为使用本书中地若干代码块来编写你的程序而取得许可,而如果你需要售卖、发行 O’Reilly 书籍中的示例,你需要取得许可。你不需要为引用本书和本书中的示例代码回答问题取得许可,但你在产品文档中大量包含本书的示例代码时需要取得许可。
我们很感激但不要求引用。引用通常包括标题、作者、出版社和ISBN。例如:“Data Science on AWS by Chris Fregly and Antje Barth (O’Reilly). Copyright 2021 Antje Barth and Flux Capacitor, LLC, 978-1-492-07939-2”。
如果你觉得自身情况不在合理使用或上述允许的范围内,请通过邮件和我们联系,地址是 permissions@oreilly.com。
O’Reilly 在线学习平台(O’Reilly Online Learning)
近40 年来,O’Reilly Media 致力于提供技术和商业培训、知识和卓越见解,来帮助众多公司取得成功。
公司独有的专家和改革创新者网络通过O’Reilly 书籍、文章以及在线学习平台,分享他们的专业知识和实践经验。O’Reilly 在线学习平台按照您的需要提供实时培训课程、深入学习渠道、交互式编程环境以及来自O’Reilly 和其他200 多家出版商的大量书籍与视频资料。更多信息,请访问网站:https://www.oreilly.com/。
联系我们
任何有关本书的意见或疑问,请按照以下地址联系出版社。
美国:
O’Reilly Media, Inc.
1005 Gravenstein Highway North
Sebastopol, CA 95472
中国:
北京市西城区西直门南大街2 号成铭大厦C 座807 室(100035)
奥莱利技术咨询(北京)有限公司
我们为本书建立了一个网页并将勘误表、示例和任何额外信息发表在网页上。你可以通过https://oreil.ly/data-science-aws 访问这个网页。
你可以将你的评论或关于本书的技术问题通过邮件发送到 errata@oreilly.com.cn。
你可以访问 http://oreilly.com 获取关于我们书籍和课程的新闻和信息。
我们的Facebook:http://facebook.com/oreilly。
我们的Twitter:http://twitter.com/oreillymedia。
我们的YouTube:http://www.youtube.com/oreillymedia。
本书作者经常在Twitter 或LinkedIn 上分享相关的博客文章、会议演讲、幻灯片、meetup 邀请和工作坊的日期。
在Twitter 上关注作者:https://twitter.com/cfregly 和 https://twitter.com/anbarth。
在LinkedIn 上关注作者:https://www.linkedin.com/in/cfregly 和 https://www.linkedin.com/in/antje-barth。
致谢
我们感谢O’Reilly 的开发编辑Gary O’Brien,他帮助我们了解书籍创作的流程,并且更重要的是,每次我们聊天都十分愉快。Gary,谢谢你让我们在第1 章引入了源代码和底层的硬件规格!我们也要感谢高级策划编辑Jessica Haberman,她从本书最初提案到最终的页数都给出了关键的建议。在提交最初提案后的七年里,你帮助我们将提案提升到了能够被最终采纳的水准!特别感谢O’Reilly 的Mike Loukides和Nicole Taché 在我们撰写本书早期提供的周到建议,包括章节概要、介绍和小结。我们热忱感谢不知疲倦地审核,甚至是重新审核本书每一页的审稿人。我们在这里以名字的字母顺序列出每一位审稿人:Ali Arsanjani、Andy Petrella、Brent Rabowsky、Dean Wampler、Francesco Mosconi、Hannah Marlowe、Hannes Hapke、Josh Patterson、Josh Wills、Liam Morrison, Noah Gift、Ramine Tinati、Robert Monarch、Roy Ben-Alta、Rustem Feyzkhanov、Sean Owen、Shelbee Eigenbrode、Sireesha Muppala、Stefan Natu、Ted Dunning 和Tim O’Brien。你们深厚的技术背景和翔实的反馈,不仅对这本书来说,而且对我们未来表达技术内容的方式来说都是无价的。你们帮助这本优秀的书更加杰出,我们十分享受与你们一起工作的过程。
Chris
我要将这本书献给我已故的父亲Thomas Fregly。父亲:你在我8 岁那年带回了我第一台苹果电脑,这永远地改变了我的生活。你帮助10 岁的我理解你的大学微积分教材并巩固了我对数学的强烈兴趣。你教会了我贪婪地阅读、简洁地写作、有效地演讲、迅速地打字和尽早地提问。当我看你在密歇根湖修理一艘搁浅的船的引擎,我持续不断地受到启发,让我深入理解了软件赖以生存的硬件。当我漫步在你在芝加哥太阳时报的办公室时,我了解到每个人都可以讲一个有趣的故事,包括前台人员、首席执行官和维护人员。你向每个人平等地问好,关心他(她)们的子女,倾听他(她)们的故事,并用你自己的一个有趣的故事逗他(她)们笑。当你牵着儿时的我的手漫步于你的大学校园,我了解到,我可以离开人人都走的人行道而去草地上开辟一条我自己的小径。你说过:“不要担心,Chris。他(她)们最终会将这条小径铺平,因为它很显然是从工程楼到餐厅的最短路径。”你说的对,父亲。多年以后,我们去餐厅购买你最喜欢的无糖百事可乐饮料时,都走过那条被铺平的小径。从你身上,我学到了我要在生活中开辟我自己的道路,而不是一味从众。虽然你没有活到Windows 95 面世,但是你其实并没有错过很多。而且,在这件事上你也是对的,苹果操作系统(Mac OS)最终切换到了Linux。
我也要感谢本书的合著者,在许多深夜和周末与我一同工作的Antje Barth,在你的帮助下,这成为了一次非常好的写书体验。尽管旧金山和杜塞尔多夫之间有8~9 小时的时差,然而你经常会参与在线白板会议、最后的源码改进和关于牛津逗号的讨论。我们由于这次经历变成了更好的朋友,如果没有你,我不可能创作出含金量如此之高的优质书籍。我期待未来能在更多项目上与你合作!
Antje
我想要感谢Ted Dunning 和Ellen Friedman,作为我的伟大导师,二位经常鼓励我去接受新的挑战。Ted,在我们交谈时,你的智慧之言经常帮助我从一个不同的角度看问题,无论是准备一场演示比赛,还是提出建议帮助我们的读者从本书理解最多的内容。Ellen,我仍然记得在我刚开始向O’Reilly Strata 和AI 大会提交发言稿时,你如何指导我创建引人注目的会议发言提案。直至今天,我仍然为了易记的标题而绞尽脑汁。可惜的是,O’Reilly 拒绝了我将本书命名为《Alexa, 请训练我的模型》的提议。当你们说“帮助女孩们构建一个她们能够实现的梦想”的时候,你们总是以身作则。出于同样的原因,我想要将本书献给所有拥有科技梦想或正在追求科技生涯的女性朋友们。只要你们相信自己,没有什么能够阻挡你们逐梦科技圈。
有太多的人在我的职业生涯中给予过我支持和鼓励。我向你们表示衷心的感谢。我也想感谢有趣且有见解的合著者Chris。你从一而终地坚持最高的标准,驱使我深入地探索,并鼓励我保持好奇并提出许多问题。你帮助我简化了我的代码、清晰地表达我的想法,并最终接受了有争议的牛津逗号!