首页>参考读物>计算机科学与技术>人工智能

Serverless架构下的AI应用开发:入门、实战与性能优化
作者 : 刘宇 田初东 卢萌凯 王仁达 著
出版日期 : 2022-06-21
ISBN : 978-7-111-70702-8
定价 : 99.00元
扩展资源下载
扩展信息
语种 : 简体中文
页数 : 298
开本 : 16
原书名 :
原出版社:
属性分类: 店面
包含CD : 无CD
绝版 : 未绝版
图书简介

内容简介
这是一部指导读者在Serverless 架构下开发、部署和运维机器学习项目的实战性著作。
本书由阿里巴巴官方出品,来自阿里云和蚂蚁集团的Serverless产品专家、AI算法专家、Serverless解决方案架构师、Serverless工具链技术负责人联合撰写,全方位地梳理和总结了阿里在Serverless架构下的机器学习实战经验,得到了企业界和学术界的10余位专家的高度认可。
具体内容上,本书主要包含如下几个方面:
(1)Serverless架构基础
详细介绍了Serverless架构的概念、特点和应用场景,Serverless架构下的应用开发、部署的流程和方法,以及传统的Web框架如何向Serverless架构迁移和部署,这些都是在Serverless架构下开发和部署应用必备的基础知识。
(2)机器学习算法和机器学习框架在Serverless架构下的应用
详细讲解了支持向量机、神经网络等各种机器学习常用的算法和模型,以及Scikit-learn、TensorFlow、Pytorch、PaddlePaddle等4种主流深度学习框架与Serverless架构的结合,为读者在Serverless架构下开发机器学习应用打下基础。
(3)Serverless架构下的机器学习项目实战
首先通过几个实战案例讲解了图像识别、模型升级、情感分析等机器学习领域的高频应用的Serverless化,为传统的AI应用迁移和部署到Serverless架构给出指引;然后通过两个综合案例讲解了机器学习应用在Serverless架构上从设计、开发、部署到运维的全流程。
(4)Serverless应用性能优化
总结了Serverless架构下应用性能优化的方法和经验,比如冷启动的优化方案、开发注意事项等。

图书特色

阿里巴巴官方出品,阿里云和蚂蚁集团的4位Serverless专家联合撰写,10余位企业界和学术界专家联袂推荐
零基础快速掌握Serverless架构下AI应用的开发、部署、运维,提供了大量项目实例

图书前言

为何写作本书
随着时间的推移,Serverless架构变得越来越火热,其凭借极致弹性、按量付费、低成本运维等特性,在很多领域发挥着越来越重要的作用;机器学习领域在近些年也非常火热,并在越来越多的行业中得到应用。实际上,机器学习项目往往存在资源占用率高、利用率低的问题,尤其在流量波峰和波谷差值较大的项目中,资源浪费更为显著。除此之外,机器学习项目的部署、更新、后期维护相对来说也存在一定的复杂度。因此,如何将Serverless架构应用在机器学习项目中,在保证机器学习项目性能的同时,降低成本,提高资源利用率,是值得研究和探索的问题。本书希望通过简单明了的语言、真实的案例,以及开放的源代码,为读者介绍Serverless架构与机器学习相关的基础知识。希望读者可以通过本书真正理解Serverless架构与机器学习结合的重要价值,并能顺利在Serverless架构下开发、上线机器学习项目,从而更加直接地获得云计算带来的技术红利。
本书主要内容
本书是一本关于Serverless架构下机器学习实战的技术书,通过对Serverless架构的基础介绍、项目开发经验总结,以及常见的机器学习算法、模型、框架的学习,对将机器学习项目应用到Serverless架构、不同机器学习项目与Serverless架构结合以及基于Serverless架构进行机器学习应用开发等内容进行了探索。本书不仅有基础理论知识,还有大量的经验分享,以及对最新技术点的实践应用,包括但不限于Serverless架构下GPU实例的上手、多维度的冷启动优化方案、Serverless架构多模调试能力等。希望读者通过对本书的学习,可以对Serverless架构有一个更加全面、直观的了解,对Serverless架构下的机器学习有更加深入的认识。同时,希望通过本书的抛砖引玉,帮助读者将机器学习项目在Serverless架构下落地,获得云计算发展的技术红利。
本书共8章内容。第1章介绍Serverless架构基础,包括Serverless架构的发展、优势、面临的挑战等;第2章从Serverless架构的开发流程、与ServerFul开发流程的对比、传统框架迁移等多个方面,对Serverless架构下的应用开发进行相关介绍;第3章介绍机器学习相关的探索,包括对支持向量机、神经网络等算法和模型的学习与研究;第4章介绍常见的机器学习框架以及在实战项目中的应用,便于读者了解常见的机器学习框架,以及部署到Serverless架构的方案等;第5章介绍几个机器学习应用较为广泛的领域的项目实战,包括图像识别领域、情感分析领域以及对模型升级迭代相关领域的探索,涉及容器镜像、预留实例、GPU实例等诸多Serverless架构的新功能和特性;第6章和第7章介绍两个完整的Serverless架构与AI结合的案例,从项目背景开始到相关模块的设计、项目的开发与部署,通过完整的流程讲解Serverless架构下机器学习项目的上手、开发、维护全过程;第8章针对Serverless架构进行相关开发经验的分享以及Serverless应用调优方法的总结,包括Serverless架构下的冷启动优化方案、开发注意事项等内容。
如何阅读本书
在阅读本书前,读者应当掌握一定的编程技术,例如具备Node.js、Python等语言的编程能力,同时需要对云计算有初步的了解,有使用阿里云、百度智能云、华为云等的经验,还需要对机器学习相关知识有一定了解。本书从什么是Serverless架构、什么是机器学习开始说起,然后是零基础上手Serverless架构、开发机器学习应用、将机器学习项目部署到Serverless架构,再到引入GPU实例、完整的工程项目等,循序渐进地为读者介绍Serverless架构下的机器学习相关实战。建议读者按以下方式阅读本书。
第一遍通读,主要弄清楚概念,再完成Serverless、机器学习项目的基础入门,并对基于Serverless架构的机器学习有相对简单的实践,对如何将机器学习项目部署到Serverless架构有一个基础的了解。
第二遍对本书在Serverless架构下机器学习项目的优化做进一步探索,从而了解如何降低冷启动对项目的影响,如何通过引入GPU实例赋能Serverless架构下的机器学习项目,以及如何通过Serverless Devs开发者工具快速且简单地部署机器学习项目。
第三遍可以针对本书最后一章进行深入阅读,加深Serverless架构下机器学习项目的应用理解,切实从零开发一款基于Serverless架构的机器学习应用,并将其部署上线,以便对Serverless架构下的机器学习项目的开发技巧有更加深入的认识和见解。
阅读是一个反复又枯燥的过程,读者只有反复研读,才能使自己对Serverless架构的学习不断深入,对Serverless架构下的机器学习应用有更深入的了解。另外,Serverless架构与机器学习发展速度非常快,所以本书的案例代码可能存在失效的情况。但是,笔者会尽快在每个案例的代码仓库中做更新,希望读者可以切实利用好每个案例提供的仓库地址,帮助自己更加高效地了解、学习在Serverless架构下如何更简单、更方便、更科学地开发、部署、运维机器学习项目。
致谢
本书是一本云计算与机器学习结合的技术书。在编写的时候,笔者曾遇到很多困难,在此特别感谢阿里云云原生团队、蚂蚁集团CTO线相关的小伙伴,是你们的支持和鼓励,让本书顺利完成。
感谢田初东(白酒)和我一起合作,努力完成本书的编写,尽管在这个过程中遇到了诸多挑战,但是我们通过各种努力最终达成了目标,过程值得回忆,结果令人欣慰;感谢杨秋弟(曼红)、杨浩然(不瞋)、马鸣(意宸)、陈绪(还剑)等前辈,在本书的整个创作过程中不断给予鼓励和支持,让本书在预期时间内顺利完成;感谢国防科技大学窦勇教授、浙江大学卜佳俊教授、中国科学院大学雷渠江教授等,对本书提出了极具建设性的意见;感谢阿里云云原生开发者姜曦 (筱姜)、机械工业出版社杨福川老师等,在本书编写过程中给予帮助和支持;感谢阿里云UED团队周月侨(小取)帮忙对本书部分插图等进行设计、规范;感谢聂大鹏(拓山)、罗松(西流)、张千风(千风)等,在本书编写过程中指导部分代码的完成,以及功能、案例的实现;感谢钱梅芳(宝惜)对本书提供建议。同时,感谢我的家人对我工作的支持,对我每走一步的信任和鼓励;感谢身边的小伙伴对我的关心和帮助。
由于作者水平有限,书中不足及错误之处在所难免,敬请专家和读者批评指正。

江昱(刘宇)

上架指导

计算机\人工智能

封底文字

张鑫(明致) 蚂蚁集团资深算法专家
本书通过精心组织的机器学习理论,常用算法实例,高效、可复用的Python代码,实现了多个完整的机器学习项目。通过这些实战项目,读者可从中学会如何将自己的机器学习算法部署在更高效、更科学的Serverless架构上,掌握端到端的实践技能。
窦勇 国防科技大学教授、国家自然科学基金杰出青年基金获得者
从Serverless架构的基础知识到项目实战,本书为读者带来相对全面且实用的Serverless与机器学习相结合的内容,可以帮助更多人掌握Serverless架构与机器学习。
秦粤 阿里巴巴高级前端技术专家
离线计算是机器学习的典型应用场景,尤其是模型训练需要大量的调试实验,迫切需要计算资源。这点非常贴合Serverless的优势。本书结合当前热门的Serverless架构和机器学习,从技术原理到应用场景,让读者可以以较低的成本获取知识,感受技术的魅力。
张瑞生 兰州大学信息科学与工程学院教授、甘肃省高等学校计算机类专业教学指导委员会主任
本书不仅介绍了Serverless架构、常用机器学习算法,而且对在Serverless架构下如何从零开发机器学习应用做了详细讲解,包括应用开发流程、应用部署、性能优化等。此外,通过引入GPU实例等展示了在Serverless架构下如何更简单、更方便、更科学地开发、部署、运维机器学习项目。
谢杨 Authing 创始人、CEO
Serverless 是一个能不断降低开发和运维复杂度的创新开发范式,机器学习是使计算机具备智能的核心,这两者的结合无疑将产生更大应用价值。本书将Serverless的理论知识和机器学习项目结合起来讲解,为开发者赋能。
宋敬超 Tetrate布道师、云原生社区创始人
本书作者从 Serverless 架构和机器学习实战项目出发,凭借深厚的理论和实践功底,带你领略云原生时代机器学习项目从构思到云化的全过程。

作者简介

刘宇 田初东 卢萌凯 王仁达 著:刘宇
国防科技大学博士、阿里云Serverless产品侧负责人、阿里战略级开源项目Serverless Devs发起人。阿里云“麒麟布道师”、云原生“十佳布道师”、阿里巴巴“2021年度开源先锋人物”。著有畅销书《Serverless架构》《Serverless工程实践》,以及《架构师特刊:人人都能学会的 Serverless 实践》《Serverless开发速查手册》等电子书。
田初东
浙江大学硕士,先后在蚂蚁集团从事深度学习、机器学习等人工智能算法相关的工作,有多年项目实践经验。擅长使用TensorFlow、PyTorch、MXNet等框架开发项目,尤其在深度学习分布式训练领域有丰富的经验。曾在华为为团队夺得斯坦福DAWNBench榜单第一(2018.12-2019.05)。
卢萌凯
阿里云 Serverless 高级解决方案架构师,先后在华为企业业务、腾讯云、阿里云从事企业客户 IT 技术与信息化建设、Serverless 产品设计、Serverless 解决方案设计以及 Serverless 布道等工作。
王仁达
阿里云高级技术专家,阿里云Serverless工具链技术负责人。先后在百度、阿里云从事集群管理、云原生应用管理、Serverless相关工作,致力于提升用户上云及用云效率。

图书目录

