CN118133025A - 训练数据读取系统、方法、电子设备及计算机可读介质 - Google Patents
训练数据读取系统、方法、电子设备及计算机可读介质 Download PDFInfo
- Publication number
- CN118133025A CN118133025A CN202410383112.3A CN202410383112A CN118133025A CN 118133025 A CN118133025 A CN 118133025A CN 202410383112 A CN202410383112 A CN 202410383112A CN 118133025 A CN118133025 A CN 118133025A
- Authority
- CN
- China
- Prior art keywords
- training data
- training
- processor
- agent component
- metadata information
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012549 training Methods 0.000 title claims abstract description 311
- 238000000034 method Methods 0.000 title claims abstract description 94
- 238000003860 storage Methods 0.000 claims abstract description 72
- 238000012545 processing Methods 0.000 claims abstract description 45
- 238000009826 distribution Methods 0.000 claims abstract description 40
- 238000004891 communication Methods 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims description 51
- 238000004590 computer program Methods 0.000 claims description 17
- 238000010586 diagram Methods 0.000 description 12
- 230000005540 biological transmission Effects 0.000 description 8
- 230000006870 function Effects 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000013473 artificial intelligence Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000006378 damage Effects 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011176 pooling Methods 0.000 description 1
- 238000013468 resource allocation Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本申请提供了一种训练数据读取系统、方法、电子设备及计算机可读介质,涉及计算机技术领域,中央处理器与图形处理器通过总线设备通信连接,存储设备与中央处理器通信连接,中央处理器上设置有分发代理组件,图形处理器上设置有接受代理组件;分发代理组件,用于将中央处理器读取到的与训练任务所对应的训练数据的元数据信息,通过总线设备传输至接受代理组件,训练数据存储于存储设备中,接受代理组件,用于通过总线设备接收元数据信息,并将元数据信息传输至图形处理器,以使图形处理器基于元数据信息访问存储设备,读取与训练任务对应的训练数据。能够有效降低对中央处理器和存储资源的占用以及网络带宽的消耗,提高训练数据的读取效率。
Description
技术领域
本申请涉及计算机技术领域,特别是涉及一种训练数据读取系统、方法、电子设备及计算机可读介质。
背景技术
当前市场上主要的训练推理平台会采用IB网速网络(InfiniBand network,无穷带网络)结合高速并行文件系统存储的方案来保证数据读写I/O,设置有些厂商也提供了节点缓存数据的方案,让训练数据在计算节点缓存,图形处理器直接从存储设备读取数据,进而获取更高的读写速率。当存在主机设备通用计算资源和图形处理器资源分离部署的场景时,图形处理器则无法像数据缓存方案一样直接从存储设备中读取训练数据,而是需要主机设备将训练数据传输给图形处理器,整个过程不仅需要消耗通用主机设备的计算和存储资源,而且大量的数据传输也会对网络带宽造成压力,无法有效降低对中央处理器和存储资源的占用以及网络带宽的消耗,也无法提高训练数据的读取效率。
发明内容
有鉴于此,本申请提供了一种训练数据读取系统、方法、电子设备及计算机可读介质。以解决图形处理器获取当前训练数据的过程中无法有效降低对中央处理器和存储资源的占用以及网络带宽的消耗,无法提高训练数据的读取效率的问题。
为达到上述目的,本申请的技术方案如下:
本申请实施例第一方面,提供了一种训练数据读取系统,所述系统包括中央处理器、图形处理器、总线设备和存储设备;
所述中央处理器与所述图形处理器通过所述总线设备通信连接,所述存储设备与所述中央处理器通信连接,所述中央处理器上设置有分发代理组件,所述图形处理器上设置有接受代理组件;
所述分发代理组件,用于将所述中央处理器读取到的与训练任务所对应的训练数据的元数据信息,通过所述总线设备传输至所述接受代理组件,其中,所述元数据信息用于描述所述训练数据的位置信息和块大小信息,所述训练数据存储于所述存储设备中;
所述接受代理组件,用于通过所述总线设备接收所述元数据信息,并将所述元数据信息传输至所述图形处理器,以使所述图形处理器基于所述元数据信息访问所述存储设备,读取与所述训练任务对应的训练数据。
可选地,所述中央处理器部署在主机设备上,所述图形处理器部署在图形处理器资源设备上,所述主机设备与所述图形处理器资源设备之间通过网卡通信连接,所述接受代理组件运行在所述图形处理器中的并行计算平台和编程模型上;
所述图形处理器资源设备上设置有多个图形处理器,所述训练任务与多个图形处理器对应,所述图形处理器用于完成所述训练任务的训练过程,每个所述图形处理器对应一个接受代理组件,每个所述图形处理器用于处理与所述训练任务对应的多个训练数据中的其中一个训练数据,每个所述训练数据对应一个元数据信息;
所述分发代理组件,用于将所述中央处理器读取到的与训练任务所对应的训练数据的元数据信息,并通过第一总线设备将所述元数据信息传输给第二总线设备,所述第一总线设备部署在所述主机设备上,所述第二总线设备部署在所述图形处理器资源设备上;
每个所述图形处理器所对应的接受代理组件,用于通过所述第二总线设备接收所述图形处理器完成训练过程所需的训练数据所对应的元数据信息,并调用所述并行计算平台和编程模型的接口,将所述元数据信息中用于描述所述训练数据的位置信息和块大小信息传递给所述并行计算平台和编程模型;
所述并行计算平台和编程模型调度各个与所述训练数据所对应的图形处理器,以使各个所述图形处理器基于与其对应的训练数据的元数据信息中包含的所述位置信息和所述块大小信息,从所述存储设备中读取与训练任务所对应的训练数据。
可选地,所述中央处理器与所述图形处理器部署在同一台主机设备上。
可选地,所述同一台主机设备上包括多个图形处理器;
所述训练任务与多个图形处理器对应,每个所述图形处理器对应一个接受代理组件。
可选地,所述图形处理器上设置有计算模块,所述计算模块用于通过所述训练任务所对应的训练数据,完成所述训练任务的训练过程。
可选地,所述分发代理组件和所述接受代理组件是在所述训练任务被创建时,根据所述训练任务信息自动创建得到的,并在所述训练任务的训练过程结束后被销毁。
根据本申请实施例的第二方面,提供一种训练数据读取方法,应用于分发代理组件,所述分发代理组件设置于中央处理器上,所述中央处理器与所述存储设备通信连接,所述中央处理器与图形处理器通过总线设备通信连接,所述图形处理器上设置有接受代理组件;
所述方法包括:
将与训练任务所对应的训练数据的元数据信息从存储设备中读取到内存中,并将所述元数据信息通过所述总线设备传输给所述接受代理组件,所述元数据信息用于描述所述训练数据的位置信息和块大小信息;
以使所述接受代理组件,通过所述总线设备接收所述元数据信息,并将所述元数据信息传输至所述图形处理器,以使所述图形处理器基于所述元数据信息访问所述存储设备,读取与所述训练任务对应的训练数据。
根据本申请实施例的第三方面,提供一种训练数据读取方法,应用于接受代理组件,所述接受代理组件设置于图形处理器上,分发代理组件设置于中央处理器上,所述中央处理器与所述存储设备通信连接,所述中央处理器与图形处理器通过总线设备通信连接;
所述方法包括:
通过所述总线设备,接收所述分发代理组件从存储设备中读取到内存的与训练任务所对应的训练数据的元数据信息,所述元数据信息用于描述所述训练数据的位置信息和块大小信息;
将所述元数据信息传输至所述图形处理器,以使所述图形处理器基于所述元数据信息访问所述存储设备,读取与所述训练任务对应的训练数据。
根据本申请实施例的第四方面,提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如第二方面或第三方面所述的训练数据读取方法中的步骤。
根据本申请实施例的第五方面,提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如第二方面或第三方面所述的训练数据读取方法中的步骤。
本申请提供一种训练数据读取系统、方法、电子设备及计算机可读介质,通过中央处理器与图形处理器通过总线设备通信连接,存储设备与中央处理器通信连接,中央处理器上设置有分发代理组件,图形处理器上设置有接受代理组件;分发代理组件,用于将中央处理器读取到的与训练任务所对应的训练数据的元数据信息,通过总线设备传输至接受代理组件,其中,元数据信息用于描述训练数据的位置信息和块大小信息,训练数据存储于存储设备中,接受代理组件,用于通过总线设备接收元数据信息,并将元数据信息传输至图形处理器,以使图形处理器基于元数据信息访问存储设备,读取与训练任务对应的训练数据。
由于在读取训练数据的过程中,训练数据不会被中央处理器所读取,再下发给图形处理器,而是通过读取元数据信息的方式,将元数据信息通过分发代理组件传输给图形处理器所对应的接受代理组件,以使图形处理器基于接受到的元数据信息直接访问存储设备中的训练数据,因而不会大量消耗中央处理器的计算资源和存储资源,也不会存在大量的训练数据传输对网络带宽造成压力,从而有效降低对中央处理器和存储资源的占用以及网络带宽的消耗,提高训练数据的读取效率。
附图说明
为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请一实施例提供的一种训练数据读取系统的架构示意图;
图2是本申请一实施例提供的一种训练数据读取系统中的中央处理器和图形处理器分别部署的架构示意图;
图3是本申请一实施例提供的一种训练数据读取系统中的中央处理器和图形处理器部署在同一台主机设备上的架构示意图;
图4是本申请一实施例提供的一种应用于分发代理组件的训练数据读取方法的流程图;
图5是本申请一实施例提供的一种应用于接受代理组件的训练数据读取方法的流程图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
应理解,说明书通篇中提到的“一个实施例”或“一实施例”意味着与实施例有关的特定特征、结构或特性包括在本申请的至少一个实施例中。因此,在整个说明书各处出现的“在一个实施例中”或“在一实施例中”未必一定指相同的实施例。此外,这些特定的特征、结构或特性可以任意适合的方式结合在一个或多个实施例中。
在本申请的各种实施例中,应理解,下述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。
下面将参考附图并结合实施例来详细说明本申请。
AI(Artificial Intelligence,人工智能)时代的来临,让图形处理器类的计算资源成为了当前算力的热门,各种大模型、智能算法都需要有图形处理器、FPGA(Field-Programmable Gate Array,现场可编程门阵列)卡等加速设备的支撑。对于图形处理器资源的调度管理成了也成为了云计算平台新的技术挑战,从刚开始的单卡调度,虚拟机或者容器直接单独占用一块图形处理器或者多块图形处理器,到将单个图形处理器进行虚拟化切分,让多个虚机或者容器分享一块物理图形处理器的算力,有效提高图形处理器资源的利用率,再到后来图形处理器资源池化管理,将通用算力和AI算力分离部署,单独管理。方便业务在使用更大规模的图形处理器资源时,可以满足需求。然而大规模的图形处理器资源调度,需要有高I/O(Input/Output,输入/输出)存储数据支撑,如果数据无法高速读写,会成为整个调用链条的瓶颈,最终导致图形处理器无法充分发挥其算力的问题。这种情况尤其是在模型训练过程中,需要大量读取训练数据,经过图形处理器训练后对模型参数进行调优。
当前市场上主要的训练推理平台会采用IB网速网络+高速并行文件系统存储的方案来保证数据读写I/O,设置有些厂商也提供了节点缓存数据的方案,让训练数据在主机设备中缓存,图形处理器直接从本地盘读取数据,进而获取更高的读写速率。
目前这些方案能够满足的只是单物理节点使用图形处理器的场景,也就是说,训练任务使用所在物理机上图形处理器的场景,当存在物理服务器通用计算资源和图形处理器资源分离部署的场景时,图形处理器则无法像数据缓存方案一样直接从本地磁盘读数据,因为图形处理器在专门的资源池,负责选取训练数据的模型应用在通用物理服务器,需要读取到物理节点的内存后,再将数据通过IB网络发送给图形处理器资源池上的某张图形处理器,整个过程不仅需要消耗通用物理机的计算和内存资源,而且大量的数据传输也会对网络带宽造成压力,且无法提高训练数据的读取效率。
基于上述问题,本申请提出了一种训练数据读取系统、方法、电子设备及计算机可读介质。以解决图形处理器获取当前训练数据的过程中无法有效降低对中央处理器和存储资源的占用以及网络带宽的消耗的问题。
图1是本申请一实施例提供的一种训练数据读取系统的架构示意图,如图1所示,所述系统包括中央处理器、图形处理器、总线设备和存储设备;
所述中央处理器与所述图形处理器通过所述总线设备通信连接,所述存储设备与所述中央处理器通信连接,所述中央处理器上设置有分发代理组件,所述图形处理器上设置有接受代理组件;
所述分发代理组件,用于将所述中央处理器读取到的与训练任务所对应的训练数据的元数据信息,通过所述总线设备传输至所述接受代理组件,其中,所述元数据信息用于描述所述训练数据的位置信息和块大小信息,所述训练数据存储于所述存储设备中;
所述接受代理组件,用于通过所述总线设备接收所述元数据信息,并将所述元数据信息传输至所述图形处理器,以使所述图形处理器基于所述元数据信息访问所述存储设备,读取与所述训练任务对应的训练数据。
如图1所示,本申请实施例中的训练数据读取系统中包含中央处理器、图形处理器、总线设备、存储设备、内存,其中,中央处理器与内存通过总线通信连接,中央处理器与存储设备通过总线通信连接,并且,在训练数据读取系统中,涉及两种代理组件,分别为分发代理组件和接受代理组件,分发代理组件设置在中央处理器上,接受代理组件设置在图形处理器上,分发代理组件和接受代理组件之间通过总线设备和/或网卡通信连接,分发代理组件为在网络通信中用于转发或分发数据的组件,接受代理组件为在网络通信中用于接受和转发数据的组件,除此之外,代理组件可以是硬件模块,如网络交换机、路由器、负载均衡器等,代理组件也可以是软件模块,如代理服务器、消息队列、负载均衡软件等。
中央处理器所在的计算节点(即图1中的主机设备)上创建有一个或多个训练任务,一个训练任务对应一个进程,当单个主机设备上运行多个训练任务时,也就会存在多个进程同时运行,训练任务可以是与图像、视频处理相关的训练任务,训练任务的训练过程是基于训练数据来完成的。
分发代理组件为运行在训练任务所在的主机设备上的一个进程,分发代理组件的创建是随着训练任务的创建而同步创建的,接受代理组件是运行在图形处理器的驱动层上的一个进程,通过在驱动层的劫持技术,将接收到的元数据信息传输给图形处理器上的计算模块。
具体的,在本申请实施例中,当训练任务创建好时,会同时在训练任务所在的主机设备上创建出与训练任务对应的分发代理组件,中央处理器获取存储设备中与训练任务相关的元数据信息,将其读取到内存中,分发代理组件进一步将中央处理器读取到的与训练任务所对应的训练数据的元数据信息通过总线设备传输给完成训练任务的训练过程的图形处理器上设置的接受代理组件,接受代理组件对接收到的元数据信息进行解析,得到用于完成训练任务的训练过程的训练数据在存储设备中的位置信息和块大小信息,并将解析后的元数据信息传输至图形处理器,以使图形处理器基于元数据信息中的训练数据的位置信息和块大小信息,通过网卡访问存储有训练数据的存储设备,以读取与训练任务训练数据。
可选地,训练任务在创建阶段会将用于完成训练任务的训练过程的各个图形处理器的信息、训练数据的元数据信息的编号、分发代理组件的信息以及接受代理组件的信息等进行绑定,同时,与训练任务绑定的各个图形处理器也会被自动植入分发代理组件的信息和接受代理组件的信息,这种方式对于图形处理器的存在形态没有强制需求,只需训练任务所在的主机设备与图形处理器的所在位置可以互通,即可实现。
通过上述实施例,能够在读取训练数据的过程中,训练数据不会直接被中央处理器所读取,即训练数据不会经过内存,再下发给图形处理器,而是通过中央处理器读取元数据信息的方式,将元数据信息通过分发代理组件传输给图形处理器所对应的接受代理组件,以使图形处理器基于接受到的元数据信息直接访问存储设备中的训练数据,由于元数据信息远远小于训练数据的规模,因而不会大量消耗中央处理器的计算资源和存储资源,也不会存在大量的训练数据传输对网络带宽造成压力,从而有效降低对中央处理器和存储资源的占用以及网络带宽的消耗,提高训练数据的读取效率。
需要说明的是,所以本申请不仅适用于单图形处理器的训练模式,多图形处理器的训练模式,还适用于通用主机设备的计算资源和图形处理器资源设备分离的应用场景,下面将以各个实施例对不同的应用场景进行说明。
可选地,所述中央处理器部署在主机设备上,所述图形处理器部署在图形处理器资源设备上,所述主机设备与所述图形处理器资源设备之间通过网卡通信连接,所述接受代理组件运行在所述图形处理器中的并行计算平台和编程模型上;
所述图形处理器资源设备上设置有多个图形处理器,所述训练任务与多个图形处理器对应,所述图形处理器用于完成所述训练任务的训练过程,每个所述图形处理器对应一个接受代理组件,每个所述图形处理器用于处理与所述训练任务对应的多个训练数据中的其中一个训练数据,每个所述训练数据对应一个元数据信息;
所述分发代理组件,用于将所述中央处理器读取到的与训练任务所对应的训练数据的元数据信息,并通过第一总线设备将所述元数据信息传输给第二总线设备,所述第一总线设备部署在所述主机设备上,所述第二总线设备部署在所述图形处理器资源设备上;
每个所述图形处理器所对应的接受代理组件,用于通过所述第二总线设备接收所述图形处理器完成训练过程所需的训练数据所对应的元数据信息,并调用所述并行计算平台和编程模型的接口,将所述元数据信息中用于描述所述训练数据的位置信息和块大小信息传递给所述并行计算平台和编程模型;
所述并行计算平台和编程模型调度各个与所述训练数据所对应的图形处理器,以使各个所述图形处理器基于与其对应的训练数据的元数据信息中包含的所述位置信息和所述块大小信息,从所述存储设备中读取与训练任务所对应的训练数据。
具体的,图2是本申请一实施例提供的一种训练数据读取系统中的中央处理器和图形处理器分别部署的架构示意图,如图2所示,在本申请实施例中,为了适应更多的应用场景,中央处理器和图形处理器可以分别部署在不同的物理设备,其中,中央处理器部署在主机设备上,图形处理器部署在图形处理器资源设备上,主机设备与图形处理器资源设备之间通过网卡通信连接,以实现互通,并且,图形处理器资源设备上可以部署多个图形处理器,各个图形处理器的接受代理组件运行在图形处理器中的并行计算平台和编程模型(CUDA driver,Compute Unified Device Architecture Driver)上,当图形处理器资源设备上存在多个图形处理器时,则需要对应多个接受代理组件,每个接受代理组件对应一个分发代理组件,每个分发代理组件对应多个用于执行与其绑定的训练任务的训练过程的图形处理器所对应的接受代理组件,每个图形处理器用于处理与训练任务对应的多个训练数据中的其中一个训练数据,每个训练数据对应一个元数据信息。
并且,主机设备上部署有第一总线设备和第一网卡,图形处理器资源设备上还部署有第二总线设备和第二网卡以及第三网卡,第一总线设备用于实现分发代理组件到第一网卡之间的元数据信息的传输,第一网卡用于将元数据信息的传输给图形处理器资源设备上部署的第二网卡,第二总线设备用于接收第二网卡中的元数据信息,并将元数据信息传输给各个图形处理器,第三网卡用于实现各个图形处理器与存储设备之间的互通。
当存在多个图形处理器时,中央处理器会读取到与训练任务所对应的多个训练数据的元数据信息,该训练任务所对应的分发代理组件需要通过第一总线设备分别将与训练任务所对应的多个训练数据的元数据信息中的每一个分别传输给多个图形处理器所对应的接受代理组件,也就是说,每个接受代理组件将会接收到多个训练数据的元数据信息中的其中一个元数据信息,并基于该元数据信息对存储设备中的训练数据进行获取。
具体的,在本申请实施例中,在中央处理器和图形处理器可以分别部署在不同的物理设备应用场景下,当训练任务创建好时,会同时在训练任务所在的主机设备上创建出与训练任务对应的分发代理组件,根据训练任务所分配的图形处理器的分配情况进行创建接受代理组件,中央处理器获取存储设备中与训练任务相关的多个训练数据的元数据信息,将其读取到内存中,分发代理组件进一步将中央处理器读取到的与训练任务相关的多个训练数据的元数据信息通过第一总线设备传输给主机设备上的第一网卡,通过第一网卡将与训练任务相关的多个训练数据的元数据信息传输给部署在图形处理器资源设备上的第二网卡,接受代理组件通过第二总线设备从第二网卡中获取与训练任务相关的多个训练数据的元数据信息,并对与训练任务相关的多个训练数据的元数据信息进行解析,得到各个训练数据的位置信息和块大小信息,接受代理组件调用并行计算平台和编程模型的接口,将元数据信息中用于描述训练数据的位置信息和块大小信息传递给并行计算平台和编程模型,并行计算平台和编程模型将各个训练数据的位置信息和块大小信息分发给各个图形处理器,各个图形处理器基于接收到的训练数据的位置信息和块大小信息通过第三网卡访问存储设备,以读取与训练任务对应的训练数据,并通过训练数据完成对训练任务的训练过程。
通过上述实施例,在中央处理器和图形处理器分离部署的情况下,通过元数据信息的传输,解决了图形处理器无法从存储设备中读取数据的弊端,也不会大量消耗中央处理器的计算资源和存储资源,不存在大量的训练数据传输对网络带宽造成压力,从而能够有效降低对中央处理器和存储资源的占用以及网络带宽的消耗,提高训练数据的读取效率。
可选地,所述中央处理器与所述图形处理器部署在同一台主机设备上。
图3是本申请一实施例提供的一种训练数据读取系统中的中央处理器和图形处理器部署在同一台主机设备上的架构示意图,如图3所示,为中央处理器和图形处理器部署在同一台主机设备上的应用场景,在一种实施例中,由于中央处理器和图形处理器部署在同一台主机设备上,因此中央处理器上的分发代理组件和图形处理器上的分发代理组件同样部署在同一台主机设备上,通过上述实施例的方式执行元数据信息的传输过程,以使图形处理器基于元数据信息获取到存储设备中的训练数据。
通过上述实施例,在中央处理器和图形处理器部署在同一台主机设备上时,能够直接通过分发代理组件将元数据信息传输给图形处理器上的接受代理组件,以使图形处理器基于接受到的元数据信息快速并直接地通过网卡访问存储设备中的训练数据,有效降低对中央处理器和存储资源的占用以及网络带宽的消耗,提高训练数据的读取效率。
可选地,所述同一台主机设备上包括多个图形处理器;
所述训练任务与多个图形处理器对应,每个所述图形处理器对应一个接受代理组件。
如图3所示,在中央处理器和图形处理器部署在同一台主机设备上时,还可以将多个图形处理器部署在同一台主机设备上,并在同一台主机设备上设置网卡,当一个训练任务需要通过多个图形处理器来完成训练过程时,可以将多个图形处理器部署在中央处理器所处的主机设备上,并为每一个图形处理器设置接受代理组件,分发代理组件通过总线设备传输的多个训练数据的元数据信息给各个接受代理组件,以使各个接受代理组件将元数据信息进行解析,并传输给各个图形处理器,各个图形处理器通过网卡访问存储设备,以获取各个图形处理器用于完成训练任务的训练过程所需的训练数据。
通过上述实施例,在中央处理器和多个图形处理器部署在同一台主机设备上时,通过分发代理组件传输多个训练数据的元数据信息给多个接受代理组件,各个代理组件将解析后的元数据信息传输给各自对应的图形处理器,以使各个图形处理器获取各自用于完成训练任务的训练过程所需的训练数据,不仅降低对中央处理器和存储资源的占用以及网络带宽的消耗,还提高了训练数据的传输效果以及训练过程中的训练效率。
可选地,所述图形处理器上设置有计算模块,所述计算模块用于通过所述训练任务所对应的训练数据,完成所述训练任务的训练过程。
具体的,在本申请实施例中,在图形处理器获取到训练任务所需要的训练数据的元数据信息后,将存储设备中的对应的训练数据读取到图形处理器的计算模块中,并在计算模块中对训练数据进行运算,以完成训练任务的训练过程。
通过上述实施例,能够通过图形处理器上设置有计算模块完成训练任务的训练过程,提高训练数据的读取效率,进而提高训练任务的训练效率。
可选地,接受代理组件还可以需要根据不同的图形处理器的驱动来进行适配,不同的图形处理器厂商直接的实现逻辑不尽相同。
可选地,所述分发代理组件和所述接受代理组件是在所述训练任务被创建时,根据所述训练任务信息自动创建得到的,并在所述训练任务的训练过程结束后被销毁。
具体的,在本申请实施例中,分发代理组件和接受代理组件的创建和销毁是随着训练任务的生命周期依次执行的,在训练任务被创建时,分发代理组件所对应的进程和接受代理组件所对应的进程会被同时创建,当训练任务的训练过程完成时,分发代理组件所对应的进程和接受代理组件所对应的进程也会被销毁,释放资源。
通过上述实施例,当需要完成多个训练任务的训练过程时,分发代理组件所对应的进程和接受代理组件所对应的进程在训练任务的训练过程完成后会随着销毁,以保证合理的资源分配。
可选地,上述实施例中所述的训练数据读取方法中的训练数据还可以为文本形式、音频形式,对应的图形处理器也可以替换为FPGA卡(Field Programmable Gate Array,现场可编程门阵列)、TPU卡(Tensor Processing Unit,张量处理单元)、DPU卡(DataProcessing Unit,数据处理单元)等加速设备卡,并同样针对元数据信息来实现训练数据的读取,从而有效降低对资源占用以及网络带宽的消耗,提高训练数据的读取效率。
图4是本申请一实施例提供的一种应用于分发代理组件的训练数据读取方法的流程图,图5是本申请一实施例提供的一种应用于接受代理组件的训练数据读取方法的流程图。
如图4所示,基于同一发明构思,本申请一实施例提供一种训练数据读取方法,应用于分发代理组件,所述分发代理组件设置于中央处理器上,所述中央处理器与所述存储设备通信连接,所述中央处理器与图形处理器通过总线设备通信连接,所述图形处理器上设置有接受代理组件;
所述方法包括:
在步骤S101中,将与训练任务所对应的训练数据的元数据信息从存储设备中读取到内存中,并将所述元数据信息通过所述总线设备传输给所述接受代理组件,所述元数据信息用于描述所述训练数据的位置信息和块大小信息;
在步骤S102中,以使所述接受代理组件,通过所述总线设备接收所述元数据信息,并将所述元数据信息传输至所述图形处理器,以使所述图形处理器基于所述元数据信息访问所述存储设备,读取与所述训练任务对应的训练数据。
如图5所示,基于同一发明构思,本申请一实施例提供一种训练数据读取方法,应用于接受代理组件,所述接受代理组件设置于图形处理器上,分发代理组件设置于中央处理器上,所述中央处理器与所述存储设备通信连接,所述中央处理器与图形处理器通过总线设备通信连接;
所述方法包括:
在步骤S201中,通过所述总线设备,接收所述分发代理组件从存储设备中读取到内存的与训练任务所对应的训练数据的元数据信息,所述元数据信息用于描述所述训练数据的位置信息和块大小信息;
在步骤S202中,将所述元数据信息传输至所述图形处理器,以使所述图形处理器基于所述元数据信息访问所述存储设备,读取与所述训练任务对应的训练数据。
基于同一发明构思,本申请一实施例提供一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时,实现如上述实施例所述的训练数据读取方法中的步骤。
基于同一发明构思,本申请一实施例提供一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理器执行时,实现如上述实施例所述的训练数据读取方法中的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。
对于方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和部件并不一定是本申请所必须的。
本领域内的技术人员应明白,本申请实施例可提供为方法、装置、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、终端设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理终端设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理终端设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理终端设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理终端设备上,使得在计算机或其他可编程终端设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程终端设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
尽管已描述了本申请实施例的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例做出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本申请实施例范围的所有变更和修改。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者终端设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者终端设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者终端设备中还存在另外的相同要素。
以上对本申请所提供的一种训练数据读取系统、方法、电子设备及计算机可读介质进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。
Claims (10)
1.一种训练数据读取系统,其特征在于,所述系统包括中央处理器、图形处理器、总线设备和存储设备;
所述中央处理器与所述图形处理器通过所述总线设备通信连接,所述存储设备与所述中央处理器通信连接,所述中央处理器上设置有分发代理组件,所述图形处理器上设置有接受代理组件;
所述分发代理组件,用于将所述中央处理器读取到的与训练任务所对应的训练数据的元数据信息,通过所述总线设备传输至所述接受代理组件,其中,所述元数据信息用于描述所述训练数据的位置信息和块大小信息,所述训练数据存储于所述存储设备中;
所述接受代理组件,用于通过所述总线设备接收所述元数据信息,并将所述元数据信息传输至所述图形处理器,以使所述图形处理器基于所述元数据信息访问所述存储设备,读取与所述训练任务对应的训练数据。
2.根据权利要求1所述的训练数据读取系统,其特征在于,所述中央处理器部署在主机设备上,所述图形处理器部署在图形处理器资源设备上,所述主机设备与所述图形处理器资源设备之间通过网卡通信连接,所述接受代理组件运行在所述图形处理器中的并行计算平台和编程模型上;
所述图形处理器资源设备上设置有多个图形处理器,所述训练任务与多个图形处理器对应,所述图形处理器用于完成所述训练任务的训练过程,每个所述图形处理器对应一个接受代理组件,每个所述图形处理器用于处理与所述训练任务对应的多个训练数据中的其中一个训练数据,每个所述训练数据对应一个元数据信息;
所述分发代理组件,用于将所述中央处理器读取到的与训练任务所对应的训练数据的元数据信息,并通过第一总线设备将所述元数据信息传输给第二总线设备,所述第一总线设备部署在所述主机设备上,所述第二总线设备部署在所述图形处理器资源设备上;
每个所述图形处理器所对应的接受代理组件,用于通过所述第二总线设备接收所述图形处理器完成训练过程所需的训练数据所对应的元数据信息,并调用所述并行计算平台和编程模型的接口,将所述元数据信息中用于描述所述训练数据的位置信息和块大小信息传递给所述并行计算平台和编程模型;
所述并行计算平台和编程模型调度各个与所述训练数据所对应的图形处理器,以使各个所述图形处理器基于与其对应的训练数据的元数据信息中包含的所述位置信息和所述块大小信息,从所述存储设备中读取与训练任务所对应的训练数据。
3.根据权利要求1所述的训练数据读取系统,其特征在于,所述中央处理器与所述图形处理器部署在同一台主机设备上。
4.根据权利要求3所述的训练数据读取系统,其特征在于,所述同一台主机设备上包括多个图形处理器;
所述训练任务与多个图形处理器对应,每个所述图形处理器对应一个接受代理组件。
5.根据权利要求1所述训练数据读取系统,其特征在于,所述图形处理器上设置有计算模块,所述计算模块用于通过所述训练任务所对应的训练数据,完成所述训练任务的训练过程。
6.根据权利要求1-5任一所述训练数据读取系统,其特征在于,所述分发代理组件和所述接受代理组件是在所述训练任务被创建时,根据所述训练任务信息自动创建得到的,并在所述训练任务的训练过程结束后被销毁。
7.一种训练数据读取方法,其特征在于,应用于分发代理组件,所述分发代理组件设置于中央处理器上,所述中央处理器与所述存储设备通信连接,所述中央处理器与图形处理器通过总线设备通信连接,所述图形处理器上设置有接受代理组件;
所述方法包括:
将与训练任务所对应的训练数据的元数据信息从存储设备中读取到内存中,并将所述元数据信息通过所述总线设备传输给所述接受代理组件,所述元数据信息用于描述所述训练数据的位置信息和块大小信息;
以使所述接受代理组件,通过所述总线设备接收所述元数据信息,并将所述元数据信息传输至所述图形处理器,以使所述图形处理器基于所述元数据信息访问所述存储设备,读取与所述训练任务对应的训练数据。
8.一种训练数据读取方法,其特征在于,应用于接受代理组件,所述接受代理组件设置于图形处理器上,分发代理组件设置于中央处理器上,所述中央处理器与所述存储设备通信连接,所述中央处理器与图形处理器通过总线设备通信连接;
所述方法包括:
通过所述总线设备,接收所述分发代理组件从存储设备中读取到内存的与训练任务所对应的训练数据的元数据信息,所述元数据信息用于描述所述训练数据的位置信息和块大小信息;
将所述元数据信息传输至所述图形处理器,以使所述图形处理器基于所述元数据信息访问所述存储设备,读取与所述训练任务对应的训练数据。
9.一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时,实现如权利要求7或8任一所述的训练数据读取方法中的步骤。
10.一种计算机可读介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时,实现如权利要求7或8任一所述的训练数据读取方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410383112.3A CN118133025A (zh) | 2024-03-29 | 2024-03-29 | 训练数据读取系统、方法、电子设备及计算机可读介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202410383112.3A CN118133025A (zh) | 2024-03-29 | 2024-03-29 | 训练数据读取系统、方法、电子设备及计算机可读介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN118133025A true CN118133025A (zh) | 2024-06-04 |
Family
ID=91242583
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202410383112.3A Pending CN118133025A (zh) | 2024-03-29 | 2024-03-29 | 训练数据读取系统、方法、电子设备及计算机可读介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN118133025A (zh) |
-
2024
- 2024-03-29 CN CN202410383112.3A patent/CN118133025A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108062246B (zh) | 用于深度学习框架的资源调度方法和装置 | |
CN109634748A (zh) | 集群资源调度方法、装置、设备及计算机可读存储介质 | |
CN110489213B (zh) | 一种任务处理方法及处理装置、计算机系统 | |
US20160321777A1 (en) | Data parallel processing method and apparatus based on multiple graphic processing units | |
US20160321776A1 (en) | Model Parallel Processing Method and Apparatus Based on Multiple Graphic Processing Units | |
CN113377540A (zh) | 集群资源调度方法及装置、电子设备和存储介质 | |
CN109213600A (zh) | 一种基于ai云的gpu资源调度方法和装置 | |
CN106503791A (zh) | 用于有效神经网络部署的系统和方法 | |
CN107678752A (zh) | 一种面向异构集群的任务处理方法及装置 | |
US11468329B2 (en) | Techniques to manage training or trained models for deep learning applications | |
CN113946431B (zh) | 一种资源调度方法、系统、介质及计算设备 | |
CN109918203A (zh) | 接入服务器内存管理优化方法、接入服务器及通信系统 | |
CN116991560B (zh) | 针对语言模型的并行调度方法、装置、设备及存储介质 | |
CN111858034A (zh) | 一种资源的管理方法、系统、设备以及介质 | |
CN115686805A (zh) | Gpu资源共享的方法和装置、调度gpu资源共享的方法和装置 | |
CN115600676A (zh) | 深度学习模型推理方法、装置、设备及存储介质 | |
CN116643854A (zh) | 一种服务编排方法、装置、流程控制器及任务处理器 | |
CN108829530B (zh) | 一种图像处理方法及装置 | |
CN111459668A (zh) | 用于服务器的轻量级资源虚拟化方法及轻量级资源虚拟化装置 | |
CN118133025A (zh) | 训练数据读取系统、方法、电子设备及计算机可读介质 | |
CN113254143B (zh) | 虚拟化网络功能网元编排调度方法、装置和系统 | |
CN113946370A (zh) | 驱动系统及信息处理方法、设备、存储介质 | |
CN103562852B (zh) | 一种保障云应用程序服务质量的方法和装置 | |
CN111796932A (zh) | 一种gpu资源调度方法 | |
CN111935026A (zh) | 一种数据传输方法、装置、处理设备及介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination |