模型部署与应用 | 学习笔记

本文涉及的产品
模型训练 PAI-DLC,5000CU*H 3个月
模型在线服务 PAI-EAS,A10/V100等 500元 1个月
交互式建模 PAI-DSW,每月250计算时 3个月
简介: 快速学习模型部署与应用

开发者学堂课程【机器学习实战:模型部署与应用】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/530/detail/7135


模型部署与应用

内容介绍:

一、 在线部署

二、 离线部署

三、A/B 测试及灰度发布

四、 模型生命周期

 

一、在线部署

1、什么叫在线部署

最终训练完成的模型如何去部署应用,部署通常有在线部署和离线部署两种方式,在线部署通常会由 API 进行在线预测,因为在实际应用中,有时候需要对一些实时的模型进行调用来进行处理,这个时候需要进行一个在线部署。

第一个要求首先就是时间要短,数据过来之后,要马上进行一个预测,然后对预测的数据实时应用到业务流中,此类数据的特点是一直产生,但是数据量不会太大。此类数据一般通过 API 的方式来提供服务,首先生成一个标准 API,然后通过生成的 API,将待处理的数据以请求的方式发送出来。API 得到数据之后会返回一个结果,之后将返回的结果嵌入到业务流中就完成。

优势是可以简单的使用这个服务,不用关注源码和内部的服务。

针对实时数据需要调用模型的情况,可进行在线部署。通常要求响应时间要短,此类数据会持续产生,且每次要求处理的数据量不大。

在线部署通常是以 API 的方式提供服务,通过调用 API 发送待处理请求,并获得调用结果。API 的优势是用户可以简单的使用服务,而不必去了解源码或者其内部构造。

image.png

2、例子

这是使用计算机Π计算机部署得以一个例子。

训练模型完成后,要进行模型部署,在页面栏的下面有个部署按钮,可以选择在线或者离线。选择在线项目部署,之后要选择要部署的项目空间。

设置当前模型的 instance 数量,当前用户是每个提供 30 个 instance 数量。

接下来就可以进行在线部署,部署完成之后,可以查看到返回格式是 JSON/XML,最下面有个接口的样例。

image.png

同时有一个 API 的调试功能,接口名字:prediction。

可以将请求的 body 输入框中,进行测试,测试接口得到一个返回结果,测试成功之后就可以将接口释放出来提供业务使用。

image.png

 

二、离线处理:批量处理

对于数据量较大且对时效性要求不强的场景,可以采用离线部署的方式,对数据进行批量处理。批量处理通常是预先知道调用的条件,比如清楚调用的频率和时间点,定义成按时触发的任务,可以根据资源情况合理安排调度窗口。

image.png

这种批量出来一般都是定时的,从用户出发的,比如定时的,例如每天晚上两点钟会对一批数据进行预测等等,所以你需要倾出调用到频率和时间点,然后定义生成这种按时出发的任务。

例子;计算机Π的实验。

需要在部署按钮中点击实验离线调度,然后选择机器学习实验,就会出现一个节点,会嵌置到正常的任务的任务流里面去。

image.png

同时可以设置调度属性,比如依赖于哪个任务,在预测前还有可能有一些其他的任务,任务完成之后,会调度继续学习的任务。

还可以设置一些跨周期的依赖,设置其调度周期是按照天,可以设置具体的时间,因为·阿里云的终端服务提供的是完整的几个方案,继续学习也可以作为整个业务流中的一个节点,使用 dataworks 可以进行任务运维,测试等等,使用比较方便。

image.png

 

三、A/B 测试及灰度发布

接下来简单介绍一下 A/B 测试及灰度发布

A/B 测试( A/B Testing,又被称做拆分测试或水桶测试)通过两个不同版本方案进行比较,来确定一个性能更好的方案。A/B 测试提升了确定性。

灰度发布(又名金丝雀发布)是指平滑过渡的一种发布方式,针对不同版本进行A/B 测试,即让部分用户继续用 A 版本,一部分用户开始用 B 版本,如果 B 版本运行结果符合预期,则逐步扩大范围,把所有用户都迁移到 B 上来。灰度发布可以保证整体系统的稳定,在初始灰度的时候就可以发现、调整问题,以保证其影响度。

image.png

假如现在所有的用户都在使用 A 方案,此时研发一个 B 方案。可以从原有的 A 方案中切除一部分用户来使用 B 方案,此时 A、B 方案并行。

image.png

此时可以比较 A、B 方案,观察哪个方案运行效果更好,假如 B 方案运行效果更好,就可以将所有用户都迁移到 B 上来。

image.png

 

四、 模型生命周期

模型上线后,需要监控模型的运行效果,进行生命周期管理︰

当预测因素发生变化或者数据、业务发生明显变化时,需要定期重复进行模型管理测性能往往会随着时间而下降。

当性能下降到某一阈值时,应进行模型更新或者更换

当模型上线之后,需要不断监控模型的运行效果,其中有几种情况,需要不断对模型进行优化。第一个是业务模式发生变化时,需要定期重复进行模型管理;第二个是性能可能会随着时间下降,当性能下降到一个阈值的时候,就要进行模型更新。

image.png

上图中主要看从右往左的箭头,从第六步模型应用返回到第一步需求分析,这实际上就是模型生命周期管理的重要一步,也就是迭代更新,要保证这个模型对当前业务,或者当前业务产生的数据,能够持续有效的带来期望的结果。

相关文章
|
7月前
|
机器学习/深度学习 数据采集 自然语言处理
机器学习模型的部署与上线:从训练到实际应用
在机器学习中,模型训练只是整个过程的一部分。将训练好的模型部署到实际应用中,并使其稳定运行,也是非常重要的。本文将介绍机器学习模型的部署与上线过程,包括数据处理、模型选择、部署环境搭建、模型调优等方面。同时,我们也会介绍一些实际应用场景,并分享一些经验和技巧。
|
PyTorch 测试技术 API
Pytorch模型训练与在线部署
本文以CIFAR10数据集为例,通过自定义神经元网络,完成模型的训练,并通过Flask完成模型的在线部署与调用,考略到实际生产模型高并发调用的述求,使用service_streamer提升模型在线并发能力。
695 1
|
机器学习/深度学习 存储 数据可视化
【PyTorch基础教程23】可视化网络和训练过程
为了更好确定复杂网络模型中,每一层的输入结构,输出结构以及参数等信息,在Keras中可以调用一个叫做model.summary()的API能够显示我们的模型参数,输入大小,输出大小,模型的整体参数等。
1669 0
【PyTorch基础教程23】可视化网络和训练过程
|
5月前
|
存储 人工智能 自然语言处理
社区供稿 | 源大模型的快速部署与高效推理——GGUF格式模型介绍与使用教程
在人工智能领域,大型语言模型的发展日新月异,它们在自然语言处理、机器翻译、智能助手等多个领域展现出了前所未有的能力。
社区供稿 | 源大模型的快速部署与高效推理——GGUF格式模型介绍与使用教程
|
4月前
|
机器学习/深度学习 TensorFlow 算法框架/工具
TensorFlow Serving 部署指南超赞!让机器学习模型上线不再困难,轻松开启高效服务之旅!
【8月更文挑战第31天】TensorFlow Serving是一款高性能开源服务系统,专为部署机器学习模型设计。本文通过代码示例详细介绍其部署流程:从安装TensorFlow Serving、训练模型到配置模型服务器与使用gRPC客户端调用模型,展示了一站式模型上线解决方案,使过程变得简单高效。借助该工具,你可以轻松实现模型的实际应用。
68 0
|
5月前
|
机器学习/深度学习 API Docker
使用Python实现深度学习模型:模型部署与生产环境应用
【7月更文挑战第7天】 使用Python实现深度学习模型:模型部署与生产环境应用
214 0
|
7月前
|
并行计算 算法 物联网
LLM 大模型学习必知必会系列(七):掌握分布式训练与LoRA/LISA微调:打造高性能大模型的秘诀进阶实战指南
LLM 大模型学习必知必会系列(七):掌握分布式训练与LoRA/LISA微调:打造高性能大模型的秘诀进阶实战指南
LLM 大模型学习必知必会系列(七):掌握分布式训练与LoRA/LISA微调:打造高性能大模型的秘诀进阶实战指南
|
6月前
|
机器学习/深度学习 存储 人工智能
【机器学习】Samba-CoE实现高效推理部署
【机器学习】Samba-CoE实现高效推理部署
124 5
|
7月前
|
机器学习/深度学习 数据可视化
模型性能评价实战
模型性能评价实战
|
人工智能 物联网 Linux
使用aidlux进行模型迁移、部署、推理
使用aidlux进行模型迁移、部署、推理

热门文章

最新文章