当前位置: 首页 > 专利查询>之江实验室专利>正文

一种面向多并发深度学习训练任务的数据缓存方法和装置制造方法及图纸

技术编号:34729644 阅读:53 留言:0更新日期:2022-08-31 18:18
本发明专利技术公开一种面向多并发深度学习训练任务的数据缓存方法和装置,该方法包括:步骤一,对多并发任务中每个任务执行预热训练,采集任务训练批次样本的特征参数,根据特征参数对所有任务进行排序;步骤二,计算每个任务在系统预分配下每个训练批次样本在缓存空间中的样本数目和每个任务期望每个训练批次样本在缓存空间中的样本数目;步骤三,采用缓存动态分配和管理策略并发执行任务的深度学习训练;步骤四,当各任务进入最后一个训练周期时,不再有新的样本数据加入这些任务的缓存空间,同时随着缓存空间内的样本数据被逐渐使用消耗,被占用的缓存空间逐步被释放,被释放的缓存空间被其他尚未结束的任务使用。本发明专利技术提高了全局缓存空间的利用率。了全局缓存空间的利用率。了全局缓存空间的利用率。

【技术实现步骤摘要】
一种面向多并发深度学习训练任务的数据缓存方法和装置


[0001]本专利技术涉及深度学习领域,尤其是涉及一种面向多并发深度学习训练任务的数据缓存方法和装置。

技术介绍

[0002]作为机器学习的重要分支,深度学习的性能优化一直是近年的研究热点。深度学习训练任务涵盖数据I/O,CPU计算和GPU计算等多个阶段,而随着CPU和GPU等组件的性能持续快速提升,深度学习训练的I/O瓶颈问题日益凸显。
[0003]缓存技术是缓解和消除I/O瓶颈的重要手段,但现有的面向深度学习训练的缓存面临“过度命中”问题。具体地,在一个训练周期epoch期间,一些训练批次batch在缓存内命中的样本占比大,使得这些batch的数据载入阶段的时间显著小于数据增强阶段或模型训练阶段,而另一些batch的情况则相反,这种缓存使用不均衡的情况使得前一部分batch浪费了有限的缓存资源,这一现象被称为缓存“过度命中”。
[0004]此外,多个深度学习训练任务并发执行的情况越来越普遍,这些任务相互独立,它们可能使用不同的数据集,执行不同的增强操作,使用不同的模型训练。本文档来自技高网...

【技术保护点】

【技术特征摘要】
1.一种面向多并发深度学习训练任务的数据缓存方法,其特征在于,包括以下步骤:步骤一,对多并发任务中每个任务的样本集,单独执行一个训练周期的预热训练,并采集训练批次样本的特征参数,根据采集到的特征参数,对所有任务进行排序产生列表;步骤二,计算每个任务在默认缓存分配方案下每个训练批次样本在缓存空间中的平均样本数目和每个任务期望每个训练批次样本在缓存空间中的样本数目;步骤三,基于步骤二中计算得到的两个参数,多并发任务采用缓存动态分配和管理策略并发执行深度学习训练;步骤四,当各任务进入最后一个训练周期时,不再有新的样本数据加入各任务的缓存空间,同时随着缓存空间内的样本数据被逐渐使用消耗,被占用的缓存空间逐步被释放,被释放的缓存空间被其他尚未结束的任务使用。2.如权利要求1所述的一种面向多并发深度学习训练任务的数据缓存方法,其特征在于,所述步骤一具体包含如下子步骤:步骤S11,获取初始参数配置,并发任务的总数记为,对于其中的任务,所用数据集包含样本总数记为,一个训练批次包含的样本数记为,系统预分配的缓存空间最多可保存的样本数记为;步骤S12,预热训练不使用任何缓存,当每个任务预热训练完成时,统计其信息:任务单独执行一个训练周期所需的时间,记为;载入一个训练批次的I/O平均时间,记为;载入一个样本的平均时间,记为;增强一个训练批次的平均时间,记为;训练一个训练批次的平均时间,记为;步骤S13,根据步骤S12获取的任务执行一个训练周期所需的时间,对所有任务作一次升序排序,得到有序的任务列表:,并且列表中每个任务包含参数作为该任务向空闲缓存池申请缓存空间的增益系数,即每当该任务向空闲缓存池申请一个样本的空间时,空闲缓存池将分配倍的缓存空间给此任务,同时,的值与呈反相关,且=0。3.如权利要求2所述的一种面向多并发深度学习训练任务的数据缓存方法,其特征在于,所述步骤二具体包含如下子步骤:步骤S21,计算每个任务在默认的缓存分配方案即系统预分配情况下每个训练批次样本在缓存空间中命中的样本数目,表达式为:,为排序后的任务所用数据集包含样本总数,为排序后的任务的一个训练批次包含的样本数,为排序后的任务在系统预分配的缓存空间可保存的样本数;步骤S22,计算每个任务期望每个训练批次样本在缓存空间中的样本数目,表达式为:
。4.如权利要求3所述的一种面向多并发深度学习训练任务的数据缓存方法,其特征在于,所述步骤三具体包括如下子步骤:步骤S31,将多并发任务的空闲缓存空间组成一个全局的空闲缓存池,其总大小记为totalMem,每个任务的缓存空间在逻辑上可分为两部分,记为和,其中保存着上一训练周期进入缓存空间而当前训练周期将被使用的样本,保存当前训练周期进入缓存而下一训练周期将被使用的样本;其中,初始情况下全局的空闲缓存池totalMem由下述公式计算而出:步骤S32,对于任务,在每个训练周期内持有两个样本访问序列,其中一个指示当前训练周期内样本...

【专利技术属性】
技术研发人员:朱春节周方汤志航秦亦曾令仿何水兵
申请(专利权)人:之江实验室
类型:发明
国别省市:

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

1