基于NFDT的分布式训练框架构建方法、分布式训练方法及系统技术方案

技术编号:25914243 阅读:63 留言:0更新日期:2020-10-13 10:32
本发明专利技术公开了一种基于NFDT的分布式训练框架构建方法、分布式训练方法及系统,该分布式训练方法包括如下步骤:单机用户将数据集和代码存储于集群网络中并生成唯一hash值;分布式训练模块接收任务需求对应的hash值从集群网络下载数据集和单机版代码;分布式训练模块利用单机版代码生成分布式训练框架;分布式训练框架调用计算资源进行分布式训练。本发明专利技术的用户只需要上传自己的数据集和单机训练代码,利用去中心化存储方式将训练任务压缩到集群中,集群中对应的训练设备根据收到的hash值将其解压,保证了训练的安全性和数据可靠性。本发明专利技术的NFDT框架对单机版训练过程中产生的模型文件进行模型解读和分析,实现单机版代码结构到分布式的训练功能。

【技术实现步骤摘要】
基于NFDT的分布式训练框架构建方法、分布式训练方法及系统
本专利技术涉及互联网
,具体涉及一种基于NFDT(NewFramworkforDistributedTensorflow,分布式Tensorflow新框架)的分布式训练框架构建方法、分布式训练方法及系统。
技术介绍
在利用分布式Tensorflow(张量流)框架构建分布式训练平台系统时发现存在以下两个主要问题:一是在进行分布式Tensorflow训练时,用户需要将单机版代码修改成分布式代码,增加了用户的使用难度,虽然无论是Uber公司推出的Horvovd框架,还是谷歌公司推出的estimatorAPI或者Tensorflow2.0,都是对Tensorflow进行底层封装,极大地缩减了分布式框架与单机版的区别。但是对于很多初学者来说仍然需要熟悉掌握新的API或者框架才能部署成可以进行分布式训练的代码结构,效果仍然不理想。从整体的实现过程而言,在单机版框架上实现分布式训练需要大量的框架重写和集群定义,这样的分布式框架与单机版相比复杂且难以定义。二是在通过基于中心化的分布式存储数据集时,如果某个服务器因为宕机会导致数据的丢失,影响整体训练效率和数据安全性。中心化存储因为有明确的中心,会导致容易受攻击,而且只要中心节点出现宕机或者损坏,会导致数据丢失。在5G以及人工智能的快速发展背景下,平台方拥有所有的数据,个人数据不再被个人所拥有。有些平台方为了自身的利益考虑,会将这些数据用作AI深度学习的训练数据样本。而这些数据经过收集、处理后,拥有一定的商业价值。因此,把数据放在中心化的地方,那么用户的数据安全性就得不到保障。另外,中心化存储导致带宽传输成本非常高昂,比如在计算机视觉领域的图像数据集动辄几百个G或者上千G,无论上传数据还是下载数据都会消耗带宽,带宽是不可忽略的且比存储成本要贵,而中心化的存储服务,为了保证各个地方的用户都拥有良好的体验,他们会将数据中心部署到主干网络上,而主干网络在任何一个国家都是非常昂贵的。
技术实现思路
本专利技术旨在至少解决现有技术中存在的技术问题,特别创新地提出了一种基于NFDT的分布式训练框架构建方法、分布式训练方法及系统。为了实现本专利技术的上述目的,根据本专利技术的第一个方面,本专利技术提供了一种基于NFDT的分布式训练框架构建方法,其包括如下步骤:获取单机用户的单机版代码框架;运行单机版代码框架并生成Checkpoint文件(模型文件),所述Checkpoint文件中包括单机版机器学习模型的创建代码,模型结构调用以及训练代码,模块训练过程中数据流的调用代码;构建分布式训练框架,所述分布式训练框架包括计算集群定义单元,模型结构解析单元,模型结构调用以及训练解析单元和数据流调用解析单元,所述分布式训练框架从单机版Checkpoint文件中解析出模型的创建代码,模型结构调用以及训练代码,模块训练过程中数据流的调用代码。本专利技术的基于NFDT的分布式训练框架构建方法通过NFDT框架对单机版框架生成的Checkpoint文件进行模型解析,得到分布式训练框架,使得用户只需要用自己的单机版代码即可进行分布式训练。为了实现本专利技术的上述目的,根据本专利技术的第二个方面,本专利技术提供了一种分布式训练方法,其包括如下步骤:单机用户将数据集和代码存储于集群网络中并生成唯一hash值(哈希值);分布式训练模块接收任务需求对应的hash值从集群网络下载数据集和单机版代码;分布式训练模块利用单机版代码生成分布式训练框架;分布式训练框架调用计算资源进行分布式训练。利用本专利技术的分布式训练方法,用户只需要上传自己的数据集和单机训练代码,去中心化存储方式将训练任务压缩到集群中,集群中对应的训练设备根据收到的hash值可以将其解压,保证了训练的安全性和数据可靠性,本专利技术将分布式训练框架设计成用户单机版框架的客户端和NFDT框架作为服务端。NFDT框架对单机版训练过程中产生的模型文件进行模型解读和分析,实现单机版代码结构到分布式的训练功能。根据本专利技术的一种优选实施方式,所述存储的方法为:单机用户将经过处理后的数据集和代码通过其连接的子集群上传至集群网络的所有子集群,所述集群网络的子集群位置不同且相互连接;存储用户获得数据集对应的唯一hash值并监测是否有下载请求。本专利技术的去中心化存储方法将数据集存储于集群网络,存储用户获得数据集对应的唯一hash值并监测是否有下载请求以决定是否发送数据集对应的唯一hash值,分布式存储数据,提高了存储效率也避免了中心化存储节点被攻击的风险;存储用户获得数据集对应的唯一hash值并监测是否有下载请求以决定是否发送该hash值,个人数据仍具有一定的个人属性,提高了数据的安全性。根据本专利技术的另一种优选实施方式,单机用户将数据集的唯一hash值发送给具有信任关系的部分子集群或用户。具有信任关系的部分子集群或用户才能够获取数据集的唯一hash值,才能够下载使用数据,提高了数据的安全性。根据本专利技术的另一种优选实施方式中,所述信任关系为预先设置好的可发送hash值子集群,或者向上传用户提出下载请求的子集群或用户。通过预先设置信任关系或者依请求发送,提高了数据的安全性。根据本专利技术的再另一种优选实施方式中,所述下载的方法为:分布式训练模块获取预下载数据集对应的唯一hash值;分布式训练模块在任意一个子集群下载,或者通过其相连的子集群同时从所有子集群中同步下载,所述子集群位置不同且互联。本专利技术的数据下载方法下载用户同时从集群中的多个子集群同时进行下载,大大地增加了数据集的下载速度。同时,集群网络中的部分子集群虽然参与了整体数据集的上传存储过程和下载传输过程,但是因为不知道该数据集的hash值,所以无法知道该数据集的相关信息,提高了数据的安全性。为了实现本专利技术的上述目的,根据本专利技术的第三个方面,本专利技术提供了一种基于NFDT的分布式训练框架系统,其包括:单机版代码框架模块,所述单机版代码框架模块运行单机版代码;Checkpoint文件模块,所述Checkpoint文件模块存储有单机版机器学习模型的创建代码,模型结构调用以及训练代码,模块训练过程中数据流的调用代码;以及分布式训练模块,所述分布式训练模块包括计算集群定义单元,模型结构解析单元,模型结构调用以及训练解析单元和数据流调用解析单元,所述分布式训练框架从单机版Checkpoint文件中解析出模型的创建代码,模型结构调用以及训练代码,模块训练过程中数据流的调用代码。本专利技术的基于NFDT的分布式训练框架系统通过NFDT框架对单机版框架生成的Checkpoint文件进行模型解析,得到分布式训练框架,使得用户只需要用自己的单机版代码即可进行分布式训练。为了实现本专利技术的上述目的,根据本专利技术的第四个方面,本专利技术提供了一种分布式训练平台,其包括集群模块,分布式训练模块;单机用户将数据集和代码存储于集群模块中并生成唯一hash值,分布式训练模块接收任务需求对本文档来自技高网
...

【技术保护点】
1.基于NFDT的分布式训练框架构建方法,其特征在于,包括如下步骤:/n获取单机用户的单机版代码框架;/n运行单机版代码框架并生成Checkpoint文件,所述Checkpoint文件中包括单机版机器学习模型的创建代码,模型结构调用以及训练代码,模块训练过程中数据流的调用代码;/n构建分布式训练框架,所述分布式训练框架包括计算集群定义单元,模型结构解析单元,模型结构调用以及训练解析单元和数据流调用解析单元,所述分布式训练框架从单机版Checkpoint文件中解析出模型的创建代码,模型结构调用以及训练代码,模块训练过程中数据流的调用代码。/n

【技术特征摘要】
1.基于NFDT的分布式训练框架构建方法,其特征在于,包括如下步骤:
获取单机用户的单机版代码框架;
运行单机版代码框架并生成Checkpoint文件,所述Checkpoint文件中包括单机版机器学习模型的创建代码,模型结构调用以及训练代码,模块训练过程中数据流的调用代码;
构建分布式训练框架,所述分布式训练框架包括计算集群定义单元,模型结构解析单元,模型结构调用以及训练解析单元和数据流调用解析单元,所述分布式训练框架从单机版Checkpoint文件中解析出模型的创建代码,模型结构调用以及训练代码,模块训练过程中数据流的调用代码。


2.一种分布式训练方法,其特征在于,包括如下步骤:
单机用户将数据集和代码存储于集群网络中并生成唯一hash值;
分布式训练模块接收任务需求对应的hash值从集群网络下载数据集和单机版代码;
分布式训练模块利用单机版代码生成分布式训练框架;
分布式训练框架调用计算资源进行分布式训练。


3.如权利要求2所述的分布式训练方法,其特征在于,所述存储的方法为:
单机用户将经过处理后的数据集和代码通过其连接的子集群上传至集群网络的所有子集群,所述集群网络的子集群位置不同且相互连接;
存储用户获得数据集对应的唯一hash值并监测是否有下载请求。


4.如权利要求2所述的分布式训练方法,其特征在于,单机用户将数据集的唯一hash值发送给具有信任关系的部分子集群或用户。


5.如权利要求2所述的分布式训练方法,其特征在于,所述下载的方法为:
分布式训练模块获取预下载数据集对应的唯一hash值;
分布式训练模块在...

【专利技术属性】
技术研发人员:兰毅
申请(专利权)人:钛星投资深圳有限公司
类型:发明
国别省市:广东;44

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

1