CN112749072B - 一种对存储训练数据的云存储系统的测试方法及装置 - Google Patents

一种对存储训练数据的云存储系统的测试方法及装置 Download PDF

Info

Publication number
CN112749072B
CN112749072B CN202110089176.9A CN202110089176A CN112749072B CN 112749072 B CN112749072 B CN 112749072B CN 202110089176 A CN202110089176 A CN 202110089176A CN 112749072 B CN112749072 B CN 112749072B
Authority
CN
China
Prior art keywords
data
trained
training
storage system
model
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.)
Active
Application number
CN202110089176.9A
Other languages
English (en)
Other versions
CN112749072A (zh
Inventor
余虹建
李锦丰
李海涛
宋达
朱军
李秋庆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Juyun Technology Co ltd
Original Assignee
Beijing Juyun Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Juyun Technology Co ltd filed Critical Beijing Juyun Technology Co ltd
Priority to CN202110089176.9A priority Critical patent/CN112749072B/zh
Publication of CN112749072A publication Critical patent/CN112749072A/zh
Application granted granted Critical
Publication of CN112749072B publication Critical patent/CN112749072B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
    • G06F11/3447Performance evaluation by modeling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/08Addressing or allocation; Relocation in hierarchically structured memory systems, e.g. virtual memory systems
    • G06F12/12Replacement control
    • G06F12/121Replacement control using replacement algorithms
    • G06F12/123Replacement control using replacement algorithms with age lists, e.g. queue, most recently used [MRU] list or least recently used [LRU] list
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Evolutionary Biology (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computer Hardware Design (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明实施例提供了一种对存储训练数据的云存储系统的测试方法及装置,上述方法包括:获得待训练模型和训练参数,生成第一训练任务;基于第一训练任务对应的待训练模型和训练参数,向云存储系统发送数据加载请求,以从云存储系统加载待训练模型所需要的第一待训练数据;基于从云存储系统加载的第一待训练数据,执行第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据。采用上述方法实现了对存储训练数据的存储系统的有效测试。

Description

一种对存储训练数据的云存储系统的测试方法及装置
技术领域
本发明涉及存储系统的测试技术领域,特别是涉及一种对存储训练数据的云存储系统的测试方法及装置。
背景技术
随着深度学习驱动的AI服务越来越多,对深度学习模型进行训练的工作越来越多。对深度学习模型进行训练往往需要大量的训练数据,而且模型训练过程中,训练数据会被频繁的读/写,这就对存储训练数据的设备提出了很高的要求。为此,专用于存储训练数据的云存储系统应运而生。
然而,专用于存储训练数据的云存储系统的性能如何,目前还没有有效的测试方法。
发明内容
本发明实施例的目的在于提供一种对存储训练数据的存储系统的测试方法、装置及电子设备,以实现对存储训练数据的存储系统的有效测试。
为了达到上述目的,本发明实施例提供了一种对存储训练数据的存储系统的测试方法,包括:
获得待训练模型和训练参数,生成第一训练任务;
基于第一训练任务对应的待训练模型和训练参数,向所述云存储系统发送数据加载请求,以从所述云存储系统加载所述待训练模型所需要的第一待训练数据;
基于从所述云存储系统加载的第一待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据。
进一步的,该方法还包括:
基于所述第一训练任务对应的待训练模型和训练参数,向测试对照存储系统发送数据加载请求,以从所述测试对照存储系统加载所述待训练模型所需要的待训练数据;所述测试对照存储系统为与所述云存储系统不同的存储系统,且存储有与所述云存储系统相同的待训练数据;
基于从测试对照存储系统加载的待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第二精度测试结果数据;
将所述第一精度测试结果数据与第二精度测试结果数据进行比较,得到训练精度测试比较结果数据。
进一步的,待训练数据包括:训练集和验证集;
所述基于从所述云存储系统加载的第一待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据步骤,包括:
基于从所述云存储系统加载的训练集,对第一训练任务对应的待训练模型进行至少一次迭代训练;
使用验证集确定每次迭代训练后的待训练模型的准确率,将每次迭代训练后的待训练模型的准确率均作为第一精度测试结果数据;
所述基于从测试对照存储系统加载的待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第二精度测试结果数据的步骤,包括:
基于从所述测试对照存储系统加载的训练集,对第一训练任务对应的待训练模型进行至少一次迭代训练;
使用验证集确定每次迭代训练后的待训练模型的准确率,将每次迭代训练后的待训练模型的准确率均作为第二精度测试结果数据。
进一步的,该方法还包括:
获得待训练模型和所述待训练模型的训练参数,生成针对至少一种类型的待训练模型的至少一个第二训练任务;
针对每种类型的待训练模型的第二训练任务,基于该种类型的待训练模型的第二训练任务对应的待训练模型和训练参数,向所述云存储系统发送数据加载请求;以从所述云存储系统加载所述每种类型的待训练模型所需要的第二待训练数据;
针对每种类型的待训练模型的第二训练任务,基于从所述云存储系统加载的第二待训练数据,执行所述第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第一性能测试结果数据。
进一步的,该方法还包括:
基于每种类型的待训练模型的第二训练任务对应的待训练模型和训练参数,向测试对照存储系统发送数据加载请求,以从所述测试对照存储系统加载所述每种类型的待训练模型所需要的第二待训练数据;其中,所述测试对照存储系统为与所述云存储系统不同的存储系统,且存储有与所述云存储系统相同的待训练数据;
基于从各个测试对照存储系统加载的每种类型的待训练模型的第二待训练数据,分别执行所述第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第二性能测试结果数据;
将所述第一性能测试结果数据与第二性能测试结果数据进行比较,得到第一性能测试比较结果数据。
进一步的,该方法还包括:
所述云存储系统的缓存管理器中加载有聚合缓存管理算法,使得所述内存资源中存储预加载待训练模型的部分数据,所述磁盘资源中存储剩余部分的待训练数据;
通过所述数据连接器连续向缓存管理器发送数据读取指令,以使所述缓存管理器,判断所述内存资源中是否存储有读取指令对应的训练数据,如果有,则从所述内存资源中获得目标训练数据;如果没有,则从所述磁盘资源中获得目标训练数据;
获得多个指定数量的加载数据的子进程对应的加速比,作为第三性能测试结果数据。
进一步的,该方法还包括:
将所述云存储系统的缓存管理器的管理算法更新为LRU管理算法;
通过所述数据连接器连续向缓存管理器发送所述数据读取指令,以使所述缓存管理器,判断所述内存资源中是否存储有读取指令对应的训练数据,如果有,则从所述内存资源中获得目标训练数据;如果没有,则从所述磁盘资源中获得目标训练数据,并将获得的目标训练数据保存至所述内存资源中;
获得多个指定数量的加载数据的子进程对应的加速比,作为第四性能测试结果数据;
将所述第三性能测试结果数据与所述第四性能测试结果数据进行比较,得到第二性能测试比较结果数据。
进一步的,所述云存储系统,搭建在多台虚拟服务器上,所述各台虚拟服务器提供所述云存储系统所需的处理器资源、内存资源和磁盘资源;所述处理器资源,从逻辑上划分成云存储系统的数据连接器和缓存管理器;所述磁盘资源和内存资源,用于存储待训练数据;
所述云存储系统中的数据加载过程包括:所述云存储系统的数据连接器接收该数据加载请求转发给缓存管理器,该缓存管理器,判断所述内存资源中是否存储有所述待训练模型所需要的待训练数据,如果有,则从所述内存资源中获得所述待训练模型所需要的待训练数据;如果没有,则从所述磁盘资源中获得所述待训练模型所需要的第一待训练数据。
为了达到上述目的,本发明实施例还提供了一种对存储训练数据的存储系统的测试装置,包括:
第一训练任务生成模块,用于获得待训练模型和训练参数,生成第一训练任务;
第一训练数据加载模块,用于基于第一训练任务对应的待训练模型和训练参数,向所述云存储系统发送数据加载请求,以从所述云存储系统加载所述待训练模型所需要的第一待训练数据;
第一训练任务执行模块,用于基于从所述云存储系统加载的第一待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据。
进一步的,该装置还包括:
第一对照训练数据加载模块,用于基于所述第一训练任务对应的待训练模型和训练参数,向测试对照存储系统发送数据加载请求,以从所述测试对照存储系统加载所述待训练模型所需要的待训练数据;所述测试对照存储系统为与所述云存储系统不同的存储系统,且存储有与所述云存储系统相同的待训练数据;
第一对照训练任务执行模块,用于基于从测试对照存储系统加载的待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第二精度测试结果数据;
精度比较模块,用于将所述第一精度测试结果数据与第二精度测试结果数据进行比较,得到训练精度测试比较结果数据。
进一步的,待训练数据包括:训练集和验证集;
所述第一训练任务执行模块,具体用于基于从所述云存储系统加载的训练集,对第一训练任务对应的待训练模型进行至少一次迭代训练;使用验证集确定每次迭代训练后的待训练模型的准确率,将每次迭代训练后的待训练模型的准确率均作为第一精度测试结果数据;
所述第一对照训练任务执行模块,具体用于基于从所述测试对照存储系统加载的训练集,对第一训练任务对应的待训练模型进行至少一次迭代训练;使用验证集确定每次迭代训练后的待训练模型的准确率,将每次迭代训练后的待训练模型的准确率均作为第二精度测试结果数据。
进一步的,该装置还包括:
第二训练任务生成模块,用于获得待训练模型和所述待训练模型的训练参数,生成针对至少一种类型的待训练模型的至少一个第二训练任务;
第二训练数据加载模块,用于针对每种类型的待训练模型的第二训练任务,基于该种类型的待训练模型的第二训练任务对应的待训练模型和训练参数,向所述云存储系统发送数据加载请求;以从所述云存储系统加载所述每种类型的待训练模型所需要的第二待训练数据;
第二训练任务执行模块,用于针对每种类型的待训练模型的第二训练任务,基于从所述云存储系统加载的第二待训练数据,执行所述第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第一性能测试结果数据。
进一步的,该装置还包括:
第二对照训练数据加载模块,用于基于每种类型的待训练模型的第二训练任务对应的待训练模型和训练参数,向测试对照存储系统发送数据加载请求,以从所述测试对照存储系统加载所述每种类型的待训练模型所需要的第二待训练数据;其中,所述测试对照存储系统为与所述云存储系统不同的存储系统,且存储有与所述云存储系统相同的待训练数据;
第二对照训练任务执行模块,用于基于从各个测试对照存储系统加载的每种类型的待训练模型的第二待训练数据,分别执行所述第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第二性能测试结果数据;
第一性能比较模块,用于将所述第一性能测试结果数据与第二性能测试结果数据进行比较,得到第一性能测试比较结果数据。
进一步的,该装置还包括:
数据预加载模块,用于所述云存储系统的缓存管理器中加载有聚合缓存管理算法,使得所述内存资源中存储预加载待训练模型的部分数据,所述磁盘资源中存储剩余部分的待训练数据;
第一数据获得模块,用于通过所述数据连接器连续向缓存管理器发送数据读取指令,以使所述缓存管理器,判断所述内存资源中是否存储有读取指令对应的训练数据,如果有,则从所述内存资源中获得目标训练数据;如果没有,则从所述磁盘资源中获得目标训练数据;
第一结果获取模块,用于获得多个指定数量的加载数据的子进程对应的加速比,作为第三性能测试结果数据。
进一步的,该装置还包括:
算法更新模块,用于将所述云存储系统的缓存管理器的管理算法更新为LRU管理算法;
第二数据获得模块,用于通过所述数据连接器连续向缓存管理器发送所述数据读取指令,以使所述缓存管理器,判断所述内存资源中是否存储有读取指令对应的训练数据,如果有,则从所述内存资源中获得目标训练数据;如果没有,则从所述磁盘资源中获得目标训练数据,并将获得的目标训练数据保存至所述内存资源中;
第二结果获取模块,用于获得多个指定数量的加载数据的子进程对应的加速比,作为第四性能测试结果数据;
第二性能比较模块,用于将所述第三性能测试结果数据与所述第四性能测试结果数据进行比较,得到第二性能测试比较结果数据。
进一步的,所述云存储系统,搭建在多台虚拟服务器上,所述各台虚拟服务器提供所述云存储系统所需的处理器资源、内存资源和磁盘资源;所述处理器资源,从逻辑上划分成云存储系统的数据连接器和缓存管理器;所述磁盘资源和内存资源,用于存储待训练数据;
所述云存储系统中的数据加载过程包括:所述云存储系统的数据连接器接收该数据加载请求转发给缓存管理器,该缓存管理器,判断所述内存资源中是否存储有所述待训练模型所需要的待训练数据,如果有,则从所述内存资源中获得所述待训练模型所需要的待训练数据;如果没有,则从所述磁盘资源中获得所述待训练模型所需要的第一待训练数据。
为了达到上述目的,本发明实施例提供了一种电子设备,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述任一所述对存储训练数据的存储系统的测试方法步骤。
为了达到上述目的,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一所述的对存储训练数据的存储系统的测试方法步骤。
为了达到上述目的,本发明实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述任一所述的对存储训练数据的存储系统的测试方法步骤。
本发明实施例有益效果:
采用本发明实施例提供的方法,通过获得待训练模型和训练参数,生成第一训练任务;基于第一训练任务对应的待训练模型和训练参数,向云存储系统发送数据加载请求,以从云存储系统获得加载待训练模型所需要的待训练数据;基于从云存储系统加载的第一待训练数据,执行第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据,实现了对存储训练数据的云存储系统的有效测试。
当然,实施本发明的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的实施例。
图1为本发明实施例提供的对存储训练数据的云存储系统的测试方法的一种流程图;
图2为本发明实施例提供的对存储训练数据的云存储系统的测试方法的另一种流程图;
图3为本发明实施例提供的对存储训练数据的云存储系统的测试方法的又一种流程图;
图4为本发明实施例提供的对存储训练数据的云存储系统的测试方法的又一种流程图;
图5为展示不同的第二训练任务每个epoch执行耗时的一种示意图;
图6为展示不同的第二训练任务每个epoch执行耗时的另一种示意图;
图7为本发明实施例提供的对存储训练数据的云存储系统的测试方法的又一种流程图;
图8为本发明实施例提供的对存储训练数据的云存储系统的测试方法的又一种流程图;
图9为应用聚合缓存算法和LRU的淘汰算法的对比测试结果示意图;
图10为本发明实施例提供的对存储训练数据的云存储系统的测试装置的一种结构图;
图11为本发明实施例提供的对存储训练数据的云存储系统的测试装置的另一种结构图;
图12为本发明实施例提供的对存储训练数据的云存储系统的测试装置的又一种结构图;
图13为本发明实施例提供的对存储训练数据的云存储系统的测试装置的又一种结构图;
图14为本发明实施例提供的电子设备的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,云存储系统可以搭建在多台虚拟服务器上,各台虚拟服务器提供云存储系统所需的处理器资源、内存资源和磁盘资源;处理器资源可以从逻辑上划分成云存储系统的数据连接器和缓存管理器;磁盘资源和内存资源,用于存储待训练数据。
图1为本发明实施例提供的对存储训练数据的云存储系统的测试方法的一种流程,如图1所示,包括如下步骤:
步骤101,获得待训练模型和训练参数,生成第一训练任务。
步骤102,基于第一训练任务对应的待训练模型和训练参数,向云存储系统发送数据加载请求,以从云存储系统加载待训练模型所需要的第一待训练数据。
步骤103,基于从云存储系统加载的第一待训练数据,执行第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据。
采用本发明实施例提供的方法,通过获得待训练模型和训练参数,生成第一训练任务;基于第一训练任务对应的待训练模型和训练参数,向云存储系统发送数据加载请求,以从云存储系统获得加载待训练模型所需要的待训练数据;基于从云存储系统加载的第一待训练数据,执行第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据,实现了对存储训练数据的云存储系统的有效测试。
图2为本发明实施例提供的对存储训练数据的云存储系统的测试方法的另一种流程,如图2所示,包括如下步骤:
步骤201,获得待训练模型和训练参数,生成第一训练任务。
本发明实施例中,待训练模型和训练参数,可以包括:待训练模型的模型结构、初始模型参数和训练时长。例如,参见下述表1:
可以生成根据待训练模型和训练参数生成第一训练任务,例如,第一训练任务Job1和第一训练任务Job2。并且第一训练任务Job1对应的待训练模型的模型结构、初始模型参数和训练时长分别为:Rest50、4卡的GPU服务器和50分钟;第一训练任务Job2对应的待训练模型的模型结构、初始模型参数和训练时长分别为:Vgg16、1卡的GPU服务器和60分钟。
表1:待训练模型和训练参数
本发明实施例中,第一训练任务具体可以为:针对语音识别的深度学习训练任务、针对图像识别的深度学习训练任务或针对图像分类的深度学习训练任务等等。
步骤202,基于第一训练任务对应的待训练模型和训练参数,向云存储系统发送数据加载请求,以从云存储系统加载待训练模型所需要的第一待训练数据。
本发明实施例中,云存储系统的数据连接器可以接收该数据加载请求,并将数据加载请求转发给缓存管理器;该缓存管理器可以判断内存资源中是否存储有待训练模型所需要的待训练数据,如果有,则从内存资源中获得待训练模型所需要的第一待训练数据;如果没有,则从磁盘资源中获得待训练模型所需要的第一待训练数据。
步骤203,基于从云存储系统加载的第一待训练数据,执行第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据。
本发明实施例中,待训练数据可以包括:训练集和验证集。
本步骤中,确定第一精度测试结果数据的步骤具体可以包括步骤A1-步骤A2:
步骤A1:基于从云存储系统加载的训练集,对第一训练任务对应的待训练模型进行至少一次迭代训练;
步骤A2:使用验证集确定每次迭代训练后的待训练模型的准确率,将每次迭代训练后的待训练模型的准确率均作为第一精度测试结果数据。
其中,对待训练模型进行迭代训练的次数可以根据实际应用情况进行设定,例如设定为100次或200次等等。
本发明实施例中,通过训练集对第一训练任务对应的待训练模型进行迭代训练后,可以基于验证集确定迭代训练后的待训练模型的准确率。
举例说明,待训练数据为多张图像,训练集包括:多张样本图像以及各样本图像的类别标签;验证集包括:多张图像,以及多张图像的真实类别;第一训练任务为图像分类。本步骤中,可以使用训练集的多张样本图像以及各样本图像的类别标签,对待训练模型进行迭代训练;然后,将验证集中的多张图像输入每次迭代训练后的待训练模型进行图像分类,得到图像分类结果;根据图像分类结果与验证集的各个图像的真实类别,确定迭代训练后的待训练模型的图像分类的准确率;具体的,可以计算图像分类结果中与真实分类结果相同的图像的数量,与验证集的图像数量的比值,将该比值作为迭代训练后的待训练模型的图像分类的准确率;然后,可以将每次迭代训练后的待训练模型的准确率均作为第一精度测试结果数据。
步骤204,基于第一训练任务对应的待训练模型和训练参数,向测试对照存储系统发送数据加载请求,以从测试对照存储系统加载待训练模型所需要的待训练数据。
其中,测试对照存储系统为与云存储系统不同的存储系统,且存储有与云存储系统相同的待训练数据。
本发明实施例中,测试对照存储系统可以为本地文件系统,例如本地文件系统Ext4。其中,本地文件系统可以搭建在一台虚拟服务器上。
测试对照存储系统也可以为分布式文件系统,例如,分布式文件系统BeeGFS或分布式文件系统CephFs。其中,分布式文件系统可以搭建在多台虚拟服务器上。
步骤205,基于从测试对照存储系统加载的待训练数据,执行第一训练任务;并确定第一训练任务的训练精度,作为第二精度测试结果数据。
本发明实施例中,从测试对照存储系统加载的待训练数据可以包括:训练集和验证集。
本步骤中,确定第二精度测试结果数据的步骤具体可以包括步骤B1-步骤B2:
步骤B1:基于从测试对照存储系统加载的训练集,对第一训练任务对应的待训练模型进行至少一次迭代训练;
步骤B2:使用验证集确定每次迭代训练后的待训练模型的准确率,将每次迭代训练后的待训练模型的准确率均作为第二精度测试结果数据。
举例说明,测试对照存储系统加载的训练集可以包括:多张样本图像以及各样本图像的类别标签;验证集包括:多张图像,以及多张图像的真实类别;第一训练任务为图像分类。本步骤中,可以使用训练集的多张样本图像以及各样本图像的类别标签,对待训练模型进行迭代训练;然后,将验证集中的多张图像输入每次迭代训练后的待训练模型进行图像分类,得到图像分类结果;根据图像分类结果与验证集的各个图像的真实类别,确定迭代训练后的待训练模型的图像分类的准确率;具体的,可以计算图像分类结果中与真实分类结果相同的图像的数量,与验证集的图像数量的比值,将该比值作为迭代训练后的待训练模型的图像分类的准确率;然后,可以将每次迭代训练后的待训练模型的准确率均作为第二精度测试结果数据。
步骤206,将第一精度测试结果数据与第二精度测试结果数据进行比较,得到训练精度测试比较结果数据。
本步骤中可以将第一精度测试结果数据和第二精度测试结果数据中,同一迭代次数下对应的准确率进行,从第一精度测试结果数据和第二精度测试结果数据中,确定准确率更好的精度测试结果数据。
举例说明,若第一精度测试结果数据包括:基于云存储系统加载的训练集对待训练模型进行的100次迭代训练所对应的100个准确率;若第二精度测试结果数据包括:基于测试对照存储系统加载的训练集对待训练模型进行的100次迭代训练所对应的100个准确率;
可以比较相同迭代次数下,第一精度测试结果数据中的准确率和第二精度测试结果数据中的准确率的高低。例如,可以比较第90次迭代训练后,第一精度测试结果数据中的待训练模型的准确率和第二精度测试结果数据中的待训练模型准确率的高低。
将100次迭代次数中,准确率的比较结果作为训练精度测试比较结果数据。通过训练精度测试比较结果数据可以比较出:基于云存储系统加载的训练集所训练的模型,与基于测试对照存储系统加载的训练集所训练的模型的准确率高低。
并且,本申请实施例通过比较可以发现,与基于测试对照存储系统加载的训练集所训练的模型相比,基于云存储系统加载的训练集所训练的模型的准确率更好。
采用本发明实施例提供的方法,通过获得待训练模型和训练参数,生成第一训练任务;基于第一训练任务对应的待训练模型和训练参数,向云存储系统发送数据加载请求,以从云存储系统获得加载待训练模型所需要的待训练数据;基于从云存储系统加载的第一待训练数据,执行第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据,实现了对存储训练数据的云存储系统的有效测试。并且,基于从测试对照存储系统加载的待训练数据,执行第一训练任务;并确定第一训练任务的训练精度作为第二精度测试结果数据;将第一精度测试结果数据与第二精度测试结果数据进行比较,得到训练精度测试比较结果数据。即通过训练精度测试比较结果数据,实现了比较云存储系统和测试对照存储系统的训练精度。
本发明实施例中,第一训练任务可以为一个深度学习训练任务,也可以为多个深度学习训练任务。当只有一个第一训练任务时,可以将第一精度测试结果数据与第二精度测试结果数据进行比较,得到训练精度测试比较结果数据,比较云存储系统和测试对照存储系统之间在执行单个第一训练任务的训练精度。当存在多个第一训练任务时,云存储系统和测试对照存储系统均可以同时或者连续在多台GPU主机上运行多个第一训练任务;将第一精度测试结果数据与第二精度测试结果数据进行比较,得到训练精度测试比较结果数据,即比较云存储系统和测试对照存储系统之间在执行多个第一训练任务的训练精度。
举例说明,本发明实施例中,云存储系统可以搭建于百度云上的3台通用型虚拟机上,每台虚拟机的配置为:CPU为16核,128GB内存,2个500GB的虚拟磁盘。用于测试的GPU机器可以为百度云上的10台GPU虚拟机,每台主机包含4个NVidia V100 GPU,每个GPU有16G显存,256GB的内存,100G的本地SSD。
具体的,本发明实施例中,可以搭建的测试对照存储系统为:分布式文件系统BeeGFS和CephFs,本地文件系统Ext4。BeeGFS和CephFS分别搭建于百度云上3台通用虚拟机,每台虚拟机的配置为:CPU为16核,128GB内存,2个500GB的虚拟磁盘。Ext4搭建于百度云上一台拥有1.8TB本地nvme的GPU虚拟机上,每台主机包含4个NVidia V100 GPU,每个GPU有16G显存,256GB的内存,100G的本地SSD。参见表2,第一训练任务可以对应一组多样化的深度学习工作负载:ResNet50在ImageNet-1K数据集上;ResNet101在mageNet2W数据集上;以及DeepSpeech2在LibriSpeech数据集上。
表2:数据集信息
所搭建的云存储系统,可以通过基于从云存储系统加载的第一待训练数据,执行第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据;每个测试对照存储系统,可以通过基于从各个测试对照存储系统加载的待训练数据,分别执行第一训练任务;并确定第一训练任务的训练精度,作为第二精度测试结果数据;可以将第一精度测试结果数据与第二精度测试结果数据进行比较,得到训练精度测试比较结果数据。通过训练精度测试比较结果数据比较云存储系统和各个测试对照存储系统之间的执行第一训练任务的训练精度的差异。
图3为本发明实施例提供的对存储训练数据的云存储系统的测试方法又一种流程,如图3所示,包括如下步骤:
步骤301,获得待训练模型和待训练模型的训练参数,生成针对至少一种类型的待训练模型的至少一个第二训练任务。
本步骤中,可以获得多种类型的待训练模型和各个待训练模型的训练参数,生成针对至少一种类型的待训练模型的至少一个第二训练任务。其中,多种类型的待训练模型和训练参数,可以包括:获得每种类型待训练模型的模型结构、初始模型参数和训练时长等等。
本发明实施例中,所生成的针对不同类型的待训练模型的至少一个第二训练任务可以为:针对语音识别的深度学习训练任务、针对图像识别的深度学习训练任务、针对图像分类的深度学习训练任务等等。
步骤302,针对每种类型的待训练模型的第二训练任务,基于该种类型的待训练模型的第二训练任务对应的待训练模型和训练参数,向云存储系统发送数据加载请求;以从云存储系统加载每种类型的待训练模型所需要的第二待训练数据。
步骤303,针对每种类型的待训练模型的第二训练任务,基于从云存储系统加载的第二待训练数据,执行第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第一性能测试结果数据。
具体的,可以测试云存储系统在执行三种不同第二训练任务的性能差异。三种不同第二训练任务具体可以为:ResNet50(使用数据集ImageNet-1K)、ResNet101(使用数据集ImageNet-2W)和DeepSpeech2(使用数据集LibriSpeech)。具体的,可以从测试集群中选取1台GPU机器,GPU机器后端使用云存储系统,执行三种不同的模型。
采用本发明实施例提供的方法,通过获得待训练模型和训练参数,生成生成针对至少一种类型的待训练模型的至少一个第二训练任务;基于第二训练任务对应的待训练模型和训练参数,向云存储系统发送数据加载请求,以从云存储系统获得加载待训练模型所需要的待训练数据;基于从云存储系统加载的待训练数据,执行第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第一性能测试结果数据,实现了对存储训练数据的云存储系统的有效测试。
图4为本发明实施例提供的对存储训练数据的云存储系统的测试方法又一种流程,如图4所示,包括如下步骤:
步骤401-步骤403与步骤301-步骤303分别对应相同,此处不再赘述。
步骤404,基于每种类型的待训练模型的第二训练任务对应的待训练模型和训练参数,向测试对照存储系统发送数据加载请求,以从测试对照存储系统加载每种类型的待训练模型所需要的第二待训练数据。
其中,测试对照存储系统为与云存储系统不同的存储系统,且存储有与云存储系统相同的待训练数据。具体的,测试对照存储系统可以为:多种分布式文件系统或本地文件系统中的一种或多种,各分布式训练数据搭建在多台虚拟服务器上,本地文件系统搭建在一台虚拟服务器上;各测试对照存储系统均存储有与云存储系统相同的待训练数据。
步骤405,基于从各个测试对照存储系统加载的每种类型的待训练模型的第二待训练数据,分别执行第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第二性能测试结果数据。
步骤406,将第一性能测试结果数据与第二性能测试结果数据进行比较,得到第一性能测试比较结果数据。
具体的,本发明实施例中,可以搭建的测试对照存储系统为:分布式文件系统BeeGFS和CephFs,本地文件系统Ext4。BeeGFS和CephFS分别搭建于百度云上3台通用虚拟机,每台虚拟机的配置为:CPU为16核,128GB内存,2个500GB的虚拟磁盘。Ext4搭建于百度云上一台拥有1.8TB本地nvme的GPU虚拟机上,每台主机包含4个NVidia V100 GPU,每个GPU有16G显存,256GB的内存,100G的本地SSD。参见表2,第二训练任务可以对应一组多样化的深度学习工作负载:ResNet50在ImageNet-1K数据集上;ResNet101在mageNet2W数据集上;以及DeepSpeech2在LibriSpeech数据集上。
具体的,可以进行4组测试,4组测试的后端依次使用云存储系统、本地文件系统Ext4、BeeFS和CephFS。每个数据集可以指定70GB可用内存空间(GPU虚拟机可用内存为256GB),Ext4、BeeFS和CephFS可以不限制内存使用量。每组测试可以同时运行5台GPU虚拟机,每台GPU虚拟机上同时运行第二训练任务的待训练模型ResNet50、第二训练任务的待训练模型ResNet101和第二训练任务的待训练模型DeepSpeech2,并且,每个模型使用一个GPU,为了使每台虚拟机上三种模型训练都在运行,当某个第二训练任务先于其他第二训练任务完成时,可以再次启动此该第二训练任务,直到训练最慢的第二训练任务完成。最终每组测试的结果如图5所示,测试结果显示在执行多种类型的第二训练任务时(即混合负载下),云存储系统的性能明显由于其他三种测试对照存储系统。
图6展示了三种不同的第二训练任务使用不同存储系统时每个epoch的执行耗时。从图6中可以看出云存储系统在数据集小于内存的情况下(数据集ImageNet-1K和DeepSpeech2)性能优于测试对照存储系统ext4,这主要是因为云存储系统中的数据连接器在挂载时就可以开始预读文件,且从第二个epoch开始云存储系统中的数据连接器将能够整个数据集缓存在内存中。而相比于测试对照存储系统BeeGFS和测试对照存储系统CephFS,云存储系统可以明显缩短训练耗时。
采用本发明实施例提供的方法,通过获得待训练模型和所述待训练模型的训练参数,生成针对至少一种类型的待训练模型的至少一个第二训练任务;针对每种类型的待训练模型的第二训练任务,基于从云存储系统加载的第二待训练数据,执行第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第一性能测试结果数据,实现了对存储训练数据的云存储系统的有效测试。并且,通过基于从测试对照存储系统加载的每种类型的待训练模型的第二待训练数据,分别执行第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第二性能测试结果数据;即通过将第一性能测试结果数据与第二性能测试结果数据进行比较得到的第一性能测试比较结果数据,实现了比较云存储系统和各个测试对照存储系统的性能。
图7为本发明实施例提供的对存储训练数据的云存储系统的测试方法又一种流程,如图7所示,包括如下步骤:
步骤701,云存储系统的缓存管理器中加载有聚合缓存管理算法,使得内存资源中存储预加载待训练模型的部分数据,磁盘资源中存储剩余部分的待训练数据。
步骤702,通过数据连接器连续向缓存管理器发送数据读取指令,以使缓存管理器,判断内存资源中是否存储有读取指令对应的训练数据,如果有,则从内存资源中获得目标训练数据;如果没有,则从磁盘资源中获得目标训练数据。
步骤703,获得多个指定数量的加载数据的子进程对应的加速比,作为第三性能测试结果数据。
本发明实施例中,多个指定数量可以为8、16、32和48等等。即本步骤中可以获得8个加载数据的子进程对应的加速比、16个加载数据的子进程对应的加速比、32个加载数据的子进程对应的加速比和48个加载数据的子进程对应的加速比。
其中,加速比为:单个子进程完成加载数据所消耗的时间,与多个指定数量的子进程完成加载数据所消耗的时间之比。例如,若单个子进程加载完训练数据的耗时为ts,且若多个指定数量的子进程(如8个子进程)加载完训练数据的耗时为tp,则加速比s=ts/tp
采用本发明实施例提供的方法,云存储系统的缓存管理器中加载的聚合缓存管理算法,使得内存资源中存储预加载待训练模型的部分数据,磁盘资源中存储剩余部分的待训练数据;通过数据连接器连续向缓存管理器发送数据读取指令,以使缓存管理器,判断内存资源中是否存储有读取指令对应的训练数据,如果有,则从内存资源中获得目标训练数据;如果没有,则从磁盘资源中获得目标训练数据;获得多个指定数量的加载数据的子进程对应的加速比,作为第三性能测试结果数据。通过获取第三性能测试结果数据实现了对加载有聚合缓存管理算法的云存储系统的性能测试。
图8为本发明实施例提供的对存储训练数据的云存储系统的测试方法又一种流程,如图8所示,包括如下步骤:
步骤801-步骤803与步骤701-步骤703分别对应相同,此处不再赘述。
步骤804,将云存储系统的缓存管理器的管理算法更新为LRU管理算法。
其中,LRU(Least Recently Used,最近最少使用)管理算法常用于页面置换算法,是一种常用的页面置换算法,选择最近最久未使用的页面予以淘汰。该算法赋予每个页面一个访问字段,用来记录一个页面自上次被访问以来所经历的时间t,当须淘汰一个页面时,选择现有页面中其t值最大的,即最近最少使用的页面予以淘汰。
步骤805,通过数据连接器连续向缓存管理器发送数据读取指令,以使缓存管理器,判断内存资源中是否存储有读取指令对应的训练数据,如果有,则从内存资源中获得目标训练数据;如果没有,则从磁盘资源中获得目标训练数据,并将获得的目标训练数据保存至内存资源中。
步骤806,获得多个指定数量的加载数据的子进程对应的加速比,作为第四性能测试结果数据。
其中,多个指定数量可以为8、16、32和48等等。即本步骤中可以获得8个加载数据的子进程对应的加速比、16个加载数据的子进程对应的加速比、32个加载数据的子进程对应的加速比和48个加载数据的子进程对应的加速比。
步骤807,将第三性能测试结果数据与第四性能测试结果数据进行比较,得到第二性能测试比较结果数据。
举例说明,本发明实施例中,在云存储系统的缓存管理器中可以加载聚合缓存算法和LRU的淘汰算法,比较使用缓存算法和使用LRU的淘汰算法的性能。具体的,在进行性能测试时可以仅测试数据加载过程(即并不进行深度学习任务训练),并采用不同的numworker(加载数据的子进程)和限制使用不同的内存容量来对比使用缓存算法和使用LRU的淘汰算法的性能。本发明实施例中,具体可以进行以下三种数据加载测试:
第一种数据加载测试:使用ImageNet-1K,在BatFS(云存储系统的数据连接器)使用内存为40GB、80GB和120GB时,num worker分别为16、32和48时,采用聚合缓存算法和通用缓存的性能比较;第二性能测试比较结果数据显示采用聚合缓存算法加速比更高,即数据加载性能更好。
第二种数据加载测试:使用ImageNet-2W,在BatFS使用内存为120GB和240GB,numworker分别为16、32和48时,采用聚合缓存算法和LRU的淘汰算法的性能比较;第二性能测试比较结果数据显示采用聚合缓存算法加速比更高,即数据加载性能更好。
第三种数据加载测试:可以使用3台GPU虚拟机作为客户端,每台机器都同时读取三个数据集(ImageNet-1K、ImageNet-2W和LibriSpeech),但是三台机器分别使用不同的num worker(分别为16、32和48,每个数据集使用的内存限制为70GB)。第二性能测试比较结果数据如图9所示,从第二性能测试比较结果数据可以看出加速比更高,即数据加载性能更好。在使用聚合缓存算法后能明显提升存储的性能,尤其是当数据大部分内容能被后端缓存时。
采用本发明实施例提供的方法,采用本发明实施例提供的方法,云存储系统的缓存管理器中加载的聚合缓存管理算法,使得内存资源中存储预加载待训练模型的部分数据,磁盘资源中存储剩余部分的待训练数据;通过数据连接器连续向缓存管理器发送数据读取指令,以使缓存管理器,判断内存资源中是否存储有读取指令对应的训练数据,如果有,则从内存资源中获得目标训练数据;如果没有,则从磁盘资源中获得目标训练数据;获得多个指定数量的加载数据的子进程对应的加速比,作为第三性能测试结果数据。进一步的,获取第四性能测试结果数据,通过将第三性能测试结果数据与第四性能测试结果数据进行比较,得到第二性能测试比较结果数据,实现了直接比较聚合缓存算法与其他算法的在数据加载时的性能。
基于同一发明构思,根据本发明提供的对存储训练数据的云存储系统的测试方法,本发明实施例还提供了一种对存储训练数据的云存储系统的测试装置,参见图10,所述装置包括:
第一训练任务生成模块1001,用于获得待训练模型和训练参数,生成第一训练任务;
第一训练数据加载模块1002,用于基于第一训练任务对应的待训练模型和训练参数,向所述云存储系统发送数据加载请求,以从所述云存储系统加载所述待训练模型所需要的第一待训练数据;
第一训练任务执行模块1003,用于基于从所述云存储系统加载的第一待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据。
采用本发明实施例提供的装置,通过获得待训练模型和训练参数,生成第一训练任务;基于第一训练任务对应的待训练模型和训练参数,向云存储系统发送数据加载请求,以从云存储系统获得加载待训练模型所需要的待训练数据;基于从云存储系统加载的第一待训练数据,执行第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据,实现了对存储训练数据的云存储系统的有效测试。
进一步的,参见图11,该装置还包括:
第一对照训练数据加载模块1101,用于基于所述第一训练任务对应的待训练模型和训练参数,向测试对照存储系统发送数据加载请求,以从所述测试对照存储系统加载所述待训练模型所需要的待训练数据;所述测试对照存储系统为与所述云存储系统不同的存储系统,且存储有与所述云存储系统相同的待训练数据;
第一对照训练任务执行模块1102,用于基于从测试对照存储系统加载的待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第二精度测试结果数据;
精度比较模块1103,用于将所述第一精度测试结果数据与第二精度测试结果数据进行比较,得到训练精度测试比较结果数据。
进一步的,待训练数据包括:训练集和验证集;
所述第一训练任务执行模块1003,具体用于基于从所述云存储系统加载的训练集,对第一训练任务对应的待训练模型进行至少一次迭代训练;使用验证集确定每次迭代训练后的待训练模型的准确率,将每次迭代训练后的待训练模型的准确率均作为第一精度测试结果数据;
所述第一对照训练任务执行模块1102,具体用于基于从所述测试对照存储系统加载的训练集,对第一训练任务对应的待训练模型进行至少一次迭代训练;使用验证集确定每次迭代训练后的待训练模型的准确率,将每次迭代训练后的待训练模型的准确率均作为第二精度测试结果数据。
进一步的,参见图12,该装置还包括:
第二训练任务生成模块1201,用于获得待训练模型和所述待训练模型的训练参数,生成针对至少一种类型的待训练模型的至少一个第二训练任务;
第二训练数据加载模块1202,用于针对每种类型的待训练模型的第二训练任务,基于该种类型的待训练模型的第二训练任务对应的待训练模型和训练参数,向所述云存储系统发送数据加载请求;以从所述云存储系统加载所述每种类型的待训练模型所需要的第二待训练数据;
第二训练任务执行模块1203,用于针对每种类型的待训练模型的第二训练任务,基于从所述云存储系统加载的第二待训练数据,执行所述第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第一性能测试结果数据。
进一步的,参见图12,该装置还包括:
第二对照训练数据加载模块1204,用于基于每种类型的待训练模型的第二训练任务对应的待训练模型和训练参数,向测试对照存储系统发送数据加载请求,以从所述测试对照存储系统加载所述每种类型的待训练模型所需要的第二待训练数据;其中,所述测试对照存储系统为与所述云存储系统不同的存储系统,且存储有与所述云存储系统相同的待训练数据;
第二对照训练任务执行模块1205,用于基于从各个测试对照存储系统加载的每种类型的待训练模型的第二待训练数据,分别执行所述第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第二性能测试结果数据;
第一性能比较模块1206,用于将所述第一性能测试结果数据与第二性能测试结果数据进行比较,得到第一性能测试比较结果数据。
采用本发明实施例提供的装置,通过获得待训练模型和所述待训练模型的训练参数,生成针对至少一种类型的待训练模型的至少一个第二训练任务;针对每种类型的待训练模型的第二训练任务,基于从云存储系统加载的第二待训练数据,执行第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第一性能测试结果数据,实现了对存储训练数据的云存储系统的有效测试。并且,通过基于从测试对照存储系统加载的每种类型的待训练模型的第二待训练数据,分别执行第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第二性能测试结果数据;即通过将第一性能测试结果数据与第二性能测试结果数据进行比较得到的第一性能测试比较结果数据,实现了比较云存储系统和各个测试对照存储系统的性能。
进一步的,参见图13,该装置还包括:
数据预加载模块1301,用于所述云存储系统的缓存管理器中加载有聚合缓存管理算法,使得所述内存资源中存储预加载待训练模型的部分数据,所述磁盘资源中存储剩余部分的待训练数据;
第一数据获得模块1302,用于通过所述数据连接器连续向缓存管理器发送数据读取指令,以使所述缓存管理器,判断所述内存资源中是否存储有读取指令对应的训练数据,如果有,则从所述内存资源中获得目标训练数据;如果没有,则从所述磁盘资源中获得目标训练数据;
第一结果获取模块1303,用于获得多个指定数量的加载数据的子进程对应的加速比,作为第三性能测试结果数据。
进一步的,参见图13,该装置还包括:
算法更新模块1304,用于将所述云存储系统的缓存管理器的管理算法更新为LRU管理算法;
第二数据获得模块1305,用于通过所述数据连接器连续向缓存管理器发送所述数据读取指令,以使所述缓存管理器,判断所述内存资源中是否存储有读取指令对应的训练数据,如果有,则从所述内存资源中获得目标训练数据;如果没有,则从所述磁盘资源中获得目标训练数据,并将获得的目标训练数据保存至所述内存资源中;
第二结果获取模块1306,用于获得多个指定数量的加载数据的子进程对应的加速比,作为第四性能测试结果数据;
第二性能比较模块1307,用于将所述第三性能测试结果数据与所述第四性能测试结果数据进行比较,得到第二性能测试比较结果数据。
进一步的,所述云存储系统,搭建在多台虚拟服务器上,所述各台虚拟服务器提供所述云存储系统所需的处理器资源、内存资源和磁盘资源;所述处理器资源,从逻辑上划分成云存储系统的数据连接器和缓存管理器;所述磁盘资源和内存资源,用于存储待训练数据;
所述云存储系统中的数据加载过程包括:所述云存储系统的数据连接器接收该数据加载请求转发给缓存管理器,该缓存管理器,判断所述内存资源中是否存储有所述待训练模型所需要的待训练数据,如果有,则从所述内存资源中获得所述待训练模型所需要的待训练数据;如果没有,则从所述磁盘资源中获得所述待训练模型所需要的第一待训练数据。
采用本发明实施例提供的装置,采用本发明实施例提供的方法,云存储系统的缓存管理器中加载的聚合缓存管理算法,使得内存资源中存储预加载待训练模型的部分数据,磁盘资源中存储剩余部分的待训练数据;通过数据连接器连续向缓存管理器发送数据读取指令,以使缓存管理器,判断内存资源中是否存储有读取指令对应的训练数据,如果有,则从内存资源中获得目标训练数据;如果没有,则从磁盘资源中获得目标训练数据;获得多个指定数量的加载数据的子进程对应的加速比,作为第三性能测试结果数据。进一步的,获取第四性能测试结果数据,通过将第三性能测试结果数据与第四性能测试结果数据进行比较,得到第二性能测试比较结果数据,实现了直接比较聚合缓存算法与其他算法的在数据加载时的性能。
本发明实施例还提供了一种电子设备,如图14所示,包括处理器1401、通信接口1402、存储器1403和通信总线1404,其中,处理器1401,通信接口1402,存储器1403通过通信总线1404完成相互间的通信,
存储器1403,用于存放计算机程序;
处理器1401,用于执行存储器1403上所存放的程序时,实现如下步骤:
获得待训练模型和训练参数,生成第一训练任务;
基于第一训练任务对应的待训练模型和训练参数,向所述云存储系统发送数据加载请求,以从所述云存储系统加载所述待训练模型所需要的第一待训练数据;
基于从所述云存储系统加载的第一待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本发明提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一对存储训练数据的云存储系统的测试方法的步骤。
在本发明提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一对存储训练数据的云存储系统的测试方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置、电子设备及存储介质而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (16)

1.一种对存储训练数据的云存储系统的测试方法,其特征在于,包括:
获得待训练模型和训练参数,生成第一训练任务;
基于第一训练任务对应的待训练模型和训练参数,向所述云存储系统发送数据加载请求,以从所述云存储系统加载所述待训练模型所需要的第一待训练数据;
基于从所述云存储系统加载的第一待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据;
所述方法还包括:
所述云存储系统的缓存管理器中加载有聚合缓存管理算法,使得内存资源中存储预加载待训练模型的部分数据,磁盘资源中存储剩余部分的待训练数据;
通过数据连接器连续向缓存管理器发送数据读取指令,以使所述缓存管理器,判断所述内存资源中是否存储有读取指令对应的训练数据,如果有,则从所述内存资源中获得目标训练数据;如果没有,则从所述磁盘资源中获得目标训练数据;
获得多个指定数量的加载数据的子进程对应的加速比,作为第三性能测试结果数据。
2.根据权利要求1所述的方法,其特征在于,该方法还包括:
基于所述第一训练任务对应的待训练模型和训练参数,向测试对照存储系统发送数据加载请求,以从所述测试对照存储系统加载所述待训练模型所需要的待训练数据;所述测试对照存储系统为与所述云存储系统不同的存储系统,且存储有与所述云存储系统相同的待训练数据;
基于从测试对照存储系统加载的待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第二精度测试结果数据;
将所述第一精度测试结果数据与第二精度测试结果数据进行比较,得到训练精度测试比较结果数据。
3.根据权利要求2所述的方法,其特征在于,待训练数据包括:训练集和验证集;
所述基于从所述云存储系统加载的第一待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据步骤,包括:
基于从所述云存储系统加载的训练集,对第一训练任务对应的待训练模型进行至少一次迭代训练;
使用验证集确定每次迭代训练后的待训练模型的准确率,将每次迭代训练后的待训练模型的准确率均作为第一精度测试结果数据;
所述基于从测试对照存储系统加载的待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第二精度测试结果数据的步骤,包括:
基于从所述测试对照存储系统加载的训练集,对第一训练任务对应的待训练模型进行至少一次迭代训练;
使用验证集确定每次迭代训练后的待训练模型的准确率,将每次迭代训练后的待训练模型的准确率均作为第二精度测试结果数据。
4.根据权利要求1所述的方法,其特征在于,该方法还包括:
获得待训练模型和所述待训练模型的训练参数,生成针对至少一种类型的待训练模型的至少一个第二训练任务;
针对每种类型的待训练模型的第二训练任务,基于该种类型的待训练模型的第二训练任务对应的待训练模型和训练参数,向所述云存储系统发送数据加载请求;以从所述云存储系统加载所述每种类型的待训练模型所需要的第二待训练数据;
针对每种类型的待训练模型的第二训练任务,基于从所述云存储系统加载的第二待训练数据,执行所述第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第一性能测试结果数据。
5.根据权利要求4所述的方法,其特征在于,该方法还包括:
基于每种类型的待训练模型的第二训练任务对应的待训练模型和训练参数,向测试对照存储系统发送数据加载请求,以从所述测试对照存储系统加载所述每种类型的待训练模型所需要的第二待训练数据;其中,所述测试对照存储系统为与所述云存储系统不同的存储系统,且存储有与所述云存储系统相同的待训练数据;
基于从各个测试对照存储系统加载的每种类型的待训练模型的第二待训练数据,分别执行所述第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第二性能测试结果数据;
将所述第一性能测试结果数据与第二性能测试结果数据进行比较,得到第一性能测试比较结果数据。
6.根据权利要求1所述的方法,其特征在于,该方法还包括:
将所述云存储系统的缓存管理器的管理算法更新为LRU管理算法;
通过所述数据连接器连续向缓存管理器发送所述数据读取指令,以使所述缓存管理器,判断所述内存资源中是否存储有读取指令对应的训练数据,如果有,则从所述内存资源中获得目标训练数据;如果没有,则从所述磁盘资源中获得目标训练数据,并将获得的目标训练数据保存至所述内存资源中;
获得多个指定数量的加载数据的子进程对应的加速比,作为第四性能测试结果数据;
将所述第三性能测试结果数据与所述第四性能测试结果数据进行比较,得到第二性能测试比较结果数据。
7.根据权利要求1所述的方法,其特征在于,所述云存储系统,搭建在多台虚拟服务器上,所述各台虚拟服务器提供所述云存储系统所需的处理器资源、内存资源和磁盘资源;所述处理器资源,从逻辑上划分成云存储系统的数据连接器和缓存管理器;所述磁盘资源和内存资源,用于存储待训练数据;
所述云存储系统中的数据加载过程包括:所述云存储系统的数据连接器接收该数据加载请求转发给缓存管理器,该缓存管理器,判断所述内存资源中是否存储有所述待训练模型所需要的待训练数据,如果有,则从所述内存资源中获得所述待训练模型所需要的待训练数据;如果没有,则从所述磁盘资源中获得所述待训练模型所需要的第一待训练数据。
8.一种对存储训练数据的云存储系统的测试装置,其特征在于,包括:
第一训练任务生成模块,用于获得待训练模型和训练参数,生成第一训练任务;
第一训练数据加载模块,用于基于第一训练任务对应的待训练模型和训练参数,向所述云存储系统发送数据加载请求,以从所述云存储系统加载所述待训练模型所需要的第一待训练数据;
第一训练任务执行模块,用于基于从所述云存储系统加载的第一待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第一精度测试结果数据;
所述装置还包括:
数据预加载模块,用于所述云存储系统的缓存管理器中加载有聚合缓存管理算法,使得内存资源中存储预加载待训练模型的部分数据,磁盘资源中存储剩余部分的待训练数据;
第一数据获得模块,用于通过数据连接器连续向缓存管理器发送数据读取指令,以使所述缓存管理器,判断所述内存资源中是否存储有读取指令对应的训练数据,如果有,则从所述内存资源中获得目标训练数据;如果没有,则从所述磁盘资源中获得目标训练数据;
第一结果获取模块,用于获得多个指定数量的加载数据的子进程对应的加速比,作为第三性能测试结果数据。
9.根据权利要求8所述的装置,其特征在于,该装置还包括:
第一对照训练数据加载模块,用于基于所述第一训练任务对应的待训练模型和训练参数,向测试对照存储系统发送数据加载请求,以从所述测试对照存储系统加载所述待训练模型所需要的待训练数据;所述测试对照存储系统为与所述云存储系统不同的存储系统,且存储有与所述云存储系统相同的待训练数据;
第一对照训练任务执行模块,用于基于从测试对照存储系统加载的待训练数据,执行所述第一训练任务;并确定第一训练任务的训练精度,作为第二精度测试结果数据;
精度比较模块,用于将所述第一精度测试结果数据与第二精度测试结果数据进行比较,得到训练精度测试比较结果数据。
10.根据权利要求9所述的装置,其特征在于,待训练数据包括:训练集和验证集;
所述第一训练任务执行模块,具体用于基于从所述云存储系统加载的训练集,对第一训练任务对应的待训练模型进行至少一次迭代训练;使用验证集确定每次迭代训练后的待训练模型的准确率,将每次迭代训练后的待训练模型的准确率均作为第一精度测试结果数据;
所述第一对照训练任务执行模块,具体用于基于从所述测试对照存储系统加载的训练集,对第一训练任务对应的待训练模型进行至少一次迭代训练;使用验证集确定每次迭代训练后的待训练模型的准确率,将每次迭代训练后的待训练模型的准确率均作为第二精度测试结果数据。
11.根据权利要求8所述的装置,其特征在于,该装置还包括:
第二训练任务生成模块,用于获得待训练模型和所述待训练模型的训练参数,生成针对至少一种类型的待训练模型的至少一个第二训练任务;
第二训练数据加载模块,用于针对每种类型的待训练模型的第二训练任务,基于该种类型的待训练模型的第二训练任务对应的待训练模型和训练参数,向所述云存储系统发送数据加载请求;以从所述云存储系统加载所述每种类型的待训练模型所需要的第二待训练数据;
第二训练任务执行模块,用于针对每种类型的待训练模型的第二训练任务,基于从所述云存储系统加载的第二待训练数据,执行所述第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第一性能测试结果数据。
12.根据权利要求11所述的装置,其特征在于,该装置还包括:
第二对照训练数据加载模块,用于基于每种类型的待训练模型的第二训练任务对应的待训练模型和训练参数,向测试对照存储系统发送数据加载请求,以从所述测试对照存储系统加载所述每种类型的待训练模型所需要的第二待训练数据;其中,所述测试对照存储系统为与所述云存储系统不同的存储系统,且存储有与所述云存储系统相同的待训练数据;
第二对照训练任务执行模块,用于基于从各个测试对照存储系统加载的每种类型的待训练模型的第二待训练数据,分别执行所述第二训练任务;并记录执行完成第二训练任务所需要的时长,计算获得各种类型的待训练模型的执行完成第二训练任务所需要的平均时长,作为第二性能测试结果数据;
第一性能比较模块,用于将所述第一性能测试结果数据与第二性能测试结果数据进行比较,得到第一性能测试比较结果数据。
13.根据权利要求8所述的装置,其特征在于,该装置还包括:
算法更新模块,用于将所述云存储系统的缓存管理器的管理算法更新为LRU管理算法;
第二数据获得模块,用于通过所述数据连接器连续向缓存管理器发送所述数据读取指令,以使所述缓存管理器,判断所述内存资源中是否存储有读取指令对应的训练数据,如果有,则从所述内存资源中获得目标训练数据;如果没有,则从所述磁盘资源中获得目标训练数据,并将获得的目标训练数据保存至所述内存资源中;
第二结果获取模块,用于获得多个指定数量的加载数据的子进程对应的加速比,作为第四性能测试结果数据;
第二性能比较模块,用于将所述第三性能测试结果数据与所述第四性能测试结果数据进行比较,得到第二性能测试比较结果数据。
14.根据权利要求8所述的装置,其特征在于,所述云存储系统,搭建在多台虚拟服务器上,所述各台虚拟服务器提供所述云存储系统所需的处理器资源、内存资源和磁盘资源;所述处理器资源,从逻辑上划分成云存储系统的数据连接器和缓存管理器;所述磁盘资源和内存资源,用于存储待训练数据;
所述云存储系统中的数据加载过程包括:所述云存储系统的数据连接器接收该数据加载请求转发给缓存管理器,该缓存管理器,判断所述内存资源中是否存储有所述待训练模型所需要的待训练数据,如果有,则从所述内存资源中获得所述待训练模型所需要的待训练数据;如果没有,则从所述磁盘资源中获得所述待训练模型所需要的第一待训练数据。
15.一种电子设备,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-7任一所述的方法步骤。
16.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-7任一所述的方法步骤。
CN202110089176.9A 2021-01-22 2021-01-22 一种对存储训练数据的云存储系统的测试方法及装置 Active CN112749072B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110089176.9A CN112749072B (zh) 2021-01-22 2021-01-22 一种对存储训练数据的云存储系统的测试方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110089176.9A CN112749072B (zh) 2021-01-22 2021-01-22 一种对存储训练数据的云存储系统的测试方法及装置

Publications (2)

Publication Number Publication Date
CN112749072A CN112749072A (zh) 2021-05-04
CN112749072B true CN112749072B (zh) 2024-03-01

Family

ID=75652875

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110089176.9A Active CN112749072B (zh) 2021-01-22 2021-01-22 一种对存储训练数据的云存储系统的测试方法及装置

Country Status (1)

Country Link
CN (1) CN112749072B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116226652A (zh) * 2021-12-02 2023-06-06 华为技术有限公司 一种训练加速方法及相关装置
CN117555697B (zh) * 2024-01-11 2024-04-05 之江实验室 一种面向分布式训练的缓存加载系统、方法、装置及设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109327355A (zh) * 2018-10-25 2019-02-12 平安科技(深圳)有限公司 云存储系统性能评测方法、装置及计算机可读存储介质
CN109376041A (zh) * 2018-09-19 2019-02-22 广州优亿信息科技有限公司 一种用于ai手机芯片的基准测试系统及其工作流程
CN110377526A (zh) * 2019-07-31 2019-10-25 赛汇检测(广州)有限公司 一种ai智能软件的测试方法
CN110515811A (zh) * 2019-08-09 2019-11-29 中国信息通信研究院 终端人工智能性能基准测试方法及装置
CN111400131A (zh) * 2020-03-06 2020-07-10 苏州浪潮智能科技有限公司 Ai服务器的性能检测方法、系统、电子设备及存储介质
CN112084017A (zh) * 2020-07-30 2020-12-15 北京聚云科技有限公司 一种内存管理方法、装置、电子设备及存储介质

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110070117B (zh) * 2019-04-08 2023-04-07 腾讯科技(深圳)有限公司 一种数据处理方法及装置

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109376041A (zh) * 2018-09-19 2019-02-22 广州优亿信息科技有限公司 一种用于ai手机芯片的基准测试系统及其工作流程
CN109327355A (zh) * 2018-10-25 2019-02-12 平安科技(深圳)有限公司 云存储系统性能评测方法、装置及计算机可读存储介质
CN110377526A (zh) * 2019-07-31 2019-10-25 赛汇检测(广州)有限公司 一种ai智能软件的测试方法
CN110515811A (zh) * 2019-08-09 2019-11-29 中国信息通信研究院 终端人工智能性能基准测试方法及装置
CN111400131A (zh) * 2020-03-06 2020-07-10 苏州浪潮智能科技有限公司 Ai服务器的性能检测方法、系统、电子设备及存储介质
CN112084017A (zh) * 2020-07-30 2020-12-15 北京聚云科技有限公司 一种内存管理方法、装置、电子设备及存储介质

Also Published As

Publication number Publication date
CN112749072A (zh) 2021-05-04

Similar Documents

Publication Publication Date Title
CN112749072B (zh) 一种对存储训练数据的云存储系统的测试方法及装置
US7873763B2 (en) Multi-reader multi-writer circular buffer memory
US10571519B2 (en) Performing system functional test on a chip having partial-good portions
CN113722248B (zh) 命令处理方法及命令处理装置
CN113886162A (zh) 一种计算设备性能测试方法、计算设备及存储介质
CN111666201A (zh) 回归测试方法、装置、介质及电子设备
CN114168200B (zh) 多核处理器访存一致性的验证系统及方法
CN110888972A (zh) 一种基于Spark Streaming的敏感内容识别方法及装置
WO2023124304A1 (zh) 芯片的缓存系统、数据处理方法、设备、存储介质及芯片
US8718978B2 (en) Performance logging framework
CN111767114A (zh) 创建云主机的方法和装置、计算机系统和可读存储介质
US9003364B2 (en) Overriding system attributes and function returns in a software subsystem
US10360137B2 (en) Adaptive testing using dynamically determined system resources of a computer system
CN115269347A (zh) 一种存储性能测试方法、装置、介质和电子设备
CN110327626B (zh) 虚拟服务器创建方法及装置
CN111401541A (zh) 一种数据传输控制方法及装置
CN110750569A (zh) 数据提取方法、装置、设备及存储介质
CN112256587B (zh) 基于scrm系统的数据测试方法、装置、电子设备和存储介质
CN112473128B (zh) 隔离游戏逻辑的方法、装置、电子设备和存储介质
CN111831397B (zh) 处理io请求的方法、装置、设备及存储介质
CN116306410B (zh) 基于紧耦合内存的信息打印方法及装置、硬件验证方法
CN113992511B (zh) 云主机创建方法、装置、电子设备及存储介质
US10776011B2 (en) System and method for accessing a storage device
CN108885553B (zh) 模拟向后兼容的传统总线行为
CN112799924A (zh) 一种对存储训练数据的云存储系统的仿真测试系统及方法

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Yu Hongjian

Inventor after: Li Jinfeng

Inventor after: Li Haitao

Inventor after: Song Da

Inventor after: Zhu Jun

Inventor after: Li Qiuqing

Inventor before: Yu Hongjian

Inventor before: Li Jinfeng

Inventor before: Li Haitao

Inventor before: Song Dajun

Inventor before: Li Qiuqing

GR01 Patent grant
GR01 Patent grant