序一
序二
序三
序四
序五
前言
第1章 初识Serverless架构1
1.1 Serverless架构的概念1
1.2 Serverless架构的特点3
1.2.1 优势与价值3
1.2.2 面临的挑战8
1.3 Serverless架构的应用场景16
第2章 Serverless架构下的应用开发21
2.1 Serverless架构下的应用开发流程21
2.2 与ServerFul应用开发流程对比23
2.3 传统Web框架部署与迁移26
2.3.1 请求集成方案26
2.3.2 其他方案31
2.4 Serverless应用的开发和部署34
2.4.1 如何开发、部署Serverless应用34
2.4.2 如何对Serverless应用进行调试45
2.4.3 通过开发者工具进行依赖安装和项目构建54
2.4.4 Serverless架构与CI/CD工具的结合57
2.5 Serverless应用的可观测性65
第3章 机器学习入门68
3.1 什么是人工智能68
3.1.1 人工智能、机器学习和深度学习68
3.1.2 人工智能的发展69
3.1.3 人工智能的典型应用场景71
3.2 常用的机器学习算法73
3.2.1 常见的监督学习算法73
3.2.2 常见的无监督学习算法85
3.2.3 其他常见的深度学习模型88
第4章 主流机器学习框架与Serverless架构结合113
4.1 scikit-learn与Serverless架构结合113
4.1.1 scikit-learn介绍113
4.1.2 scikit-learn实践:鸢尾花数据分类114
4.1.3 与Serverless架构结合:文本分类116
4.2 TensorFlow与Serverless架构结合122
4.2.1 TensorFlow介绍122
4.2.2 TensorFlow实践:基于人工智能的衣物区分124
4.2.3 与Serverless架构结合:目标检测系统127
4.3 PyTorch与Serverless架构结合133
4.3.1 PyTorch介绍133
4.3.2 PyTorch实践:图像分类系统134
4.3.3 与Serverless架构结合:对姓氏进行分类138
4.4 PaddlePaddle与Serverless架构结合143
4.4.1 PaddlePaddle介绍143
4.4.2 PaddlePaddle实践:手写数字识别任务144
4.4.3 与Serverless架构结合:Paddle-OCR项目开发与部署146
第5章 Serverless架构下的AI项目实战152
5.1 Serverless架构下的AI应用152
5.1.1 项目的开发与部署153
5.1.2 冷启动优化153
5.1.3 训练与推理性能优化154
5.1.4 模型更新迭代方案155
5.2 模型升级在Serverless架构下的实现与应用155
5.2.1 模型升级迭代需求背景介绍155
5.2.2 猫狗识别项目训练156
5.2.3 将模型部署到Serverless架构164
5.2.4 用户反馈与模型迭代170
5.2.5 项目总结173
5.3 人脸识别在Serverless架构下的应用174
5.3.1 人脸识别技术介绍174
5.3.2 人脸识别模型训练176
5.3.3 人脸识别模型的应用182
5.3.4 项目Serverless化184
5.3.5 项目总结186
5.4 文本情感分析在Serverless架构下的应用187
5.4.1 文本情感分析介绍187
5.4.2 情感分析模型的训练187
5.4.3 部署到Serverless架构195
5.4.4 项目Serverless化198
5.4.5 项目总结200
第6章 基于Serverless架构的智能问答系统201
6.1 需求分析201
6.2 整体设计203
6.2.1 数据库设计203
6.2.2 原型图设计203
6.2.3 接口设计203
6.2.4 架构设计206
6.3 项目开发208
6.3.1 项目初始化208
6.3.2 数据库与表的建设209
6.3.3 管理后台相关能力的配置211
6.3.4 业务逻辑开发213
6.4 项目部署与运维218
6.5 项目预览223
6.6 项目总结224
第7章 基于Serverless架构的人工智能相册小程序226
7.1 需求分析226
7.2 整体设计228
7.2.1 数据库设计228
7.2.2 原型图设计231
7.2.3 细节设计232
7.2.4 架构设计233
7.3 项目开发237
7.3.1 项目初始化237
7.3.2 小程序开发239
7.3.3 服务端开发246
7.3.4 管理系统开发253
7.4 项目预览254
7.5 经验积累257
7.5.1 Web框架与阿里云函数计算257
7.5.2 如何进行本地调试258
第8章 Serverless应用的优化与注意事项261
8.1 函数基础与资源编排261
8.1.1 函数并不是“函数”261
8.1.2 对无状态性的认识264
8.1.3 资源评估的重要性265
8.1.4 工作流的加持267
8.2 警惕冷启动268
8.2.1 云厂商侧的冷启动优化方案269
8.2.2 开发者侧降低冷启动影响的方案271
8.3 应用开发注意事项275
8.3.1 如何上传文件276
8.3.2 文件读写与持久化方法277
8.3.3 慎用部分Web框架的特性277
8.3.4 应用组成结构注意事项278
8.3.5 如何实现WebSocket278
8.3.6 善于利用平台特性282

教学资源推荐
作者: [印度]拉杰什 P.N.拉奥 (Rajesh P. N. Rao)著
作者: [中国]张岳(Yue Zhang) 滕志扬(Zhiyang Teng
作者: [意] 詹卡洛·福尔蒂诺(Giancarlo Fortino)拉法埃莱·格雷维纳(Raffaele Gravina)斯特凡诺·加尔扎拉诺(Stefano Galzarano) 著
作者: [日]杉山将(Masashi Sugiyama)著
参考读物推荐
作者: 毕然 飞桨教材编写组 编著
作者: [美] 尼克·麦克卢尔(Nick McClure) 著
作者: [意大利]保罗·加莱奥内(Paolo Galeone) 著
作者: [美]弗朗西斯卡·拉泽里(Francesca Lazzeri)著