模型分布式加载方法、装置、设备及存储介质与流程

文档序号:31884343发布日期:2022-10-21 23:57阅读:107来源:国知局
模型分布式加载方法、装置、设备及存储介质与流程

1.本发明涉及人工智能技术领域,尤其涉及一种模型分布式加载方法、装置、电子设备及可读存储介质。


背景技术:

2.随着人工智能的发展,在线训练系统训练处的意图识别模型的数目在急剧膨胀,模型主要通过单服务器进行加载,但现有模型总数的内存早已超过宿主机单机内存的上限,例如,单服务器内存32g大约支持500个意图模型,单服务器内存64g大约支持1000个意图模型。
3.现有技术在模型数量很多的情况下模型的支持上限受限于部署服务器的内存上限,使得模型加载不稳定,容易出现错误,严重制约了模型加载的效率。


技术实现要素:

4.本发明提供一种模型分布式加载方法、装置、电子设备及可读存储介质,其主要目的在于解决模型加载效率较低的问题。
5.为实现上述目的,本发明提供的一种模型分布式加载方法,包括:
6.获取模型集合,对所述模型集合进行主机集群映射处理,得到原始映射信息;
7.接收待上线模型,基于所述原始映射信息对所述待上线模型进行集群更新,得到标准模型集群;
8.接收模型加载服务,基于预设的订阅发布系统对所述标准模型集群中各节点的模型进行分布式加载,并将加载结果反馈至所述模型加载服务的发出端。
9.可选地,所述对所述模型集合进行主机集群映射处理之前,所述方法还包括:
10.构建原始主机集群,对所述原始主机集群进行主机节点配置及模型分配配置,得到标准主机集群。
11.可选地,所述对所述模型集合进行主机集群映射处理,得到原始映射信息,包括:
12.初始化清理所述标准主机集群的注册目录,基于所述模型分配配置对所述模型集合中的模型进行副本复制,得到副本集合;
13.利用所述主机节点配置及所述模型分配配置将所述副本集合分配至所述标准主机集群的节点中;
14.将分配后的节点写入所述注册目录中,并生成所述副本集合和所述标准主机集群的映射关系,得到所述原始映射信息。
15.可选地,所述基于所述原始映射信息对所述待上线模型进行集群更新,得到标准模型集群,包括:
16.查询所述待上线模型是否在所述原始映射信息中存在数据记录;
17.若所述待上线模型在所述原始映射信息中存在数据记录,则不对所述原始映射信息进行更新;
18.若所述待上线模型在所述原始映射信息中不存在数据记录,则重新使用所述主机节点配置及所述模型分配配置对所述待上线模型进行模型分配,得到所述标准模型集群,并利用所述待上线模型和所述标准主机集群的映射关系更新所述原始映射信息,得到标准映射信息。
19.可选地,所述接收模型加载服务,基于预设的订阅发布系统对所述标准模型集群中各节点的模型进行分布式加载,并将加载结果反馈至所述模型加载服务的发出端,包括:
20.利用所述订阅发布系统接收所述模型加载服务,并基于所述订阅发布系统将所述模型加载服务发送至所述标准模型集群的各节点中;
21.对所述标准模型集群的各节点进行模型监控,并基于监控结果对所述标准模型集群各节点中的模型进行模型加载,将所有节点的加载结果反馈至所述模型加载服务的发出端。
22.可选地,所述对所述标准模型集群的各节点进行模型监控,并基于监控结果对所述标准模型集群各节点中的模型进行模型加载,包括:
23.对所述标准模型集群各节点中的模型进行模型检测处理;
24.若节点中的模型检测不正确,则监控结果为异常,对节点中的模型不进行加载;
25.若节点中的模型检测正确,则监控结果为正常,对节点中的模型进行加载。
26.可选地,所述基于所述原始映射信息对所述待上线模型进行集群更新,得到标准模型集群之后,所述方法还包括:
27.接收模型删除服务,并基于所述模型删除服务确定待删除模型;
28.基于所述订阅发布系统将所述模型删除服务发送至所述标准模型集群的各节点中;
29.若所述节点中不存在所述待删除模型,则对节点中的模型不进行处理;
30.若所述节点中存在所述待删除模型,则将节点中的待删除模型进行删除,并将所有节点的删除结果反馈至所述模型删除服务的发出端。
31.为了解决上述问题,本发明还提供一种模型分布式加载装置,所述装置包括:
32.主机集群映射模块,用于获取模型集合,对所述模型集合进行主机集群映射处理,得到原始映射信息;
33.集群更新模块,用于接收待上线模型,基于所述原始映射信息对所述待上线模型进行集群更新,得到标准模型集群;
34.模型加载模块,用于接收模型加载服务,基于预设的订阅发布系统对所述标准模型集群中各节点的模型进行分布式加载,并将加载结果反馈至所述模型加载服务的发出端。
35.为了解决上述问题,本发明还提供一种电子设备,所述电子设备包括:
36.存储器,存储至少一个计算机程序;及
37.处理器,执行所述存储器中存储的计算机程序以实现上述所述的模型分布式加载方法。
38.为了解决上述问题,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质中存储有至少一个计算机程序,所述至少一个计算机程序被电子设备中的处理器执行以实现上述所述的模型分布式加载方法。
39.本发明通过模型集合进行主机集群映射处理,得到原始映射信息,基于原始映射信息对待上线模型进行集群更新,可以通过主机数目和模型数目灵活快速的进行集群配置,得到标准模型集群,解决了线上日益增长的模型超过单机内存上限的限制,提高了模型服务的稳定性。同时,基于预设的订阅发布系统对标准模型集群中各节点的模型进行分布式加载,大幅提升了模型加载效率,并且加载结果会反馈至模型加载服务的发出端,也提高了对模型加载监控的效率。因此本发明提出的模型分布式加载方法、装置、电子设备及计算机可读存储介质,可以解决模型加载效率较低的问题。
附图说明
40.图1为本发明一实施例提供的模型分布式加载方法的流程示意图;
41.图2为图1中其中一个步骤的详细实施流程示意图;
42.图3为图1中另一个步骤的详细实施流程示意图;
43.图4为本发明一实施例提供的模型分布式加载装置的功能模块图;
44.图5为本发明一实施例提供的实现所述模型分布式加载方法的电子设备的结构示意图。
45.本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
46.应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
47.本发明实施例提供一种模型分布式加载方法。所述模型分布式加载方法的执行主体包括但不限于服务端、终端等能够被配置为执行本发明实施例提供的该方法的电子设备中的至少一种。换言之,所述模型分布式加载方法可以由安装在终端设备或服务端设备的软件或硬件来执行,所述软件可以是区块链平台。所述服务端包括但不限于:单台服务器、服务器集群、云端服务器或云端服务器集群等。所述服务器可以是独立的服务器,也可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(contentdelivery network,cdn)、以及大数据和人工智能平台等基础云计算服务的云服务器。
48.参照图1所示,为本发明一实施例提供的模型分布式加载方法的流程示意图。在本实施例中,所述模型分布式加载方法包括以下步骤s1-s3:
49.s1、获取模型集合,对所述模型集合进行主机集群映射处理,得到原始映射信息。
50.本发明实施例中,所述模型集合是指所有业务产品线中的模型,例如,金融领域中,所述模型集合可以为各个业务子公司和产品线的在线训练系统处的意图识别模型集合。
51.详细地,所述对所述模型集合进行主机集群映射处理之前,所述方法还包括:
52.构建原始主机集群,对所述原始主机集群进行主机节点配置及模型分配配置,得到标准主机集群。
53.本发明一实施例中,所述原始主机集群可以为zookeeper集群,zookeeper集群是一个基于观察者模式设计的分布式服务管理框架,并以集群的方式对外提供服务,一个集群包含多个节点,每个节点对应一台部署zookeeper程序的主机,所有的节点共同对外提供
服务,整个集群环境对分布式数据一致性提供了全面的支持。
54.其中,主机节点配置是指通过host_list进行配置,即将集群的主机进行列表配置;模型分配配置包括replicas配置及admin_ip配置,replicas配置是指确定模型的副本数,即决定每个模型在多少台机器上部署,admin_ip配置是指集群初始启动的时候,每个集群可以手动设置一个或者默认从host_list选取一个节点进行集群的机器和模型分配,由该节点统一根据配置的分配策略算法进行计算分配,分配策略算法包括均匀分布策略、最大剩余内存优先分布策略等。
55.本发明一可选实施例中,均匀分布策略是每次为host_list中replicas个数的机器分配模型a,下次需要分配模型b则为host_list其后的replicas个数的机器分配模型b,直至最终实现每台机器分配的模型数相对均匀的结果;最大剩余内存优先分布策略是指优先从集群主机中选取剩余内存最大的主机优先加载。
56.具体地,参照图2所示,所述对所述模型集合进行主机集群映射处理,得到原始映射信息,包括以下步骤s10-s12:
57.s10、初始化清理所述标准主机集群的注册目录,基于所述模型分配配置对所述模型集合中的模型进行副本复制,得到副本集合;
58.s11、利用所述主机节点配置及所述模型分配配置将所述副本集合分配至所述标准主机集群的节点中;
59.s12、将分配后的节点写入所述注册目录中,并生成所述副本集合和所述标准主机集群的映射关系,得到所述原始映射信息。
60.本发明一可选实施例中,由于zookeeper集群启动时注册的都是临时节点,因此需要先清除集群的注册目录,并通过配置的信息将所有模型进行分配,得到集群和模型的映射关系。所述原始映射信息包括当前模型分配策略的指纹、集群机器列表、副本数的md5等,所述原始映射信息可存储在pg数据库中。
61.例如,存在m1、m2、m3个模型,主机节点配置host_list包括四个节点/主机(pod),模型分配配置中replicas配置为3,即每个模型副本数为3,admin_ip配置使用均匀分布策略进行模型分配,则m1分配至pod1、pod2、pod3;m2分配至pod2、pod3、pod4;m3分配至pod3、pod4、pod1。
62.s2、接收待上线模型,基于所述原始映射信息对所述待上线模型进行集群更新,得到标准模型集群。
63.本发明实施例中,所述原始映射信息本质上是一个表结构的信息,该表在每一个环境(测试/线上)设置唯一键,每次上线前会查询该表是否变化(包括当前模型分配策略的指纹、集群机器列表,副本数的md5等),并进行相应更新,从而提高模型加载的准确率。
64.详细地,所述基于所述原始映射信息对所述待上线模型进行集群更新,得到标准模型集群,包括:
65.查询所述待上线模型是否在所述原始映射信息中存在数据记录;
66.若所述待上线模型在所述原始映射信息中存在数据记录,则不对原始映射信息进行更新;
67.若所述待上线模型在所述原始映射信息中不存在数据记录,则重新使用所述主机节点配置及所述模型分配配置对所述待上线模型进行模型分配,得到所述标准模型集群,
并利用所述待上线模型和所述标准主机集群的映射关系更新所述原始映射信息,得到标准映射信息。
68.本发明一可选实施例中,对于待上线模型,如果查询原始映射信息中存在数据记录,说明此次上线为线上单点pod重启或者和之前版本相比没有模型配置策略变化的上线,那么所有的pod会按照原始映射信息进行加载;如果查询记录不存在,说明待上线模型和之前的版本相比发生变化(可能是机器列表、副本数或者是模型分配策略算法变化),那么这时候需要通过admin_ip配置开始调用主机模型分配策略重新进行分配,并将分配结果写入原始映射信息中,得到标准映射信息,完成分配后,标准模型集群各个节点读取最新的分配模型。
69.本发明实施例中,基于原始映射信息对待上线模型进行集群更新,可以通过主机数目和模型数目灵活快速的进行集群配置,得到标准模型集群,解决了线上日益增长的模型超过单机内存上限的限制,提高了模型服务的稳定性。
70.s3、接收模型加载服务,基于预设的订阅发布系统对所述标准模型集群中各节点的模型进行分布式加载,并将加载结果反馈至所述模型加载服务的发出端。
71.本发明实施例中,所述预设的订阅发布系统可以为redis订阅发布系统,所述redis订阅发布系统(pub/sub)是一种消息通信模式,发送者(pub)发送消息,订阅者(sub)接收消息,发送者(pub)将消息发送至频道(channel),订阅者(sub)通过订阅频道来接收消息,redis订阅发布系统的客户端可以订阅任意数量的频道,其中所述标准模型集群中的各节点作为订阅者(sub)订阅模型加载信息。
72.详细地,参照图3所示,所述接收模型加载服务,基于预设的订阅发布系统对所述标准模型集群中各节点的模型进行分布式加载,并将加载结果反馈至所述模型加载服务的发出端,包括以下步骤s30-s31:
73.s30、利用所述订阅发布系统接收所述模型加载服务,并基于所述订阅发布系统将所述模型加载服务发送至所述标准模型集群的各节点中;
74.s31、对所述标准模型集群的各节点进行模型监控,并基于监控结果对所述标准模型集群各节点中的模型进行模型加载,将所有节点的加载结果反馈至所述模型加载服务的发出端。
75.本发明一可选实施例中,模型加载逻辑的整个过程基于redis订阅发布系统,当模型加载接口接收到上游服务器(发出端)的模型加载服务的时候,触发redis消息发布,标准模型集群中每个节点(pod)进行redis消息发布的订阅监听,监听到订阅消息,将进行消息解析,然后每个节点(pod)根据解析结果决定自己是不是进行模型加载。
76.具体地,所述对所述标准模型集群的各节点进行模型监控,并基于监控结果对所述标准模型集群各节点中的模型进行模型加载,包括:
77.对所述标准模型集群各节点中的模型进行模型检测处理;
78.若节点中的模型检测不正确,则监控结果为异常,对节点中的模型不进行加载;
79.若节点中的模型检测正确,则监控结果为正常,对节点中的模型进行加载。
80.本发明实施例中,模型加载可以通过tfs(tensorflow-serving)服务进行加载,主要包括预加载、正式加载、集群加载监听及回调,其中,预加载主要是对各节点中的模型进行模型检测处理,即检测节点中模型本身是不是有问题,避免盲目直接加载到线上导致不
可预期的错误(诸如版本是否一致,模型是否残缺等);正式加载是指对预加载正常的节点中的模型进行加载;集群加载监听是指通过redis监听集群节点中模型的加载情况;回调是指模型集群加载完成后返回模型的集群加载状态(成功/失败),即将所有节点的加载结果反馈回模型加载服务的发出端。
81.本发明另一可选实施例中,所述基于所述原始映射信息对所述待上线模型进行集群更新,得到标准模型集群之后,所述方法还包括:
82.接收模型删除服务,并基于所述模型删除服务确定待删除模型;
83.基于所述订阅发布系统将所述模型删除服务发送至所述标准模型集群的各节点中;
84.若所述节点中不存在所述待删除模型,则对节点中的模型不进行处理;
85.若所述节点中存在所述待删除模型,则将节点中的待删除模型进行删除,并将所有节点的删除结果反馈至所述模型删除服务的发出端。
86.本发明实施例中,模型删除的逻辑和模型加载的逻辑一样,也是基于redis的消息订阅发布机制,每个节点在模型删除进程中进行redis消息发布的订阅监听,监听到模型删除服务,解析出需要删除的模型,每一个节点会检测是否存在待删除模型并删除,直到集群每一个节点都成功的完成模型删除的时候,将模型删除结果回调反馈至所述模型删除服务的发出端。
87.本发明实施例中,对于zk节点,在主机集群映射时节点的状态为init_status,在集群zk节点监控时节点的状态为monitor_status,因此对于zk注册目录中的集群机器以及节点状态能更快速掌握集群的状态,包括集群正常启动、集群正在上线等。
88.本发明通过模型集合进行主机集群映射处理,得到原始映射信息,基于原始映射信息对待上线模型进行集群更新,可以通过主机数目和模型数目灵活快速的进行集群配置,得到标准模型集群,解决了线上日益增长的模型超过单机内存上限的限制,提高了模型服务的稳定性。同时,基于预设的订阅发布系统对标准模型集群中各节点的模型进行分布式加载,大幅提升了模型加载效率,并且加载结果会反馈至模型加载服务的发出端,也提高了对模型加载监控的效率。因此本发明提出的模型分布式加载方法,可以解决模型加载效率较低的问题。
89.如图4所示,是本发明一实施例提供的模型分布式加载装置的功能模块图。
90.本发明所述模型分布式加载装置100可以安装于电子设备中。根据实现的功能,所述模型分布式加载装置100可以包括主机集群映射模块101、集群更新模块102及模型加载模块103。本发明所述模块也可以称之为单元,是指一种能够被电子设备处理器所执行,并且能够完成固定功能的一系列计算机程序段,其存储在电子设备的存储器中。
91.在本实施例中,关于各模块/单元的功能如下:
92.所述主机集群映射模块101,用于获取模型集合,对所述模型集合进行主机集群映射处理,得到原始映射信息;
93.所述集群更新模块102,用于接收待上线模型,基于所述原始映射信息对所述待上线模型进行集群更新,得到标准模型集群;
94.所述模型加载模块103,用于接收模型加载服务,基于预设的订阅发布系统对所述标准模型集群中各节点的模型进行分布式加载,并将加载结果反馈至所述模型加载服务的
发出端。
95.详细地,所述模型分布式加载装置100各模块的具体实施方式如下:
96.步骤一、获取模型集合,对所述模型集合进行主机集群映射处理,得到原始映射信息。
97.本发明实施例中,所述模型集合是指所有业务产品线中的模型,例如,金融领域中,所述模型集合可以为各个业务子公司和产品线的在线训练系统处的意图识别模型集合。
98.详细地,所述对所述模型集合进行主机集群映射处理之前,所述方法还包括:
99.构建原始主机集群,对所述原始主机集群进行主机节点配置及模型分配配置,得到标准主机集群。
100.本发明一实施例中,所述原始主机集群可以为zookeeper集群,zookeeper集群是一个基于观察者模式设计的分布式服务管理框架,并以集群的方式对外提供服务,一个集群包含多个节点,每个节点对应一台部署zookeeper程序的主机,所有的节点共同对外提供服务,整个集群环境对分布式数据一致性提供了全面的支持。
101.其中,主机节点配置是指通过host_list进行配置,即将集群的主机进行列表配置;模型分配配置包括replicas配置及admin_ip配置,replicas配置是指确定模型的副本数,即决定每个模型在多少台机器上部署,admin_ip配置是指集群初始启动的时候,每个集群可以手动设置一个或者默认从host_list选取一个节点进行集群的机器和模型分配,由该节点统一根据配置的分配策略算法进行计算分配,分配策略算法包括均匀分布策略、最大剩余内存优先分布策略等。
102.本发明一可选实施例中,均匀分布策略是每次为host_list中replicas个数的机器分配模型a,下次需要分配模型b则为host_list其后的replicas个数的机器分配模型b,直至最终实现每台机器分配的模型数相对均匀的结果;最大剩余内存优先分布策略是指优先从集群主机中选取剩余内存最大的主机优先加载。
103.具体地,所述对所述模型集合进行主机集群映射处理,得到原始映射信息,包括:
104.初始化清理所述标准主机集群的注册目录,基于所述模型分配配置对所述模型集合中的模型进行副本复制,得到副本集合;
105.利用所述主机节点配置及所述模型分配配置将所述副本集合分配至所述标准主机集群的节点中;
106.将分配后的节点写入所述注册目录中,并生成所述副本集合和所述标准主机集群的映射关系,得到所述原始映射信息。
107.本发明一可选实施例中,由于zookeeper集群启动时注册的都是临时节点,因此需要先清除集群的注册目录,并通过配置的信息将所有模型进行分配,得到集群和模型的映射关系。所述原始映射信息包括当前模型分配策略的指纹、集群机器列表、副本数的md5等,所述原始映射信息可存储在pg数据库中。
108.例如,存在m1、m2、m3个模型,主机节点配置host_list包括四个节点/主机(pod),模型分配配置中replicas配置为3,即每个模型副本数为3,admin_ip配置使用均匀分布策略进行模型分配,则m1分配至pod1、pod2、pod3;m2分配至pod2、pod3、pod4;m3分配至pod3、pod4、pod1。
109.步骤二、接收待上线模型,基于所述原始映射信息对所述待上线模型进行集群更新,得到标准模型集群。
110.本发明实施例中,所述原始映射信息本质上是一个表结构的信息,该表在每一个环境(测试/线上)设置唯一键,每次上线前会查询该表是否变化(包括当前模型分配策略的指纹、集群机器列表,副本数的md5等),并进行相应更新,从而提高模型加载的准确率。
111.详细地,所述基于所述原始映射信息对所述待上线模型进行集群更新,得到标准模型集群,包括:
112.查询所述待上线模型是否在所述原始映射信息中存在数据记录;
113.若所述待上线模型在所述原始映射信息中存在数据记录,则不对原始映射信息进行更新;
114.若所述待上线模型在所述原始映射信息中不存在数据记录,则重新使用所述主机节点配置及所述模型分配配置对所述待上线模型进行模型分配,得到所述标准模型集群,并利用所述待上线模型和所述标准主机集群的映射关系更新所述原始映射信息,得到标准映射信息。
115.本发明一可选实施例中,对于待上线模型,如果查询原始映射信息中存在数据记录,说明此次上线为线上单点pod重启或者和之前版本相比没有模型配置策略变化的上线,那么所有的pod会按照原始映射信息进行加载;如果查询记录不存在,说明待上线模型和之前的版本相比发生变化(可能是机器列表、副本数或者是模型分配策略算法变化),那么这时候需要通过admin_ip配置开始调用主机模型分配策略重新进行分配,并将分配结果写入原始映射信息中,得到标准映射信息,完成分配后,标准模型集群各个节点读取最新的分配模型。
116.本发明实施例中,基于原始映射信息对待上线模型进行集群更新,可以通过主机数目和模型数目灵活快速的进行集群配置,得到标准模型集群,解决了线上日益增长的模型超过单机内存上限的限制,提高了模型服务的稳定性。
117.步骤三、接收模型加载服务,基于预设的订阅发布系统对所述标准模型集群中各节点的模型进行分布式加载,并将加载结果反馈至所述模型加载服务的发出端。
118.本发明实施例中,所述预设的订阅发布系统可以为redis订阅发布系统,所述redis订阅发布系统(pub/sub)是一种消息通信模式,发送者(pub)发送消息,订阅者(sub)接收消息,发送者(pub)将消息发送至频道(channel),订阅者(sub)通过订阅频道来接收消息,redis订阅发布系统的客户端可以订阅任意数量的频道,其中所述标准模型集群中的各节点作为订阅者(sub)订阅模型加载信息。
119.详细地,所述接收模型加载服务,基于预设的订阅发布系统对所述标准模型集群中各节点的模型进行分布式加载,并将加载结果反馈至所述模型加载服务的发出端,包括:
120.利用所述订阅发布系统接收所述模型加载服务,并基于所述订阅发布系统将所述模型加载服务发送至所述标准模型集群的各节点中;
121.对所述标准模型集群的各节点进行模型监控,并基于监控结果对所述标准模型集群各节点中的模型进行模型加载,将所有节点的加载结果反馈至所述模型加载服务的发出端。
122.本发明一可选实施例中,模型加载逻辑的整个过程基于redis订阅发布系统,当模
型加载接口接收到上游服务器(发出端)的模型加载服务的时候,触发redis消息发布,标准模型集群中每个节点(pod)进行redis消息发布的订阅监听,监听到订阅消息,将进行消息解析,然后每个节点(pod)根据解析结果决定自己是不是进行模型加载。
123.具体地,所述对所述标准模型集群的各节点进行模型监控,并基于监控结果对所述标准模型集群各节点中的模型进行模型加载,包括:
124.对所述标准模型集群各节点中的模型进行模型检测处理;
125.若节点中的模型检测不正确,则监控结果为异常,对节点中的模型不进行加载;
126.若节点中的模型检测正确,则监控结果为正常,对节点中的模型进行加载。
127.本发明实施例中,模型加载可以通过tfs(tensorflow-serving)服务进行加载,主要包括预加载、正式加载、集群加载监听及回调,其中,预加载主要是对各节点中的模型进行模型检测处理,即检测节点中模型本身是不是有问题,避免盲目直接加载到线上导致不可预期的错误(诸如版本是否一致,模型是否残缺等);正式加载是指对预加载正常的节点中的模型进行加载;集群加载监听是指通过redis监听集群节点中模型的加载情况;回调是指模型集群加载完成后返回模型的集群加载状态(成功/失败),即将所有节点的加载结果反馈回模型加载服务的发出端。
128.本发明另一可选实施例中,所述基于所述原始映射信息对所述待上线模型进行集群更新,得到标准模型集群之后,所述方法还包括:
129.接收模型删除服务,并基于所述模型删除服务确定待删除模型;
130.基于所述订阅发布系统将所述模型删除服务发送至所述标准模型集群的各节点中;
131.若所述节点中不存在所述待删除模型,则对节点中的模型不进行处理;
132.若所述节点中存在所述待删除模型,则将节点中的待删除模型进行删除,并将所有节点的删除结果反馈至所述模型删除服务的发出端。
133.本发明实施例中,模型删除的逻辑和模型加载的逻辑一样,也是基于redis的消息订阅发布机制,每个节点在模型删除进程中进行redis消息发布的订阅监听,监听到模型删除服务,解析出需要删除的模型,每一个节点会检测是否存在待删除模型并删除,直到集群每一个节点都成功的完成模型删除的时候,将模型删除结果回调反馈至所述模型删除服务的发出端。
134.本发明实施例中,对于zk节点,在主机集群映射时节点的状态为init_status,在集群zk节点监控时节点的状态为monitor_status,因此对于zk注册目录中的集群机器以及节点状态能更快速掌握集群的状态,包括集群正常启动、集群正在上线等。
135.本发明通过模型集合进行主机集群映射处理,得到原始映射信息,基于原始映射信息对待上线模型进行集群更新,可以通过主机数目和模型数目灵活快速的进行集群配置,得到标准模型集群,解决了线上日益增长的模型超过单机内存上限的限制,提高了模型服务的稳定性。同时,基于预设的订阅发布系统对标准模型集群中各节点的模型进行分布式加载,大幅提升了模型加载效率,并且加载结果会反馈至模型加载服务的发出端,也提高了对模型加载监控的效率。因此本发明提出的模型分布式加载装置,可以解决模型加载效率较低的问题。
136.如图5所示,是本发明一实施例提供的实现所述模型分布式加载方法的电子设备
的结构示意图。
137.所述电子设备可以包括处理器10、存储器11、通信接口12和总线13,还可以包括存储在所述存储器11中并可在所述处理器10上运行的计算机程序,如模型分布式加载程序。
138.其中,所述存储器11至少包括一种类型的可读存储介质,所述可读存储介质包括闪存、移动硬盘、多媒体卡、卡型存储器(例如:sd或dx存储器等)、磁性存储器、磁盘、光盘等。所述存储器11在一些实施例中可以是电子设备的内部存储单元,例如该电子设备的移动硬盘。所述存储器11在另一些实施例中也可以是电子设备的外部存储设备,例如电子设备上配备的插接式移动硬盘、智能存储卡(smart media card,smc)、安全数字(secure digital,sd)卡、闪存卡(flash card)等。进一步地,所述存储器11还可以既包括电子设备的内部存储单元也包括外部存储设备。所述存储器11不仅可以用于存储安装于电子设备的应用软件及各类数据,例如模型分布式加载程序的代码等,还可以用于暂时地存储已经输出或者将要输出的数据。
139.所述处理器10在一些实施例中可以由集成电路组成,例如可以由单个封装的集成电路所组成,也可以是由多个相同功能或不同功能封装的集成电路所组成,包括一个或者多个中央处理器(central processing unit,cpu)、微处理器、数字处理芯片、图形处理器及各种控制芯片的组合等。所述处理器10是所述电子设备的控制核心(control unit),利用各种接口和线路连接整个电子设备的各个部件,通过运行或执行存储在所述存储器11内的程序或者模块(例如模型分布式加载程序等),以及调用存储在所述存储器11内的数据,以执行电子设备的各种功能和处理数据。
140.所述通信接口12用于上述电子设备与其他设备之间的通信,包括网络接口和用户接口。可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。所述用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
141.所述总线13可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该总线13可以分为地址总线、数据总线、控制总线等。所述总线13被设置为实现所述存储器11以及至少一个处理器10等之间的连接通信。
142.图5仅示出了具有部件的电子设备,本领域技术人员可以理解的是,图5示出的结构并不构成对所述电子设备的限定,可以包括比图示更少或者更多的部件,或者组合某些部件,或者不同的部件布置。
143.例如,尽管未示出,所述电子设备还可以包括给各个部件供电的电源(比如电池),优选地,电源可以通过电源管理装置与所述至少一个处理器10逻辑相连,从而通过电源管理装置实现充电管理、放电管理、以及功耗管理等功能。电源还可以包括一个或一个以上的直流或交流电源、再充电装置、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。所述电子设备还可以包括多种传感器、蓝牙模块、wi-fi模块等,在此不再赘
述。
144.进一步地,所述电子设备还可以包括网络接口,可选地,所述网络接口可以包括有线接口和/或无线接口(如wi-fi接口、蓝牙接口等),通常用于在该电子设备与其他电子设备之间建立通信连接。
145.可选地,该电子设备还可以包括用户接口,用户接口可以是显示器(display)、输入单元(比如键盘(keyboard)),可选地,用户接口还可以是标准的有线接口、无线接口。可选地,在一些实施例中,显示器可以是led显示器、液晶显示器、触控式液晶显示器以及oled(organic light-emitting diode,有机发光二极管)触摸器等。其中,显示器也可以适当的称为显示屏或显示单元,用于显示在电子设备中处理的信息以及用于显示可视化的用户界面。
146.应该了解,所述实施例仅为说明之用,在专利申请范围上并不受此结构的限制。
147.所述电子设备中的所述存储器11存储的模型分布式加载程序是多个指令的组合,在所述处理器10中运行时,可以实现:
148.获取模型集合,对所述模型集合进行主机集群映射处理,得到原始映射信息;
149.接收待上线模型,基于所述原始映射信息对所述待上线模型进行集群更新,得到标准模型集群;
150.接收模型加载服务,基于预设的订阅发布系统对所述标准模型集群中各节点的模型进行分布式加载,并将加载结果反馈至所述模型加载服务的发出端。
151.具体地,所述处理器10对上述指令的具体实现方法可参考附图对应实施例中相关步骤的描述,在此不赘述。
152.进一步地,所述电子设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读存储介质中。所述计算机可读存储介质可以是易失性的,也可以是非易失性的。例如,所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、u盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(rom,read-only memory)。
153.本发明还提供一种计算机可读存储介质,所述可读存储介质存储有计算机程序,所述计算机程序在被电子设备的处理器所执行时,可以实现:
154.获取模型集合,对所述模型集合进行主机集群映射处理,得到原始映射信息;
155.接收待上线模型,基于所述原始映射信息对所述待上线模型进行集群更新,得到标准模型集群;
156.接收模型加载服务,基于预设的订阅发布系统对所述标准模型集群中各节点的模型进行分布式加载,并将加载结果反馈至所述模型加载服务的发出端。
157.在本发明所提供的几个实施例中,应该理解到,所揭露的设备,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
158.所述作为分离部件说明的模块可以是或者也可以不是物理上分开的,作为模块显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
159.另外,在本发明各个实施例中的各功能模块可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
160.对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。
161.因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附关联图标记视为限制所涉及的权利要求。
162.本发明实施例可以基于人工智能技术对相关的数据进行获取和处理。其中,人工智能(artificial intelligence,ai)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。
163.人工智能基础技术一般包括如传感器、专用人工智能芯片、云计算、分布式存储、大数据处理技术、操作/交互系统、机电一体化等技术。人工智能软件技术主要包括计算机视觉技术、机器人技术、生物识别技术、语音处理技术、自然语言处理技术以及机器学习/深度学习等几大方向。
164.本发明所指区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。区块链(blockchain),本质上是一个去中心化的数据库,是一串使用密码学方法相关联产生的数据块,每一个数据块中包含了一批次网络交易的信息,用于验证其信息的有效性(防伪)和生成下一个区块。区块链可以包括区块链底层平台、平台产品服务层以及应用服务层等。
165.此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。系统权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第二等词语用来表示名称,而并不表示任何特定的顺序。
166.最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1