面向流式数据的机器学习模型在线服务部署方法及系统技术方案

技术编号:36798465 阅读:9 留言:0更新日期:2023-03-08 23:21
本发明专利技术提供的面向流式数据的机器学习模型在线服务部署方法及系统,涉及机器学习模型部署领域;其方法包括:构建面向流式数据的机器学习模型在线服务框架,包括模型在线服务对外API接口、流式数据实时处理通道和分布式模型预测服务,流式数据实时处理通道包括gRPC服务集群和消息队列服务;根据gRPC双向流建立客户端与gRPC服务端节点的双向通信连接;接收流式请求数据并存储至消息队列服务中;监听消息队列服务,在接收到流式请求数据时选择对应的模型预测,将预测结果写入消息队列服务并推送至客户端。本发明专利技术对外提供机器学习模型在线服务的异步WEB接口,实时接收、缓存和处理数据、发送模型预测结果,避免客户端的无效堵塞。避免客户端的无效堵塞。避免客户端的无效堵塞。

【技术实现步骤摘要】
面向流式数据的机器学习模型在线服务部署方法及系统


[0001]本专利技术涉及机器学习模型部署
,具体涉及一种面向流式数据的机器学习模型在线服务部署方法及系统。

技术介绍

[0002]机器学习正得到越来越广泛的应用和部署,用易用、高效、便捷的方式使用机器学习模型,构建具有企业应用价值的模型服务,才能完成机器学习应用生命周期的闭环。业界常见的机器学习框架有tensorflow、pytorch等,通常都提供离线训练和相应的模型服务化的解决方案;以HTTP或者gRPC接口对外提供服务,模型在线服务当前是以批处理方式提供的,用户发送批量请求数据到模型服务,模型服务进行预测并将结果发送给客户端,主要侧重于使用静态模型和历史静态数据进行训练并提供预测;比如用户在浏览网站时,可以根据用户历史行为数据来推送新闻。
[0003]在大多数实际用例中,预测结果或效果在移动应用程序中可用或显示在网页上后,用户才能继续后续操作,这使得实时机器学习越来越受到用例的关注;例如使用编码为特征的近期会话活动的实时推荐模型、音乐会门票预订/拼车应用程序中使用的激增价格预测算法等。实时机器学习处理的是流式数据,处理流数据的难度更大,因为数据量没有限定,而且数据输入的比率和速度也会变化,传统的批处理处理方式显然不能满足这种动态实时数据处理的需求。
[0004]数据的批处理,可以理解为一系列相关的任务按顺序或并行的,一个接一个地执行,批处理的输入是在一段时间内收集好的数据。大部分情况下,批处理的输出数据和输入数据都是有边界数据。随着互联网的飞速发展,各种信息正在爆炸性增长,持续生成动态新数据,批处理的模型部署方式存在数据重复传输、处理速度慢、响应时间长、无法进行实时预测的问题。批量预测会降低用户体验,但不会导致灾难性的后果,比如广告排序、Twitter 的热门趋势标签排序、Facebook 的新闻订阅排序、到达时间估计等等;但,存在一些应用如果没有在线预测会出现灾难性的后果,甚至变得毫无作用,比如高频交易、自动驾驶汽车、语音助手、手机的人脸 / 指纹解锁、老年人跌倒检测、欺诈检测等。对于欺诈交易,若能达到实时检测的效果,就可以直接防止事件发生。批处理对不需要实时分析结果的场景,是一个很好的选择;特别是业务逻辑十分复杂,数据量大的时候,更容易从数据中挖掘到有用的信息。因此,当应用的实时分析处理有要求的情况下,或者数据传输的结束时间、数据量无法确定的情况下,就需要采用流处理的架构来完成这件事情。

技术实现思路

[0005]本专利技术目的在于提供一种面向流式数据的机器学习模型在线服务部署方法及系统,通过构建分布式服务部署架构、开发带有流技术的实时处理通道,实现了对流式数据的近实时的处理能力,并且能处理大批量的数据,克服现有机器学习模型在线服务部署方法处理延时性强,计算性能较低等缺点。
[0006]为达成上述目的,本专利技术提出如下技术方案:一种面向流式数据的机器学习模型在线服务部署方法,包括:构建面向流式数据的机器学习模型在线服务框架,包括统一的模型在线服务对外API接口、流式数据实时处理通道和分布式模型预测服务;其中,所述流式数据实时处理通道包括gRPC服务集群和消息队列服务;所述分布式模型预测服务包括若干具有模型预测功能的机器学习模型;所述gRPC服务集群包括若干gRPC服务端节点;接收来自于各应用客户端的连接请求,利用gRPC双向流建立各应用客户端与gRPC服务集群内各gRPC服务端节点的双向通信连接;gRPC服务集群内各gRPC服务端节点持续接收来自于各应用客户端的流式请求数据,并顺序存储至消息队列服务中;监听消息队列服务,在接收到新的请求数据时在分布式模型预测服务中选择对应的机器学习模型进行模型预测,并将预测结果写入消息队列服务中;监听消息队列服务,在接收到新的预测结果时通过统一的模型在线服务对外API接口将预测结果实时推送至与对应请求的应用客户端。
[0007]进一步的,所述统一的模型在线服务对外API接口由WEB API网关提供;所述gRPC服务集群内gRPC服务端节点与应用客户端保持可双向通信的长连接,用于接收流式数据请求并缓存至消息队列服务、监听消息队列服务获取预测结果后异步实时推送至应用客户端;所述消息队列服务包括请求消息队列和回复消息队列,所述请求消息队列用于缓存流式请求数据,所述回复消息队列用于缓存预测结果。
[0008]进一步的,所述应用客户端即gRPC客户端,所述gRPC服务集群内各gRPC服务端节点注册服务信息至WEB API网关;当gRPC客户端发起一次gRPC请求时,与所述gRPC服务端节点建立双向通信连接并交互的过程如下:接收gRPC客户端的gRPC请求并判断当前可用的gRPC服务端节点;根据预设的负载均衡策略选择可连接的gRPC 服务端节点,并将节点信息发送给gRPC客户端,以便gRPC客户端根据节点信息建立与gRPC 服务端节点的双向通信连接;对与gRPC 服务端节点双向通信连接的gRPC客户端分配一具有唯一性的客户端ID,以便gRPC 服务端节点接收对应客户端ID的gRPC客户端发送的流式请求数据,实现gRPC 服务端节点和gRPC客户端的交互。
[0009]进一步的,所述gRPC服务端节点接收流式请求数据并顺序存储至消息队列服务中的具体过程为:gRPC服务端根据接收流式请求数据的时间顺序,生成各流式请求数据对应的请求ID;依次发送附加有请求ID的各流式请求数据至以客户端ID为标识的请求消息队列中;其中,流式请求数据包括模型输入数据、预测应用的机器学习模型、模型预测参数。
[0010]进一步的,所述监听消息队列服务至将预测结果写入消息队列服务中的具体过程为:监听请求消息队列,并在接收到新的流式请求数据时根据应用场景基于不同窗口
模式将无边界数据集切分为选定机器学习模型对应处理的数据集;将切分后的数据集输入至机器学习模型,获得预测结果;写入预测结果至以客户端ID为标识的回复消息队列中,并在预测结果中添加与流式请求数据对应的请求ID,以便在预测结果无序的情况下重组预测结果。
[0011]本专利技术另一技术方案在于公开一种面向流式数据的机器学习模型在线服务部署系统,该系统包括:构建模块,用于构建面向流式数据的机器学习模型在线服务框架,包括统一的模型在线服务对外API接口、流式数据实时处理通道和分布式模型预测服务;其中,所述流式数据实时处理通道包括gRPC服务集群和消息队列服务;所述分布式模型预测服务包括若干具有模型预测功能的机器学习模型;所述gRPC服务集群包括若干gRPC服务端节点;第一接收模块,用于接收来自于各应用客户端的连接请求,利用gRPC双向流建立各应用客户端与gRPC服务集群内各gRPC服务端节点的双向通信连接;第二接收模块,用于gRPC服务集群内各gRPC服务端节点持续接收来自于各应用客户端的流式请求数据,并顺序存储至消息队列服务中;第一监听模块,用于监听消息队列服务,在接收到新的请求数据时在分布式模型预测服务中选择对应的机器学习模型进行模型预测,并将预测结果写入消息队列本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向流式数据的机器学习模型在线服务部署方法,其特征在于,包括:构建面向流式数据的机器学习模型在线服务框架,包括统一的模型在线服务对外API接口、流式数据实时处理通道和分布式模型预测服务;其中,所述流式数据实时处理通道包括gRPC服务集群和消息队列服务;所述分布式模型预测服务包括若干具有模型预测功能的机器学习模型;所述gRPC服务集群包括若干gRPC服务端节点;接收来自于各应用客户端的连接请求,利用gRPC双向流建立各应用客户端与gRPC服务集群内各gRPC服务端节点的双向通信连接;gRPC服务集群内各gRPC服务端节点持续接收来自于各应用客户端的流式请求数据,并顺序存储至消息队列服务中;监听消息队列服务,在接收到新的请求数据时在分布式模型预测服务中选择对应的机器学习模型进行模型预测,并将预测结果写入消息队列服务中;监听消息队列服务,在接收到新的预测结果时通过统一的模型在线服务对外API接口将预测结果实时推送至与对应请求的应用客户端。2.根据权利要求1所述的面向流式数据的机器学习模型在线服务部署方法,其特征在于,所述统一的模型在线服务对外API接口由WEB API网关提供;所述gRPC服务集群内gRPC服务端节点与应用客户端保持可双向通信的长连接,用于接收流式数据请求并缓存至消息队列服务、监听消息队列服务获取预测结果后异步实时推送至应用客户端;所述消息队列服务包括请求消息队列和回复消息队列,所述请求消息队列用于缓存流式请求数据,所述回复消息队列用于缓存预测结果。3.根据权利要求2所述的面向流式数据的机器学习模型在线服务部署方法,其特征在于,所述应用客户端即gRPC客户端,所述gRPC服务集群内各gRPC服务端节点注册服务信息至WEB API网关;当gRPC客户端发起一次gRPC请求时,与所述gRPC服务端节点建立双向通信连接并交互的过程如下:接收gRPC客户端的gRPC请求并判断当前可用的gRPC服务端节点;根据预设的负载均衡策略选择可连接的gRPC 服务端节点,并将节点信息发送给gRPC客户端,以便gRPC客户端根据节点信息建立与gRPC 服务端节点的双向通信连接;对与gRPC 服务端节点双向通信连接的gRPC客户端分配一具有唯一性的客户端ID,以便gRPC 服务端节点接收对应客户端ID的gRPC客户端发送的流式请求数据,实现gRPC 服务端节点和gRPC客户端的交互。4.根据权利要求3所述的面向流式数据的机器学习模型在线服务部署方法,其特征在于,所述gRPC服务端节点接收流式请求数据并顺序存储至消息队列服务中的具体过程为:gRPC服务端根据接收流式请求数据的时间顺序,生成各流式请求数据对应的请求ID;依次发送附加有请求ID的各流式请求数据至以客户端ID为标识的请求消息队列中;其中,流式请求数据包括模型输入数据、预测应用的机器学习模型、模型预测参数。5.根据权利要求4所述的面向流式数据的机器学习模型在线服务部署方法,其特征在于,所述监听消息队列服务至将预测结果写入消息队列服务中的具体过程为:监听请求消息队列,并在接收到新的流式请求数据时根据应用场景基于不同窗口模式
将无边界数据集切分为选定机器学习模型对应处理的数据集;将切分后的数据集输入至机器学习模型,获得预测结果;写入预测结果至以客户端ID为标识的回复消息队列中,并在预测结果中添加与流式请求数据对应的请求ID,以便在预测结果无序的情况下重组预测结果。6.一种面向流式数据的机器学习模型在线服务部署系统,其特征在于,包括:构建模块,用于构建面向流式数据的机器学习模型在线服务框架,包括统一的模型在线服务对外AP...

【专利技术属性】
技术研发人员:张田田涂燕晖程海博
申请(专利权)人:山东未来网络研究院紫金山实验室工业互联网创新应用基地
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1