【技术实现步骤摘要】
一种面向超参训练的数据自动编排加载方法和系统
[0001]本专利技术涉及一种面向超参训练的数据自动编排加载方法和系统,属于运行深度学习的系统的开销优化
技术介绍
[0002]深度学习是一种由Geoffrey Hinton,Yoshua Bengio,Yann LeCun等人提出,基于数据来进行表征学习的算法,其中主流的算法是监督学习算法。监督算法是一种从标记的训练数据来推断一个功能的学习算法。基于监督学习的神经网络算法使机器模仿视听和思考等人类的活动,解决了很多复杂的模式识别难题,使得人工智能相关技术取得了很大进步。
[0003]在深度学习中,在相同或相似的数据集中训练多个神经网络是一种常见的需求,包括但不限于超参数搜索、神经网络模型搜索和在样本不均衡下对数据集的超采样。为了减少训练神经网络的开销,这些神经网络训练任务往往被并行的执行。
[0004]现有的用于深度学习中训练神经网络的系统,如PyTorch、Tensorflow、MXNet等,是为单一训练任务设计的。开发者或数据科学家会首先在这些训练 ...
【技术保护点】
【技术特征摘要】
1.一种面向超参训练的数据自动编排加载方法,其特征在于,当存在同一个数据集上的训练的任务时,本方法的总体步骤为:1)在训练开始时,接收多个训练任务所在的数据集,并交由数据管理方法管理;2)在训练过程中,加载数据并将数据分发给对应的训练任务,具体的是:通过采样方法不间断的从数据集中采样;当缓存中不存在对应的采样数据时,从磁盘中加载采样结果对应的数据,否则直接从缓存中取得采样数据,将其返回给训练任务;将从磁盘中读取的采样数据保存到缓存中,并通过置换方法更新缓存中的数据。2.根据权利要求1所述的面向超参训练的数据自动编排加载方法,其特征在于,所述数据管理方法负责接收训练任务传入的数据集,并管理它们的交集和差集;其利用左深树数据结构进新管理,该数据集结构的具体定义如下:当只有一个数据集的时候,所述左深树只有一个节点,即为该数据集合本身;当有多个数据集时,所述左深树的根节点是所有集合的交集,所有的数据集会被删去根节点的数据;所有集合的交集形成的根节点的左孩子是删去根节点元素的最小数据集,该根节点的右孩子基于除最小数据集外的删去根节点数据的其它数据集构建的一颗新的左深树。3.根据权利要求1所述的面向超参训练的数据自动编排加载方法,其特征在于,所述数据采样方法负责从数据集中,不间断的采样出一个数据,数据采样方法需要保证被采样的数据需要满足古典概率下的均匀分布以及较高的局部性;数据采样方法的步骤如下,其具体的步骤的介绍分为三种情况:情况一,当只存在一个任务和一个数据集时:所述任务在这一个数据集中执行不放回的随机采样流程;情况二,当存在两个任务和两个数据集时:每个任务根据其数据集的大小进行升序排序,然后接下来的采样流程如下:步骤21,计算所述两个数据集的交集,以及它们剩余的差集;步骤22,第一个任务根据古典概率模型选取交集差集,第二个任务在第一个任务选择的基础上再根据条件概率选取交集差集,所述条件概率需要使得第二个任务选择每个集合的概率符合古典概率模型;步骤23,在上述选择结束后,如果两个任务同时选择交集,那么交集只会被随机不放回采样一次,而这两个任务会共享这次采样的结果,否则每个任务在其选择的集合中进行一次独立地随机不放回采样;情况三,当存在多个任务和多个数据集时:每个任务根据其数据集的大小进行升序排序,然后接下来的采样流程如下:步骤31,计算所述多个数据集的交集,以及它们剩余的差集;步骤32,第一个任务根据古典概率模型选取交集差集,之后所有的任务在第一个任务选择的基础上再根据条件概率选取交集差集,所述条件概率需要使得之后的任务选择每个集合的概率符合古典概率模型;步骤33,在上述选择结束后,对于那些选择交集的任务,那么这些任务会共享一次在交集中进行的随机不放回采样的结果,对于选择差集的那些任务,第一个任务会在第一个数据集的差集中采样,其余选择差集的任务会在它们数据集的差集中递归重复步骤31和步骤
32。4.根据权利要求1所述的面向超参训练的数据自动编排加载方法,其特征在于,所述置换方法负责更新缓存中的数据来保证缓存的高命中率,具体的作用是在缓存系统没有空闲空间时,置换方法需要回收部分数据,算法流程如下:步骤31,为所有数据设置一个引用计数,该引用计数初始化为0;步骤32,每当一个任务所训练的数据集包含该数据,那么将该数据的引用计数加1;步骤33,在联合采样方法中,每个任务没采样一次数据,那么...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。