本发明涉及深度神经网络领域,尤其涉及一种深度神经网络模型存储系统。
背景技术:
1、随着数字化、智能化时代的到来,人工智能技术的发展与突破为智能应用需求提供了新的方法路线。其中,深度学习技术,特别是深度神经网络技术,已经成为推动这一方法的关键力量。深度学习是机器学习的一个重要分支,通过构建深度神经网络模型,它可以自动从数据中提取特征和模式,实现高效的数据处理和决策。深度神经网络技术目前已经在多个领域取得了令人瞩目的成就,如图像识别,自然语言处理,智能推荐系统。得益于其强大的数据处理和分析能力,深度学习方法在大幅度提升数据的利用效率的同时,也降低了海量数据的分析难度。因此,深度学习技术不但拥有广泛的应用潜力和探索空间,也极大地加速了信息数字化产业的建设进展。
2、然而,要提供深度学习推理任务,首先需要通过远程对象存储系统(例如,亚马逊s3对象存储服务)从远端的模型仓库中拉取所需的深度学习模型文件。在当前已有的模型文件拉取技术方案中,主要是以不同任务所需的完整模型作为传输单位,如hugging face,model zoo等知名深度学习开放模型仓库,其模型文件拉取接口仅提供完整模型的参数文件。调研发现,以mobilenet,inceptionresnet,se-resnet为例的主流深度学习神经网络模型,其模型参数文件数据大小范围在15mb至500mb之间。而面对当前大规模推理任务请求的场景下,随着推理业务种类的增加,模型文件的存储数据量急剧攀升,大大增加了云计算环境下模型文件的存储成本。同时,当面对海量用户请求时,数据的传输通常占用大量带宽,给核心网络带来巨大负载压力,同时导致较高的延迟,从而降低了用户的体验。
3、为了减轻模型的存储与传输压力,目前,行业内普遍采用模型压缩的方法降低模型大小,提高传输效率。尽管此类方案在一定程度上改善了深度学习推理任务的性能,但它们并不能完全解决服深度学习推理任务中的困难。首先,在当前移动数字时代的行业背景下,大部分深度学习应用需要在边缘端或移动端进行,而现有的优化方案通常是针对数据中心环境设计的。与数据中心环境不同,在以边缘端和移动端所组成的边缘计算环境中,网络传输能力受到限制,而集中式云端存储服务方案无法有效应对模型文件传输所产生的高延时这一问题。其次,通过对各类开源项目中使用深度神经网络模型的调研发现,各种类型推理任务中所使用的深度学习模型存在大量的冗余结构。因此,对于不同业务,其使用的主干网络模型存在大量可以复用的冗余权重张量。
技术实现思路
1、为了解决存储系统的存储资源利用效率过低的问题,本发明提供了一种深度神经网络模型存储系统,由四个模块组成,包括用户模块,模型文件分析模块,模型存储更新模块和细粒度模型存储模块;
2、所述用户模块接收用户的神经网络模型拉取请求和用户神经网络模型的系统提交,包括模型文件,模型名称和模型版本;
3、所述模型文件分析模块用于分析模型文件具体的层结构信息,提取各神经网络层的张量特征信息;
4、所述模型存储更新模块用于确定模型文件的新增层;
5、所述细粒度模型存储模块,用于模型存储系统的主要存储及拉取功能;
6、用户模块接收用户的深度神经网络模型的系统提交,通过模型分析模块和模型存储模块确定提交模型的层结构信息以及新增层,将模型文件存储在细粒度模型存储模块中,实现神经网络模型的存储并可供拉取。
7、进一步地,用户模块通过api实现用户模型的系统提交。
8、进一步地,神经网络模型层结构包括层种类,模型拓扑结构和模型层张量参数。
9、进一步地,模型文件分析模块通过打印模型结构信息获取模型文件内具体的层结构信息,使用md5信息特征提取算法获取各个神经网络层的张量特征信息。
10、进一步地,模型存储更新模块确认模型文件的额外存储需要的具体过程为:通过全局模型存储索引和全局层文件存储索引对系统中已存储的模型文件内神经网络层集群进行感知,采用全局模型哈希索引及全局细粒度层张量索引对比用户提交模型的各个层张量特征与存储系统中的层文件索引,将当前存储系统不存在的神经网络层作为新增层,为其添加额外储存需要,否则将新增层信息标记为空,其中,全局模型存储索引和全局层文件存储索引分别采用全局模型哈希索引及全局细粒度层张量索引。
11、进一步地,细粒度模型存储模块分为模型请求分析子模块,存储决策子模块,模型存储子模块和服务代理子模块四个子模块。
12、请求分析子模块,该子模块用于对模型存储系统的模型文件拉取请求进行记录和分析,并预测各个模型下一个时间段内的拉取请求率。
13、存储决策子模块,该子模块通过收集存储系统中各服务节点的当前资源状态与模型文件存储信息,并结合请求分析子模块的预测结果,对分布式存储系统上的模型文件进行实时存储位置调整,从而根据实时服务需求在特定时间段内实现最优文件位置部署。
14、模型存储子模块,该子模块负责以深度神经网络模型层张量为单位对各个模型文件进行细粒度存储,并更新维护分布式存储系统中模型文件索引与神经网络层结构索引,保障模型的存储位置可查。
15、服务代理子模块,该子模块负责在接收到模型拉取请求时,在分布式集群中重新以层为粒度重构请求所需求的模型文件,并根据收到的模型拉取请求位置,对模型文件的传输代理节点进行选择决策。
16、进一步地,系统进行深度神经网络模型的存储的步骤包括:
17、s11、用户通过用户模块向存储系统提交深度神经网络模型,缓存至离用户侧最近的存储服务节点;
18、s12、调用模型分析模块处理提交模型,获取提交模型文件具体的层结构信息以及各个神经网络层的张量特征信息;
19、s13、模型存储更新模块由各个神经网络层张量特征信息确定新增层,为其添加额外存储需要;
20、s14、细粒度模型存储模块根据提交模型文件具体的层结构信息与新增层的张量信息完成模型储存。
21、进一步地,细粒度模型存储模块首先通过获取存储系统过去1个时间窗口内的模型拉取记录,并通过线性回归方法对下一时间窗口内各个模型在不同存储节点上的调用频率进行预测,随后通过预测结果,对存储系统中各个层张量文件的位置进行调度更新,同时更新全局层文件哈希索引,具体步骤如下:
22、s141、模型存储子模块删除上述步骤s11中存储服务节点里的提交模型,暂存新增层的张量信息;
23、s142、模型存储子模块在全局模型存储索引中上传提交模型文件具体的层结构信息,同时根据新增层的张量信息在全局层文件存储索引中添加新增层索引;
24、s143、设定时间窗口,请求分析子模块读取存储系统上个时间窗口内的模型拉取记录,并通过线性回归方法得到对下一时间窗口内储存系统中各模型在不同存储节点上的调用频率预测结果;
25、s144、存储决策子模块读取存储系统中节点资源状态与模型文件存储信息,结合调用频率预测结果,使用随机森林算法得到模型文件实时存储位置的调整决策;
26、s145、模型存储子模块根据调整决策将各个模型文件存储在系统中,同步更新全局模型索引与全局层文件存储索引,并同步索引至系统中所有节点上,完成神经网络模型的储存。
27、进一步地,系统进行深度神经网络模型的拉取的步骤包括:
28、s21、服务代理子模块接收到模型拉取请求,读取全局模型存储索引与全局层文件存储索引,确定所需拉取模型及其所使用层文件的存储位置信息;
29、s22、服务代理子模块在分布式集群中重构所需模型文件,并根据模型拉取请求位置,向拉取方传输重构好的模型。
30、本发明提供的技术方案带来的有益效果是:本发明提供了一种深度神经网络模型存储系统,由四个模块组成,包括用户模块,模型文件分析模块,模型存储更新模块和细粒度模型存储模块;用户模块接收用户的深度神经网络模型的系统提交,通过模型分析模块和模型存储模块确定提交模型的层结构信息以及新增层,将模型文件存储在细粒度模型存储模块中,实现神经网络模型的存储并可供拉取,结合了云模型文件仓库与分布式文件存储的优点,通过存储调度与细粒度神经网络模型文件存储方式,提升了存储系统的存储资源利用效率,并提高了用户的服务体验。
1.一种深度神经网络模型存储系统,其特征在于,由四个模块组成,包括用户模块,模型文件分析模块,模型存储更新模块和细粒度模型存储模块;
2.如权利要求1所述的一种深度神经网络模型存储系统,其特征在于,所述用户模块通过api实现用户模型的系统提交。
3.如权利要求2所述的一种深度神经网络模型存储系统,其特征在于,神经网络模型层结构包括层种类,模型拓扑结构和模型层张量参数。
4.如权利要求3所述的一种深度神经网络模型存储系统,其特征在于,模型文件分析模块通过打印模型结构信息获取模型文件内具体的层结构信息,使用md5信息特征提取算法获取各个神经网络层的张量特征信息。
5.如权利要求4所述的一种深度神经网络模型存储系统,其特征在于,模型存储更新模块确认模型文件的额外存储需要的具体过程为:通过全局模型存储索引和全局层文件存储索引对系统中已存储的模型文件内神经网络层集群进行感知,对比用户提交模型的各个层张量特征与存储系统中的层文件索引,将当前存储系统不存在的神经网络层作为新增层,为其添加额外储存需要,否则将新增层信息标记为空;所述全局模型存储索引和全局层文件存储索引分别采用全局模型哈希索引及全局细粒度层张量索引。
6.如权利要求5所述的一种深度神经网络模型存储系统,其特征在于,所述细粒度模型存储模块分为模型请求分析子模块,存储决策子模块,模型存储子模块和服务代理子模块四个子模块。
7.如权利要求6所述的一种深度神经网络模型存储系统,其特征在于,系统进行深度神经网络模型的存储的步骤包括:
8.如权利要求7所述的一种深度神经网络模型存储系统,其特征在于,步骤s14具体为:
9.如权利要求8所述的一种深度神经网络模型存储系统,其特征在于,深度神经网络模型的储存采用分布式存储系统架构,以模型中的层结构为粒度对模型文件进行细粒度存储。
10.如权利要求9所述的一种深度神经网络模型存储系统,其特征在于,系统进行深度神经网络模型的拉取的步骤包括: