Serverless 架构下的 AI 应用开发

本文涉及的产品
简介: 深度学习彻底改变了人工智能,但其广泛应用离不开强大的算力支撑,如何使用 Serverless 架构应对机器学习领域的工程挑战?

2000元阿里云代金券免费领取,2核4G云服务器仅664元/3年,新老用户都有优惠,立即抢购>>>


阿里云采购季(云主机223元/3年)活动入口:请点击进入>>>,


阿里云学生服务器(9.5元/月)购买入口:请点击进入>>>,

随着时间的推移,Serverless 架构变得越来越火热,凭借着极致弹性、按量付费、低成本运维等特性,在很多领域发挥着越来越重要的作用;机器学习领域在近些年也非常火热,并在越来越多的行业中得到应用。

实际上,机器学习项目往往存在资源占用率高、利用率低的问题,尤其在流量波峰和波谷差值较大的项目中,资源浪费更为显著。除此之外,机器学习项目的部署、更新、后期维护相对来说也存在一定的复杂度。由此若将 Serverless 架构应用在机器学习项目中,在保证机器学习项目性能的同时,既能降低成本,又能提高资源利用率,是非常值得研究和探索的课题。

这里推荐本新书

《Serverless 架构下的 AI 应用开发》

111.png

本书旨在通过简单明了的语言、真实的案例,以及开放的源代码,为读者介绍 Serverless 架构与机器学习相关的基础知识。

希望读者可以通过本书真正体会到 Serverless 架构与机器学习结合的重要价值;并能顺利在 Serverless 架构下开发、上线机器学习项目;从而更加直接地获得云计算带来的技术红利。


推荐序

Preface 序一
过去十年,Serverless 和以机器学习为基础的人工智能技术都取得了巨大进步,成为不可忽视的技术发展趋势。

云的产品体系正在 Serverless 化,从计算、存储、数据库到中间件,越来越多的云产品采用了 Serverless 模式。服务器不再是开发者构建应用的唯一选择。全托管的函数计算、Serverless 应用引擎、对象存储、消息队列、数据库等云产品成为构建应用的基础组件,帮助开发者在更高的抽象层构建弹性、高可用的云原生应用。
在云的世界,应用开发将经历汇编语言向高级语言的变革,Serverless 将在下一个十年成为云的默认编程范式。

与此同时,深度学习彻底改变了人工智能。在计算机视觉、语音识别、自然语言处理等领域,深度学习已经取得突破性进展,并将重塑自动驾驶、机器人技术等领域。深度学习的广泛应用离不开强大的算力支撑。无论模型训练还是推理,它们都需要充沛的算力。因此从底层硬件,到深度学习框架,再到垂直应用,深度学习的每个层面都给已有的计算范式带来了挑战。如何高效管理 CPU、GPU 甚至 FPGA 等多种硬件资源?如何整合数据清洗等多个流程来快速实现模型训练?如何让模型推理在线服务更加弹性、高效?这些问题是学术界和工业界一直在思考的,也和 Serverless 的愿景十分契合。

Serverless 和机器学习的交集是一个迷人的领域,业界投入极大的热情探索 Serverless 架构在机器学习领域的应用。在模型推理等分支领域,Serverless 已经成为非常有吸引力的架构。

阿里云数据库团队使用函数计算构建和运行机器学习算法,对几十万数据库实例的运维数据进行分析和处理,实现数据库实例异常检测、SQL 优化、自动弹性伸缩等运维自动化。网易云音乐使用函数计算运行音频指纹识别、音译歌词、副歌检测等算法,处理超过 6000 万首音乐,速度提升 10 倍。

本书除带领读者学习经典的机器学习算法、模型、框架外,还探讨了如何使用 Serverless 架构应对机器学习领域的工程挑战;不仅有理论基础的介绍,还有大量实战经验的分享。读者将学习到机器学习的基本概念、应用特点、架构设计、性能调优等知识。

杨皓然

阿里云智能资深技术专家、阿里云 Serverless 研发负责人

Preface 序二
云原生使组织能够在现代云环境(例如公共云、私有云和混合云)中构建和运行可扩展的应用程序,更快地创新,并使企业更敏捷地对市场做出反应。 云原生无处不在已成事实,并且赋能各个新技术。

你有没有想过构建一个机器学习应用程序:后端有一个重量级模型,前端有一个用户友好的界面,以及一个无服务器的云架构,以便你的产品可以被千千万万的用户应用?

Serverless 解决方案具有的简单性和自动扩展性使其成为大规模运行机器学习应用程序的绝佳选择。基于 Serverless 架构,你可以在不配置或管理服务器的情况下运行代码,且只需为运行时间付费。
如果你想进一步了解这方面的知识,我向你推荐这本书。

Keith
CNCF(云原生计算基金会)中国区总裁

