训练样本读取方法及装置制造方法及图纸

技术编号:26890158 阅读:24 留言:0更新日期:2020-12-29 16:05
本申请提供一种训练样本读取方法,方法包括:针对待训练模型的每次训练,判断本地存储介质中是否存储有待训练模型所需的训练样本;若否,则从分布式存储设备中读取待训练模型所需的训练样本以对待训练模型进行本次训练,并将读取到的训练样本存储至本地存储介质;若是,则从本地存储介质中读取待训练模型所需的训练样本以用于对待训练模型进行本次训练。在模型训练过程中,通过将训练样本存储在本地,从而后续每次都可从本地读取,无需与分布式存储设备交互,使得相同硬件规格的分布式存储设备可支撑更多的训练任务。又由于从本地读取相对从外界读取的速度快很多,因此模型训练效率也高,同时还使得训练设备的存储资源在训练过程中得到有效利用。

【技术实现步骤摘要】
训练样本读取方法及装置
本申请涉及计算机
,尤其涉及一种训练样本读取方法及装置。
技术介绍
当前大规模训练系统由云管理平台、训练设备以及分布式存储设备三部分构成,当用户向云管理平台请求训练任务时,云管理平台将训练任务调度分配给其中的一台训练设备,该训练设备基于接收的训练任务进行模型训练,在训练过程中,需要从分布式存储设备反复多次读取某一样本集中的训练样本进行多次训练,因此分布式设备与训练设备之间的数据吞吐量大。当有大量用户同时向云管理平台请求训练任务时,处理不同训练任务的训练设备会同时从分布式存储设备读取训练样本。然而,分布式存储设备与训练设备之间的网络带宽是固定的,因此分布式存储设备很容易达到瓶颈,影响训练样本的读取速度,降低模型训练效率。
技术实现思路
有鉴于此,本申请提供一种训练样本读取方法及装置,以解决训练样本读取速度慢,模型训练效率低的问题。根据本申请实施例的第一方面,提供一种训练样本读取方法,所述方法应用于训练设备,所述方法包括:针对待训练模型的每次训练,判断本地存储介质中是否存储有待训练模型所需的训练样本;若所述本地存储介质中没有待训练模型所需的训练样本,则从分布式存储设备中读取待训练模型所需的训练样本以对待训练模型进行本次训练,并将读取到的训练样本存储至本地存储介质;若待训练模型所需的训练样本已存储在所述本地存储介质,则从所述本地存储介质中读取待训练模型所需的训练样本以用于对待训练模型进行本次训练。根据本申请实施例的第二方面,提供一种训练样本读取装置,所述装置应用于训练设备,所述装置包括:判断模块,用于针对待训练模型的每次训练,判断本地存储介质中是否存储有待训练模型所需的训练样本;第一读取模块,用于在所述本地存储介质中没有待训练模型所需的训练样本时,从分布式存储设备中读取待训练模型所需的训练样本以对待训练模型进行本次训练;存储模块,用于将读取到的训练样本存储至本地存储介质;第二读取模块,用于在待训练模型所需的训练样本已存储在所述本地存储介质时,从所述本地存储介质中读取待训练模型所需的训练样本以用于对待训练模型进行本次训练。根据本申请实施例的第三方面,提供一种训练设备,所述设备包括可读存储介质和处理器;其中,所述可读存储介质,用于存储机器可执行指令;所述处理器,用于读取所述可读存储介质上的所述机器可执行指令,并执行所述指令以实现上述第一方面所述方法的步骤。应用本申请实施例,针对待训练模型的每次训练,判断本地存储介质中是否存储有待训练模型所需的训练样本,若本地存储介质中没有待训练模型所需的训练样本,则从分布式存储设备中读取待训练模型所需的训练样本以对待训练模型进行本次训练,并将读取到的训练样本存储至本地存储介质;若待训练模型所需的训练样本已存储在本地存储介质,则从本地存储介质中读取待训练模型所需的训练样本以用于对待训练模型进行本次训练。基于上述描述可知,在模型训练过程中,通过将待训练模型所需的训练样本存储在本地,从而后续每次都可以从本地读取所需的训练样本进行训练,无需再占用带宽从分布式存储设备读取,减少了与分布式存储设备的交互次数,使得相同硬件规格的分布式存储设备可支撑更多的训练任务。另外,由于本地读取速度相对从外界读取速度快很多,因此模型训练效率也高,同时还使得训练设备的本地存储介质资源在训练过程中得到有效利用。附图说明图1为本申请根据一示例性实施例示出的一种大规模训练系统结构示意图;图2为本申请根据一示例性实施例示出的一种训练样本读取方法的实施例流程图;图3为本申请根据一示例性实施例示出的一种训练设备的硬件结构图;图4为本申请根据一示例性实施例示出的一种训练样本读取装置的实施例结构图。具体实施方式这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。图1为本申请根据一示例性实施例示出的一种大规模训练系统结构示意图,包括云管理平台(如kubernetes、hadoop等)、训练集群以及分布式存储设备(由多个存储服务器组成的一个虚拟设备,可以无感知从多个存储服务器上读取训练样本)。其中,云管理平台用于接收用户触发的训练任务,并将训练任务调度分配给训练集群中的某一训练设备;训练设备用于基于该训练任务,从分布式存储设备中反复多次读取某一样本集中的训练样本进行模型训练;分布式存储设备用于存储样本集(如图片、文本、视频等样本集),每个样本集中包含大量的训练样本,这些样本集可以用于训练不同任务的模型。由上述描述可知,模型训练过程具有样本集会被反复多次读取、单条训练样本训练速度快、分布式存储设备与训练设备之间数据吞吐量大的特点。当有大量用户同时向云管理平台请求训练任务时,处理不同训练任务的训练设备会同时从分布式存储设备读取训练样本。然而,训练设备与分布式存储设备之间的网络带宽是固定的,当训练任务过多时,分布式存储设备很容易达到瓶颈,进而影响训练样本的读取速度,降低模型训练效率。目前通过两种方式来提升模型训练效率,第一种方式为在训练设备与分布式存储设备之间的数据传输方面的优化,以降低网络带宽压力(如对训练样本进行编码压缩后再进行传输);第二种方式为分布式存储设备的负载均衡(如反复使用的训练样本均衡到多个存储服务器上以对外提供服务)。而上述两种方式没有有效利用训练设备本地存储介质,因此每个训练任务还都是从分布式存储设备反复多次读取数据,造成训练设备部分资源浪费,开销成本也比较高。为解决上述问题,在不增加分布式存储硬件成本基础上,本申请提出一种训练样本读取方法,目的在于将训练设备本身的资源有效利用起来,以保证训练系统在多用户请求训练任务时,依然能够高效稳定的进行。本申请提出的训练样本读取方法是针对待训练模型的每次训练,若本地存储介质中没有待训练模型所需的训练样本,则在从分布式存储设备中读取待训练模型所需的训练样本以对待训练模型进行本次训练,并本文档来自技高网...

【技术保护点】
1.一种训练样本读取方法,所述方法应用于训练设备,其特征在于,所述方法包括:/n针对待训练模型的每次训练,判断本地存储介质中是否存储有待训练模型所需的训练样本;/n若所述本地存储介质中没有待训练模型所需的训练样本,则从分布式存储设备中读取待训练模型所需的训练样本以对待训练模型进行本次训练,并将读取到的训练样本存储至本地存储介质;/n若待训练模型所需的训练样本已存储在所述本地存储介质,则从所述本地存储介质中读取待训练模型所需的训练样本以用于对待训练模型进行本次训练。/n

【技术特征摘要】
1.一种训练样本读取方法,所述方法应用于训练设备,其特征在于,所述方法包括:
针对待训练模型的每次训练,判断本地存储介质中是否存储有待训练模型所需的训练样本;
若所述本地存储介质中没有待训练模型所需的训练样本,则从分布式存储设备中读取待训练模型所需的训练样本以对待训练模型进行本次训练,并将读取到的训练样本存储至本地存储介质;
若待训练模型所需的训练样本已存储在所述本地存储介质,则从所述本地存储介质中读取待训练模型所需的训练样本以用于对待训练模型进行本次训练。


2.根据权利要求1所述的方法,其特征在于,从分布式存储设备中读取待训练模型所需的训练样本以对待训练模型进行本次训练,包括:
获取所述待训练模型所需样本集包含的每条训练样本的访问路径;
从分布式存储设备中读取每条访问路径上的训练样本以对待训练模型进行本次训练。


3.根据权利要求2所述的方法,其特征在于,所述本地存储介质包括内存和磁盘;
将读取到的训练样本存储至本地存储介质,包括:
针对读取到的每条训练样本,若内存中剩余空间大于第一预设阈值,则将该训练样本存储至内存;
若内存中剩余空间小于第一预设阈值且磁盘中剩余空间大于第二预设阈值,则将该训练样本存储至磁盘;
若内存中剩余空间小于第一预设阈值且磁盘中剩余空间小于第二预设阈值,则停止存储。


4.根据权利要求3所述的方法,其特征在于,在将读取到的训练样本存储至内存或磁盘之后,所述方法还包括:
针对存储至内存或磁盘中的每条训练样本,为该训练样本生成存储路径和状态标识,并利用所述存储路径更新该训练样本的访问路径,并对应更新后的访问路径记录所述状态标识,所述状态标识用于指示训练样本存储至内存还是磁盘;
判断本地存储介质中是否存储有待训练模型所需的训练样本,包括:
判断待训练模型所需样本集包含的访问路径中是否存在记录有状态标识的访问路径;
若存在,则确定本地存储介质中存储有待训练模型所需的训练样本;
若不存在,则确定本地存储介质中没有待训练模型所需的训练样本。


5.根据权利要求4所述的方法,其特征在于,从本地存储介质中读取待训练模型所需的训练样本,包括:
从所述待训练模型所需样本集中获取记录有状态标识的访问路径;
针对每条记录有状态标识的访问路径,若该访问路径的状态标识指示存储至内存,则从内存中读取该访问路径上的训练样本;若该访问路径的状态标识指示存储至磁盘,则从磁盘中读取该访问路径上的训练样本。


6.根据权利要求4所述的方法,其特征在于,在从本地存储介质中读取待训练模型所需的训练样本之后,若所述待训练模型所需样本集中存在未记录状态标识的访问路径,所述方法还包括:
从分布式存储设备中读取未记录状态标识的访问路径上的训练样本;
利用从本地存储介质中读取的训练样本和从分布式存储设备中读取的训练样本对待训练模型进行本次训练。


7.一种训练样本读取装置,所述装置应用于训练设备,其特征在于,所述装置包括:...

【专利技术属性】
技术研发人员:姚沛杨威戚玉青
申请(专利权)人:杭州海康威视数字技术股份有限公司
类型:发明
国别省市:浙江;33

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

1