Preface 序三
如今,人工智能在社会发展中扮演着不可或缺的角色,在提高劳动效率、降低劳动成本、优化人力资源结构及提供创新性工作岗位方面带来革命性成果;而云计算为人工智能提供算力支撑的同时,也在逐渐推动行业创新与技术迭代。

随着时间的发展,诞生于云计算高速发展时期的 Serverless 架构逐渐受到关注,正在与更多领域进行有机结合,包括人工智能领域。部署在 Serverless 架构上的人工智能项目不仅可以在近乎无限的计算资源下运行,还可以基于 Serverless 架构的弹性伸缩、按量付费等特性实现降本提效的业务目标。

本书介绍了 Serverless 架构与机器学习项目的结合案例,并通过对基础知识的总结、项目开发实战经验的分享以及项目调优方案的探索,进一步帮助读者拓展思路。本书结构清晰、内容翔实,是一本为 Serverless 开发者以及机器学习项目人员量身定做的技术书籍,值得一读。

卜佳俊
浙江大学研究生院副院长、计算机学院教授、国家“万人计划”科技创新领军人才

Preface 序四
过去几年,云计算加速了互联网产业的发展,Serverless 架构正在以极快的速度促进云计算快速迭代。2018 年,全球知名 IT 咨询调研机构 Gartner 发布报告,将 Serverless 计算列为十大影响基础设施和运维的技术;2019 年,UC Berkeley 在论文“Cloud Programming Simplified: A Berkeley View on Serverless Computing”中表示“Serverless 将成为云时代默认的计算范式”;而 2021年, Forester、DataDog 等一系列机构对Serverless架构投来更多关注的目光,先后发布了多个报告,进一步对 Serverless 进行调研和大胆预测。

在 Serverless 架构飞速发展的过程中,Serverless 架构如何与各领域结合是不可避免的话题,尤其像人工智能这样的领域,Serverless 架构如何将自身的技术红利顺利地作用到机器学习项目,如何在保证机器学习项目高效与稳定运行的同时降本提效,成为很多开发者关注的重点。

作为近些年非常热门的技术,人工智能已经在多个行业落地,在人们生产和生活中产生了积极影响。本书以 Serverless 架构和机器学习为结合点,针对不同行业、不同领域的应用为读者介绍 Serverless 架构下的机器学习项目实战。对于读者来说,书中丰富的实践案例、项目开发经验都颇具借鉴意义。

雷渠江
中国科学院大学博士生导师、粤港澳人工智能联合实验室执行主任

Preface 序五
云计算是一种能够将动态伸缩的虚拟化资源通过互联网以服务的方式提供给用户的计算模式。服务指的是通过一系列活动,而不是实物的方式,满足对方的需求,它是社会经济和社会化分工发展到一定阶段的必然产物。用户通过网络发出计算需求(输入),由服务方汇聚资源进行计算、生成结果(计算输出)并通过网络反馈给用户。云计算技术就是这种新模式下的计算服务使能技术。在该模式下,服务方通过云计算技术保障服务质量并降低成本。
Serverless 架构是云计算发展到现阶段的产物。它运行在一个无状态的计算容器中,由事件驱动,生命周期很短(甚至只有一次调用),完全由第三方管理,具有灵活、轻量化等特性,在越来越多的场景中有非常优秀的表现。

在以算力为主要驱动力的新一轮人工智能浪潮中,机器学习在自然语言处理、图像处理等领域实现了飞跃性发展,催生了人脸识别、语音识别、无人驾驶、对话机器人等一系列创新应用。然而,实现机器学习算法和构建人工智能应用需要强大的算力和高效的数据存储、传输和处理。对于广大从事该领域工作的 IT 人士而言,自行构建支撑环境需要付出高昂的成本和代价,而 Serverless 架构通过云计算模式可以有效解决这一难题。

本书介绍了 Serverless 架构以及如何基于 Serverless 架构进行应用开发,尤其是Serverless 架构与各种机器学习框架相结合的应用。全书深入浅出地介绍了 Serverless 架构相关的知识内容,并详细介绍了大量实战案例。无论人工智能项目的开发人员还是人工智能项目的策划、管理人员,都值得阅读本书。

莫 同
北京大学软件与微电子学院副教授


目录

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

222.png

关注 Serverless 微信公众号(ID:serverlessdevs)即可免费阅读。

相关实践学习
基于函数计算一键部署掌上游戏机
本场景介绍如何使用阿里云计算服务命令快速搭建一个掌上游戏机。
建立 Serverless 思维
本课程包括: Serverless 应用引擎的概念, 为开发者带来的实际价值, 以及让您了解常见的 Serverless 架构模式
相关文章
|
5天前
|
存储 运维 Serverless
Serverless架构在图像处理领域展现出了强大的优势
【4月更文挑战第22天】Serverless架构在图像处理中表现出显著优势:弹性伸缩自动适应负载变化,节省成本;按需付费减少费用,适合需求波动场景;简化运维让开发者专注应用创新;快速迭代部署提升市场响应速度;高可用性和容错性保证服务稳定性;跨平台支持增强兼容性;丰富生态加速开发进程。因此,Serverless是图像处理的理想选择。
20 1
|
5天前
|
存储 弹性计算 Serverless
Serverless架构在图像处理的优势
Serverless架构在图像处理的优势
22 2
|
5天前
|
监控 算法 Serverless
Serverless架构在图像处理中的优势
随着信息时代的到来,图像处理在各个领域发挥着越来越重要的作用,无论是在数字媒体、医学影像、安防监控还是人工智能等领域,图像处理都扮演着关键的角色,尤其是在应对图像处理的复杂性和高并发需求时,Serverless架构作为一种新兴的解决方案,正在迅速崭露头角。Serverless架构的出现彻底改变了传统的软件架构模式,将开发者从繁琐的服务器管理中解放出来,使其能够更专注于业务逻辑和算法的优化。还有就是在图像处理领域,Serverless架构的优势体现得尤为明显,它能够根据实际需求动态分配计算资源,实现弹性扩展,满足高并发和波动性需求,以及Serverless架构的按需付费模式也能够帮助开发者降低成
42 2
Serverless架构在图像处理中的优势
|
2天前
|
人工智能 算法 Serverless
上海站丨飞天技术沙龙 Serverless + AI 专场开启报名!
"飞天技术沙龙——Serverless 技术实践营"将于2024年5月31日举行,聚焦Serverless在AI中的应用。活动包括演讲、实操,探讨Serverless演进趋势、AI应用开发及降低成本等议题。限额80人,报名审核制,现场还有大奖和证书待您领取。扫描链接<https://summit.aliyun.com/Serverless2024shanghai>报名。
上海站丨飞天技术沙龙 Serverless + AI 专场开启报名!
|
3天前
|
安全 Serverless API
Serverless架构在图像处理中展现出高成本效益,按需付费降低费用,动态调整资源避免浪费
【5月更文挑战第16天】Serverless架构在图像处理中展现出高成本效益,按需付费降低费用,动态调整资源避免浪费。其出色的并发处理能力和自动扩展确保高并发场景的顺利执行。简化开发流程,让开发者专注业务逻辑,同时提供丰富API和集成服务。安全方面,Serverless通过云服务商管理基础架构和多种安全机制保障任务安全。因此,Serverless是处理高并发、动态需求的理想选择,尤其适合图像处理领域。随着技术发展,其应用前景广阔。
14 4
|
5天前
|
监控 云计算 开发者
探索云计算中的无服务器架构:从概念到实践
无服务器架构作为云计算领域的新兴技术,正在以其高效、灵活的特性吸引着越来越多的开发者和企业。本文将深入探讨无服务器架构的概念及其在云计算中的应用,通过实际案例展示如何利用无服务器架构构建可靠、可扩展的应用系统。
|
5天前
|
存储 前端开发 Java
Android应用开发中的MVP架构模式实践
【5月更文挑战第5天】随着移动应用开发的复杂性增加,传统的MVC(Model-View-Controller)架构在应对大型项目时显得笨重且不灵活。本文将探讨一种更适应现代Android应用开发的架构模式——MVP(Model-View-Presenter),并展示如何在Android项目中实现该模式以提升代码的可维护性和可测试性。通过对比分析MVP与传统MVC的差异,以及提供一个实际案例,读者将能深入了解MVP的优势和实施步骤。
|
5天前
|
运维 监控 Serverless
【专栏】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器(Serverless)
【4月更文挑战第28天】无服务器架构,一种云计算模型,让开发者专注编写代码而不必管理服务器。它基于事件驱动,自动扩展资源并按需计费。优势包括缩短开发周期、优化资源利用、降低成本、提高可用性及简化维护。然而,冷启动延迟、调试困难、性能监控、安全性和学习曲线等挑战仍需解决。随着技术进步,无服务器架构将在科技发展中发挥更大作用。
|
5天前
|
弹性计算 安全 Serverless
图像处理场景下的Serverless架构
【4月更文挑战第15天】图像处理场景下的Serverless架构
|
5天前
|
人工智能 Serverless 数据处理
利用阿里云函数计算实现 Serverless 架构的应用
阿里云函数计算是事件驱动的Serverless服务,免服务器管理,自动扩展资源。它降低了基础设施成本,提高了开发效率,支持Web应用、数据处理、AI和定时任务等多种场景。通过实例展示了如何用Python实现图片压缩应用,通过OSS触发函数自动执行。阿里云函数计算在云计算时代助力企业实现快速迭代和高效运营。
62 0

热门文章

最新文章

相关产品

  • 函数计算
  • http://www.vxiaotou.com