CN113821332A - 自动机器学习系统效能调优方法、装置、设备及介质 - Google Patents

自动机器学习系统效能调优方法、装置、设备及介质 Download PDF

Info

Publication number
CN113821332A
CN113821332A CN202010569033.3A CN202010569033A CN113821332A CN 113821332 A CN113821332 A CN 113821332A CN 202010569033 A CN202010569033 A CN 202010569033A CN 113821332 A CN113821332 A CN 113821332A
Authority
CN
China
Prior art keywords
machine learning
automatic machine
application program
deep learning
learning system
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.)
Granted
Application number
CN202010569033.3A
Other languages
English (en)
Other versions
CN113821332B (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.)
Hongfujin Precision Electronics Tianjin Co Ltd
Original Assignee
Hongfujin Precision Electronics Tianjin 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 Hongfujin Precision Electronics Tianjin Co Ltd filed Critical Hongfujin Precision Electronics Tianjin Co Ltd
Priority to CN202010569033.3A priority Critical patent/CN113821332B/zh
Priority to US16/908,976 priority patent/US11580458B2/en
Publication of CN113821332A publication Critical patent/CN113821332A/zh
Application granted granted Critical
Publication of CN113821332B publication Critical patent/CN113821332B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)

Abstract

本申请提供一种自动机器学习系统效能调优方法、装置、设备及介质,应用于与自动机器学习系统连接的效能调优装置,包括获取自动机器学习系统的预设应用程序接口及系统资源,在自动机器学习系统对一候选深度学习训练模型进行预训练时,根据预设应用程序接口获取其对应的效能指标量测值,根据效能指标量测值及系统资源确定分发策略和/或资源配置策略,以及根据分发策略和/或资源配置策略对所述候选深度学习训练模型进行计算资源分配,以使得候选深度学习训练模型基于所述计算资源分配进行训练。实现对每个候选深度学习训练模型计算资源的动态分配,保证自动机器学习系统计算资源分配的合理,提高训练性能。

Description

自动机器学习系统效能调优方法、装置、设备及介质
技术领域
本发明涉及一种自动机器学习系统效能调优技术领域,尤其涉及一种自动机器学习系统效能调优方法、装置、设备及介质。
背景技术
自动化机器学习(Automated Machine Learning,AutoML)技术是当前机器学习领域热点研究和迅速发展的方向之一,它是将自动化和机器学习结合的方式,是一种自动机器学习系统,将机器学习中的数据预处理、特征选择、算法选择等步骤与深度学习中的模型架构设计和模型训练等步骤相结合,将其放在一个“黑箱”里,通过黑箱,使用者只需要输入数据,就可以得到其想要的预测结果。国内外许多公司纷纷将AutoML技术集成到自研AI平台中,降低算法工程师调参试错成本,加速机器学习模型的构建和落地。现有AutoML平台产品包括:Cloud AutoML、EasyDL、云PAI、DarwinML、AI Prophet AutoML、智易科技。
自动化机器学习从特征工程、模型构建、超参优化三方面实现自动化。自动化机器学习可分为两类,一类支持的模型类别为分类或回归时,使用的技术包括概率矩阵分解和贝叶斯优化,其计算量较少,因此实现成本较低。另一类支持的模型类别为用于分类的卷积神经网络(CNN)、循环神经网络(RNN)、长短期记忆网络(LSTM),使用的技术包括带梯度策略更新的强化学习、高效神经架构搜索,其使用一个通过循环训练的RNN控制器,对候选架构(即子模型)进行采样,然后对该候选架构进行训练,以测量其在期望任务中的性能,接着,控制器使用性能作为指导信号,以找到更有前景的架构。神经架构搜索在计算上成本昂贵及耗时。
综上,使用AutoML进行深度学习时,开发神经网络的过程需要消耗大量的计算能力,而为每个随机选择的候选架构请求的计算资源是不同的,存在计算资源分配过度或分配不足的问题。
发明内容
有鉴于此,有必要提供一种自动机器学习系统效能调优方法、装置、设备及介质,对所述自动机器学习的中的深度学习训练模型的计算资源进行动态分配,解决计算资源分配过度或分配不足的问题,提高自动机器学习训练性能。
本申请的第一方面提供一种自动机器学习系统效能调优方法,应用于与所述自动机器学习系统连接的效能调优装置,包括:
获取所述自动机器学习系统的预设应用程序接口及系统资源;
在所述自动机器学习系统对一候选深度学习训练模型进行预训练时,根据所述预设应用程序接口获取其对应的效能指标量测值;
根据所述效能指标量测值及所述系统资源确定分发策略和/或资源配置策略;以及,
根据所述分发策略和/或所述资源配置策略分配所述自动机器学习系统的计算资源,以使得所述候选深度学习训练模型基于所述计算资源分配进行训练。
在其中一种可能实现方式中,所述根据所述效能指标量测值及所述系统资源确定分发策略包括:
根据所述效能指标量测值及所述系统资源确定单节点训练或多节点训练,其中,所述单节点训练包括由单一节点对所述候选深度学习训练模型进行训练,所述多节点训练包括由多个节点共同对所述候选深度学习训练模型训练,并共享所述候选深度学习训练模型中的参数变量。
在其中一种可能实现方式中,所述单节点训练包括由单一节点中的单一设备或多个镜像设备对所述候选深度学习训练模型进行训练;
所述多节点训练包括由多个节点使用复制模式或参数服务器模式对所述候选深度学习训练模型进行训练。
在其中一种可能实现方式中,所述根据所述效能指标量测值及所述系统资源确定资源配置策略包括:
根据所述效能指标量测值及所述系统资源为所述候选深度学习训练模型配置应用程序接口、软件资源及硬件资源。
在其中一种可能实现方式中,所述根据所述效能指标量测值及所述系统资源为所述候选深度学习训练模型配置应用程序接口包括:
确定所述候选深度学习训练模型的应用程序接口类型;
根据所述应用程序接口类型确定所述候选深度学习训练模型的新应用程序接口;
通过共享所述自动机器学习系统的环境变量调整所述新应用程序接口参数,其中,所述参数包括批大小。
在其中一种可能实现方式中,所述获取所述自动机器学习系统的预设应用程序接口及系统资源包括:
将所述自动机器学习系统中与系统效能相关的应用程序接口及所述自动机器学习系统的系统资源记录于一调优服务器的数据库;
所述调优服务器从所述数据库读取所述自动机器学习系统的系统资源;
一性能分析工具从所述调优服务器的数据库中读取所述预设应用程序接口。
在其中一种可能实现方式中,所述在所述自动机器学习系统对一候选深度学习训练模型进行预训练时,根据所述预设应用程序接口获取其对应的效能指标量测值包括:
在所述自动机器学习系统对一候选深度学习训练模型进行预训练时,所述性能分析工具根据所述预设应用程序接口获取该应用程序接口的效能指标量测值,以通过通信方式将所述效能指标量测值传输给所述调优服务器,其中,所述性能分析工具与所述自动机器学习系统集成封装。
本申请的第二方面提供一种效能调优装置,包括:
第一获取模块,用于获取所述自动机器学习系统的预设应用程序接口及系统资源;
第二获取模块,用于在所述自动机器学习系统对一候选深度学习训练模型进行预训练时,根据所述预设应用程序接口获取其对应的效能指标量测值;
策略确定模块,用于根据所述效能指标量测值及所述系统资源确定分发策略和/或资源配置策略;以及,
分配模块,用于基于所述分发策略和/或所述资源配置策略分配所述自动机器学习系统的计算资源,以使得所述候选深度学习训练模型基于所述计算资源分配进行训练。
本申请的第三方面提供一种电子设备,所述电子设备包括:一个或多个处理器;
当一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上任一所述的自动机器学习系统效能调优方法。
本申请的第四方面提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上任一项所述的自动机器学习系统效能调优方法。
本申请实施方式提供的自动机器学习系统效能调优方法、装置、设备及介质,对所述自动机器学习系统中的每个候选深度学习训练模型都进行单独的动态优化,针对所述自动机器学习系统中的每个候选深度学习训练模型,获取候选深度学习训练模型进行预训练时的预设应用程序接口的效能指标量测值,根据所述效能指标量测值及所述系统资源确定分发策略和/或资源配置策略,最后基于所述分发策略和/或所述资源配置策略分配所述自动机器学习系统的计算资源,以使得所述候选深度学习训练模型基于所述计算资源分配进行训练,实现对每个候选深度学习训练模型计算资源的动态分配,保证自动机器学习系统计算资源分配的合理,提高训练性能。
附图说明
图1是本申请一实施例提供的自动机器学习系统效能调优示意图。
图2是本申请一实施例提供的电子设备的方框图。
图3是本申请一实施例提供的自动机器学习系统效能调优方法的流程图。
图4是本申请一实施例提供的预设应用程序接口及系统资源获取方法的流程示意图。
图5是本申请一实施例提供的配置应用程序接口方法的流程示意图。
图6是本申请一实施例提供的一种效能调优装置的方框图。
主要元件符号说明
自动机器学习系统 10
效能调优装置 73
电子设备 7
处理器 71
存储器 72
第一获取模块 101
第二获取模块 102
策略确定模块 103
分配模块 104
如下具体实施方式将结合上述附图进一步说明本申请。
具体实施方式
下面将结合本申请实施方式中的附图,对本申请实施方式中的技术方案进行清楚、完整地描述,显然,所描述的实施方式是本申请一部分实施方式,而不是全部的实施方式。
基于本申请中的实施方式,本领域普通技术人员在没有付出创造性劳动前提下所获得的所有其他实施方式,都是属于本申请保护的范围。
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施例对本发明进行详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
除非另有定义,本文所使用的所有的技术和科学术语与属于本发明的技术领域的技术人员通常理解的含义相同。本文中在本发明的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本发明。
为了便于本领域技术人员深入理解本申请实施例,以下将首先介绍本申请实施例中所涉及的专业术语的定义。
AutoML在开发神经网络的过程中,将要训练集上传,通过神经架构搜索(NAS,NeuralArchitecture Search via Parameter Sharing)搜索出最好的神经网络架构,神经架构搜索的工作流程如下:通常从定义一组神经网络可能会用到的“建筑模块”开始,这些“建筑模块”包括多种卷积和池化模块,然后使用一个循环神经网络(RNN)作为控制器,控制器从这些“建筑模块”中挑选,然后将它们放在一起,组成新神经网络架构,使用训练集对新神经网络架构进行训练,直至收敛,使用测试集进行测试,得到准确率,这个准确率随后会用来通过策略梯度更新控制器,以让控制器生成神经网络架构的水平越来越高。学习卷积神经网络结构方法还包括高效神经架构搜索(Efficient Neural Architecture Searchvia Parameter Sharing,ENAS)、渐进式神经架构搜索(Progressive NeuralArchitecture Search)。
请参阅图1,为了优化自动机器学习系统10的性能,减少自动机器学习系统10的培训时间,所述效能调优装置73连接所述自动机器学习系统10,通过本申请实施例的效能调优装置73自动优化所述自动机器学习系统的10自动机器学习性能,为所述自动机器学习系统10随机选择出的每一候选深度学习训练模型分配计算资源,避免每一候选深度学习训练模型的计算资源分配过度或分配不足。
在本申请实施例中,自动机器学习系统10的AutoMl底层可以使用Scikit-Learn、XGBoost、TensorFlow、Keras、LightGBM等工具来确保运行时的高效。
请参阅图2,所述效能调优装置73可以运行于电子设备,所述电子设备包括,但不仅限于,存储器及至少一个处理器,上述元件之间可以通过总线连接,效能调优装置73运行于所述处理器上,所述效能调优装置73执行计算机程序时实现本申请自动机器学习系统效能调优方法实施例中的步骤。或者,所述效能调优装置73执行所述计算机程序时实现本申请效能调优装置73实施例中各模块/单元的功能。
在本实施方式中,所述电子设备可以包括效能调优装置73及服务器。在其他实施方式中,所述电子设备可以是云端服务器等计算设备。本领域技术人员可以理解,所述示意图仅仅是电子设备的示例,并不构成对电子设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如所述电子设备还可以包括输入输出设备、网络接入设备、总线等。本申请自动机器学习系统效能调优方法应用在一个或者多个电子设备中。所述电子设备是一种能够按照事先设定或存储的指令,自动进行数值计算和/或信息处理的设备,其硬件包括但不限于微处理器、专用集成电路(Application SpecificIntegrated Circuit,ASIC)、可编程门阵列(Field-Programmable Gate Array,FPGA)、数字处理器(Digital Signal Processor,DSP)、嵌入式设备等。
所述电子设备可以是桌上型计算机、笔记本电脑、平板电脑及云端服务器等计算设备。所述电子设备可以与用户通过键盘、鼠标、遥控器、触摸板或声控设备等方式进行人机交互。
图3是本申请一实施例提供的自动机器学习系统效能调优方法的流程图。根据不同的需求,所述流程图中步骤的顺序可以改变,某些步骤可以省略。
请参阅图3,所述自动机器学习系统效能调优方法由与所述自动机器学习系统10连接的效能调优装置73实施,具体包括以下步骤:
步骤S10:获取所述自动机器学习系统的预设应用程序接口及系统资源。
在本申请实施例中,所述效能调优装置73连接所述自动机器学习系统10,所述自动机器学习系统10的计算后端是所述效能调优装置73能识别的计算后端,例如TensorFlow,则所述效能调优装置73可以获取所述自动机器学习系统10的相关数据信息,获取所述自动机器学习系统10的预设应用程序接口及系统资源。
在本申请实施例中,所述效能调优装置73可以包括一调优服务器及一性能分析工具。
在其中一种可能实现方式中,请参阅图4,所述获取所述自动机器学习系统10的预设应用程序接口及系统资源具体可以通过以下步骤进行:
步骤S101:将所述自动机器学习系统中与系统效能相关的应用程序接口及所述自动机器学习系统的系统资源记录于一调优服务器的数据库。
步骤S102:所述调优服务器从所述数据库读取所述自动机器学习系统的系统资源。
步骤S103:一性能分析工具从所述调优服务器的数据库中读取所述预设应用程序接口。
在本申请实施例中,所述效能调优装置73中的调优服务器与性能分析工具均能识别所述自动机器学习系统10的计算后端,所述调优服务器预先在其数据库中记录所述自动机器学习系统10中与效能相关的应用程序接口(Application Programming Interface,API)及系统可用资源,其中,所述预设应用程序接口为所述自动机器学习系统10在进行深度学习任务堆栈中与效能相关的应用程序接口。
在本申请实施例中,所述调优服务器可以为生成所述分发策略和资源配置策略的内置POTAO服务器。
在本申请实施例中,所述性能分析工具可以为内置效能量测工具的SOFA服务器,还可以包括内置效能量测工具的火焰图(Flame Grap)。通过所述性能分析工具可以从中央处理器(Central Processing Unit,CPU)、图形处理器(Graphics Processing Unit,GPU)、通信网络及存储设备收集异构的效能指标量测值。
步骤S20:在所述自动机器学习系统对候选深度学习训练模型进行预训练时,根据所述预设应用程序接口获取其对应的效能指标量测值。
在本申请实施例中,使用者将训练数据输入至所述自动机器学习系统10后,所述自动机器学习系统10进行神经网络搜索,根据训练数据对搜索出的所述候选深度学习训练模型进行预训练,并在进行深度学习训练过程中,根据所述预设应用程序接口获取该应用程序接口对应的效能指标量测值。
在其中一种可能实现方式中,所述在所述自动机器学习系统10对一候选深度学习训练模型进行预训练时,根据所述预设应用程序接口获取其对应的效能指标量测值包括:
在所述自动机器学习系统10对一候选深度学习训练模型进行预训练时,所述性能分析工具根据所述预设应用程序接口获取该应用程序接口的效能指标量测值,以通过通信方式例如远程调用GRPC将所述效能指标量测值传输给所述调优服务器,其中,所述性能分析工具与所述自动机器学习系统10集成封装。
在本申请实施例中,所述性能分析工具与所述自动机器学习系统10集成封装,通过将性能分析工具、自动机器学习模型及相应的应用程序接口软件封装集成一起,实现自动化获取所述自动机器学习系统10效能指标量测值,并通过远程调用将效能指标量测值发送给所述POTAO服务器,以使得所述POTAO服务器进行计算资源决策。
示例性地,选择AutoKeras作为所述自动机器学习系统10引擎,所述AutoKeras将使用有效神经体系结构搜索算法(ENAS)来选择出所述候选深度学习模型并进行评估,以根据前一候选深度学习模型的评估选择出下一更好的候选深度学习模型。使用者将训练数据输入至所述AutoKeras,所述AutoKeras的数据预处理API根据深度神经网络的超参数批大小确定一次训练的数据量大小,所述候选深度学习模型根据所述训练数据进行训练的过程中,所述SOFA服务器通过效能量测工具获取所述AutoKeras的所述预设应用程序接口的效能指标量测值,例如,通过效能量测工具获取高速串行计算机扩展总线标准总线(PCIeBUS)上的数据交换数量的量测值。SOFA服务器通过远程过程调用(如gRPC RemoteProcedure Calls等)将获得的效能指标量测值发送给POTAO服务器,以使得POTAO服务器根据所述效能指标量测值及系统资源为所述候选深度学习模型分配计算资源。
在其中一种可能实现方式中,所述效能指标包括转发传播时间、(FW)和向后传播时间(BW)、将数据从主机复制到GPU设备(H2D)的时间、将数据从GPU设备复制到主机(D2H)的时间或数据从对等设备(P2P)复制的时间。
在其中一种可能实现方式中,所述效能指标包括用户空间(user space)及系统空间(system space)的程序运行时间、文件系统或储存媒体的读写带宽、网络使用带宽、呼叫的凾式热点分布、耗时在系统锁的开销等。
步骤S30:根据所述效能指标量测值及所述系统资源确定分发策略和/或资源配置策略。
在本申请实施例中,所述性能分析器通过远程过程调用将效能指标量测值发送给所述POTAO服务器,所述POTAO服务器根据所述效能指标量测值及所述系统资源确定分发策略和/或资源配置策略。
在其中一种可能实现方式中,所述POTAO服务器将创建一个另一种标记语言(YAMLAin't Markup Language,YAML)文件,用于生成Kubernetes pod,其中Pod是Kubernetes中能够创建和部署的最小单元,即Kubernetes集群中的一个应用实例,Kubernetes用于管理云平台中多个主机上的容器化的应用,其是自动化容器操作的开源平台。YAML文件将记录要运行具体的应用容器引擎(Docker)映像、硬件资源的分配以及相应容器的虚拟机节点的设置。
在其中一种可能实现方式中,所述根据所述效能指标量测值及所述系统资源确定分发策略包括:
根据所述效能指标量测值及所述系统资源确定单节点训练或多节点训练,其中,所述单节点训练包括由单一节点对所述候选深度学习训练模型进行训练,所述多节点训练包括由多个节点共同对所述候选深度学习训练模型训练,并共享所述候选深度学习训练模型中的参数变量。
在本申请实施例中,对所述候选深度学习训练模型的训练任务可以根据所述效能指标量测值及所述系统资源确定由单一节点进行训练还是由多节点进行训练,在训练任务比较繁重时,通过在多个节点之间进行分布式训练分布,允许扩大深度学习训练任务,可以学习到更大的模型或以更快的速度训练。在训练任务较轻时,通过单一节点进行训练,可以保证计算资源的合理分配,避免计算资源分配过度。
在其中一种可能实现方式中,所述单节点训练包括由单一节点中的单一设备或多个镜像设备对所述候选深度学习训练模型进行训练。所述多节点训练包括由多个节点使用复制模式或参数服务器模式对所述候选深度学习训练模型进行训练。
在本申请实施例中,在由单一节点进行训练时,可以由单一设备进行训练,例如由单一图形处理器进行训练,由图形处理器或中央处理器存储参数。也可以由多个镜像设备对所述候选深度学习训练模型进行训练,例如,多个镜像设备图形处理器对所述候选深度学习训练模型进行训练,然后由图形处理器存储参数。
在本申请实施例中,在多节点上进行共同训练,即进行分布式所述候选深度学习训练模型训练,将多个程序同步共同训练所述候选深度学习训练模型,并共享所述候选深度学习训练模型的参数变量,例如权重、偏置值等。示例性地,在使用复制模式时,由多个节点上的多个图形处理器进行训练,并由图形处理器存储参数。在使用参数服务器模式时,即基于参数服务器(Parameter-Server)对所述候选训练模型的参数与训练数据分开存放,由图形处理器进行训练,由中央处理器存储参数。
在其中一种可能实现方式中,使用TensorFlow的应用程序接口做深度学习分布式训练时,若SOFA服务器获取的高速串行计算机扩展总线标准总线(PCIe BUS)数据交换数量较少,则POTATO服务器建议采用参数服务器模式,如Parameter Server,用于对大规模参数的分布式存储和协同的支持;反之,采用复制模式如镜像复制Mirrored Replicated,通过网络把一个地域的数据中心(Data Center)中的镜像文件传输到目标地域的数据中心。
在其中一种可能实现方式中,所述根据所述效能指标量测值及所述系统资源确定资源配置策略包括:
根据所述效能指标量测值及所述系统资源为所述候选深度学习训练模型配置应用程序接口、软件资源及硬件资源。
在本申请实施例中,所述POTAO服务器确定所述自动机器学习系统10当前选定的所述候选深度学习模型采用的应用程序接口、搭配的软件资源及硬件资源。
在其中一种可能实现方式中,请参阅图5,所述根据所述效能指标量测值及所述系统资源为所述候选深度学习训练模型配置应用程序接口具体可以通过以下步骤进行:
步骤S301:确定所述候选深度学习训练模型的应用程序接口类型。
在本申请实施例中,重新确定所述候选深度学习训练模型所需的应用程序接口类型。
步骤S302:根据所述应用程序接口类型确定所述候选深度学习训练模型的新应用程序接口。
在本申请实施例中,根据重新确定的应用程序接口类型为所述候选深度学习训练模型分配新的应用程序接口。
步骤S303:通过共享所述自动机器学习系统的环境变量调整所述新应用程序接口参数,其中,所述参数包括批大小。
在本申请实施例中,所述POTAO服务器以共享所述自动机器学习系统10环境变量的方式调整新应用程序接口,并重新执行所述新应用程序接口。示例性地,根据GPU的计算能力及其内存大小,决定可负担的深度学习模型批量处理的最大值,并在新应用程序接口中设定,以在重新启动所述应用程序接口时,可以调整所述候选深度学习模型的一次训练的数据大小。
在其中一种可能实现方式中,使用远程调用GRPC在所有联接的计算节点之间共享相同的所述候选深度模型,以进行批量数据并行计算。
步骤S40:根据所述分发策略和/或所述资源配置策略分配所述自动机器学习系统的计算资源,以使得所述候选深度学习训练模型基于所述计算资源分配进行训练。
在本申请实施例中,所述候选深度学习训练模型基于所述计算资源分配进行训练,所述自动机器学习系统10对所述候选深度学习训练模型的性能进行评价,然后根据模型评价结果继续选定新的候选深度学习训练模型进行模型训练,继续步骤S10至步骤S40为该新的候选深度学习训练模型分配计算资源,直至获得符合要求的候选深度学习训练模型。
在本申请实施例中,POTAO服务器将确定的所述分发策略和/或所述资源配置策略发给所述自动机器学习系统10,基于所述分发策略和/或所述资源配置策略分配所述自动机器学习系统10的计算资源,以使得所述自动机器学习系统10根据分配的计算资源对当前选定的所述候选深度学习训练模型进行计算资源分配,如分配CPU内核数、主内存容量、GPU数量等,所述候选深度学习训练模型基于所述计算资源分配进行训练。
自动机器学习系统10在每一轮尝试新的候选深度学习模型时,便通过所述自动机器学习系统效能调优方法动态根据每一新选定的候选深度学习模型的特性进行效能优化。
在其中一种可能实现方式中,在对所述自动机器学习系统10进行调优完成之后,生成对应的自动机器学习应用程序接口,将测试数据输入至所述自动机器学习应用程序接口,对所述测试数据进行测试。
请参阅图6,本申请的实施例提供一种效能调优装置73,包括第一获取模块101、第二获取模块102、策略确定模块103及分配模块104。
第一获取模块101用于获取所述自动机器学习系统的预设应用程序接口及系统资源。
第二获取模块102用于在所述自动机器学习系统对一候选深度学习训练模型进行预训练时,根据所述预设应用程序接口获取其对应的效能指标量测值。
策略确定模块103用于根据所述效能指标量测值及所述系统资源确定分发策略和/或资源配置策略。
分配模块104用于根据所述分发策略和/或所述资源配置策略分配所述自动机器学习系统的计算资源,以使得所述候选深度学习训练模型基于所述计算资源分配进行训练。
所称处理器71可以是中央处理模块(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者所述处理器71也可以是任何常规的处理器等,所述处理器71是所述电子设备7的控制中心,利用各种接口和线路连接整个电子设备7的各个部分。
所述存储器72可用于存储所述计算机程序和/或模块/单元,所述处理器71通过运行或执行存储在所述存储器72内的计算机程序和/或模块/单元,以及调用存储在存储器72内的数据,实现所述计电子设备7的各种功能。所述存储器72可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据电子设备7的使用所创建的数据等。此外,存储器72可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
所述电子设备7集成的模块/单元如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,所述计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
在本发明所提供的几个实施例中,应该理解到,所揭露的电子设备和方法,可以通过其它的方式实现。例如,以上所描述的电子设备实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。
另外,在本发明各个实施例中的各功能模块可以集成在相同处理模块中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在相同模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他模块或步骤,单数不排除复数。电子设备权利要求中陈述的多个模块或电子设备也可以由同一个模块或电子设备通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。
最后应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或等同替换,而不脱离本发明技术方案的精神和范围。

Claims (10)

1.一种自动机器学习系统效能调优方法,应用于与所述自动机器学习系统连接的效能调优装置,其特征在于,包括:
获取所述自动机器学习系统的预设应用程序接口及系统资源;
在所述自动机器学习系统对候选深度学习训练模型进行预训练时,根据所述预设应用程序接口获取其对应的效能指标量测值;
根据所述效能指标量测值及所述系统资源确定分发策略和/或资源配置策略;以及,
根据所述分发策略和/或所述资源配置策略分配所述自动机器学习系统的计算资源,以使得所述候选深度学习训练模型基于所述计算资源分配进行训练。
2.如权利要求1所述的自动机器学习系统效能调优方法,其特征在于,所述根据所述效能指标量测值及所述系统资源确定分发策略包括:
根据所述效能指标量测值及所述系统资源确定单节点训练或多节点训练,其中,所述单节点训练包括由单一节点对所述候选深度学习训练模型进行训练,所述多节点训练包括由多个节点共同对所述候选深度学习训练模型训练,并共享所述候选深度学习训练模型中的参数变量。
3.如权利要求2所述的自动机器学习系统效能调优方法,其特征在于,
所述单节点训练包括由单一节点中的单一设备或多个镜像设备对所述候选深度学习训练模型进行训练;
所述多节点训练包括由多个节点使用复制模式或参数服务器模式对所述候选深度学习训练模型进行训练。
4.如权利要求1所述的自动机器学习系统效能调优方法,其特征在于,所述根据所述效能指标量测值及所述系统资源确定资源配置策略包括:
根据所述效能指标量测值及所述系统资源为所述候选深度学习训练模型配置应用程序接口、软件资源及硬件资源。
5.如权利要求4所述的自动机器学习系统效能调优方法,其特征在于,所述根据所述效能指标量测值及所述系统资源为所述候选深度学习训练模型配置应用程序接口包括:
确定所述候选深度学习训练模型的应用程序接口类型;
根据所述应用程序接口类型确定所述候选深度学习训练模型的新应用程序接口;
通过共享所述自动机器学习系统的环境变量调整所述新应用程序接口参数,其中,所述参数包括批大小。
6.如权利要求5所述的自动机器学习系统效能调优方法,其特征在于,所述获取所述自动机器学习系统的预设应用程序接口及系统资源包括:
将所述自动机器学习系统中与系统效能相关的应用程序接口及所述自动机器学习系统的系统资源记录于一调优服务器的数据库;
所述调优服务器从所述数据库读取所述自动机器学习系统的系统资源;
一性能分析工具从所述调优服务器的数据库中读取所述预设应用程序接口。
7.如权利要求6所述的自动机器学习系统效能调优方法,其特征在于,所述在所述自动机器学习系统对一候选深度学习训练模型进行预训练时,根据所述预设应用程序接口获取其对应的效能指标量测值包括:
在所述自动机器学习系统对一候选深度学习训练模型进行预训练时,所述性能分析工具根据所述预设应用程序接口获取该应用程序接口的效能指标量测值,以通过通信方式将所述效能指标量测值传输给所述调优服务器,其中,所述性能分析工具与所述自动机器学习系统集成封装。
8.一种效能调优装置,其特征在于,包括:
第一获取模块,用于获取所述自动机器学习系统的预设应用程序接口及系统资源;
第二获取模块,用于在所述自动机器学习系统对候选深度学习训练模型进行预训练时,根据所述预设应用程序接口获取其对应的效能指标量测值;
策略确定模块,用于根据所述效能指标量测值及所述系统资源确定分发策略和/或资源配置策略;以及,
分配模块,用于根据所述分发策略和/或所述资源配置策略分配所述自动机器学习系统的计算资源,以使得所述候选深度学习训练模型基于所述计算资源分配进行训练。
9.一种电子设备,其特征在于,所述电子设备包括:一个或多个处理器;
当一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1至7中任一所述的自动机器学习系统效能调优方法。
10.一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至7中任一项所述的自动机器学习系统效能调优方法。
CN202010569033.3A 2020-06-19 2020-06-19 自动机器学习系统效能调优方法、装置、设备及介质 Active CN113821332B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202010569033.3A CN113821332B (zh) 2020-06-19 2020-06-19 自动机器学习系统效能调优方法、装置、设备及介质
US16/908,976 US11580458B2 (en) 2020-06-19 2020-06-23 Method and system for performance tuning and performance tuning device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010569033.3A CN113821332B (zh) 2020-06-19 2020-06-19 自动机器学习系统效能调优方法、装置、设备及介质

Publications (2)

Publication Number Publication Date
CN113821332A true CN113821332A (zh) 2021-12-21
CN113821332B CN113821332B (zh) 2024-02-13

Family

ID=78924626

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010569033.3A Active CN113821332B (zh) 2020-06-19 2020-06-19 自动机器学习系统效能调优方法、装置、设备及介质

Country Status (2)

Country Link
US (1) US11580458B2 (zh)
CN (1) CN113821332B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521380A (zh) * 2023-07-05 2023-08-01 之江实验室 一种资源自适应协同的模型训练加速方法、装置及设备
CN116974922A (zh) * 2023-07-25 2023-10-31 摩尔线程智能科技(北京)有限责任公司 深度学习模型的性能分析方法、装置、设备和存储介质

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11748166B2 (en) * 2020-06-26 2023-09-05 EMC IP Holding Company LLC Method and system for pre-allocation of computing resources prior to preparation of physical assets
CN114820279B (zh) * 2022-05-18 2023-03-24 北京百度网讯科技有限公司 基于多gpu的分布式深度学习方法、装置及电子设备

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140189702A1 (en) * 2012-12-28 2014-07-03 General Electric Company System and method for automatic model identification and creation with high scalability
CN107980162A (zh) * 2015-03-03 2018-05-01 南托米克斯有限责任公司 基于组合的研究建议系统和方法
US20180352394A1 (en) * 2017-05-31 2018-12-06 MessageCube Corp Inc. Services for messaging application with in-built web search
CN109271015A (zh) * 2018-10-10 2019-01-25 杭州电子科技大学 一种降低大规模分布式机器学习系统能耗的方法
US20190065284A1 (en) * 2017-08-24 2019-02-28 International Business Machines Corporation Hybrid acceleration in a processing environment
CN110390387A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 对深度学习应用所用资源进行评估
US20190339965A1 (en) * 2018-05-07 2019-11-07 Oracle International Corporation Method for automatically selecting configuration clustering parameters
CN110750342A (zh) * 2019-05-23 2020-02-04 北京嘀嘀无限科技发展有限公司 调度方法、装置、电子设备及可读存储介质
CN110929876A (zh) * 2019-10-12 2020-03-27 虏克电梯有限公司 基于机器学习的告警阀值设定方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10977290B2 (en) * 2018-01-19 2021-04-13 Accenture Global Solutions Limited Transaction categorization system
US11429762B2 (en) * 2018-11-27 2022-08-30 Amazon Technologies, Inc. Simulation orchestration for training reinforcement learning models
US11550937B2 (en) * 2019-06-13 2023-01-10 Fujitsu Limited Privacy trustworthiness based API access
US11157384B2 (en) * 2019-06-27 2021-10-26 Intel Corporation Methods, systems, articles of manufacture and apparatus for code review assistance for dynamically typed languages
CN110443352B (zh) 2019-07-12 2023-12-15 创新先进技术有限公司 基于迁移学习的半自动神经网络调优方法
CN110942086B (zh) 2019-10-30 2024-04-23 平安科技(深圳)有限公司 数据预测优化方法、装置、设备及可读存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140189702A1 (en) * 2012-12-28 2014-07-03 General Electric Company System and method for automatic model identification and creation with high scalability
CN107980162A (zh) * 2015-03-03 2018-05-01 南托米克斯有限责任公司 基于组合的研究建议系统和方法
US20180352394A1 (en) * 2017-05-31 2018-12-06 MessageCube Corp Inc. Services for messaging application with in-built web search
US20190065284A1 (en) * 2017-08-24 2019-02-28 International Business Machines Corporation Hybrid acceleration in a processing environment
CN110390387A (zh) * 2018-04-20 2019-10-29 伊姆西Ip控股有限责任公司 对深度学习应用所用资源进行评估
US20190339965A1 (en) * 2018-05-07 2019-11-07 Oracle International Corporation Method for automatically selecting configuration clustering parameters
CN109271015A (zh) * 2018-10-10 2019-01-25 杭州电子科技大学 一种降低大规模分布式机器学习系统能耗的方法
CN110750342A (zh) * 2019-05-23 2020-02-04 北京嘀嘀无限科技发展有限公司 调度方法、装置、电子设备及可读存储介质
CN110929876A (zh) * 2019-10-12 2020-03-27 虏克电梯有限公司 基于机器学习的告警阀值设定方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
YE TAO 等: "《Deep learning in photovoltaic penetration classification》", 《IEEE》 *
陈珂: "《基于机器学习的SDN数据中心网络流量调度研究》", 《中国优秀硕士学位论文全文数据库》 *

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116521380A (zh) * 2023-07-05 2023-08-01 之江实验室 一种资源自适应协同的模型训练加速方法、装置及设备
CN116974922A (zh) * 2023-07-25 2023-10-31 摩尔线程智能科技(北京)有限责任公司 深度学习模型的性能分析方法、装置、设备和存储介质
CN116974922B (zh) * 2023-07-25 2024-05-17 摩尔线程智能科技(北京)有限责任公司 深度学习模型的性能分析方法、装置、设备和存储介质

Also Published As

Publication number Publication date
CN113821332B (zh) 2024-02-13
US11580458B2 (en) 2023-02-14
US20210398013A1 (en) 2021-12-23

Similar Documents

Publication Publication Date Title
Hernández et al. Using machine learning to optimize parallelism in big data applications
CN113821332B (zh) 自动机器学习系统效能调优方法、装置、设备及介质
Ansel et al. Siblingrivalry: online autotuning through local competitions
US9875186B2 (en) System and method for data caching in processing nodes of a massively parallel processing (MPP) database system
US20220147795A1 (en) Neural network tiling method, prediction method, and related apparatus
CN108959510B (zh) 一种分布式数据库的分区级连接方法和装置
CN111143039B (zh) 一种虚拟机的调度方法、装置及计算机存储介质
CN111104224B (zh) 一种基于fpga的动态图处理方法
JP2018515844A (ja) データ処理方法及びシステム
CN103064955A (zh) 查询规划方法及装置
US20220300323A1 (en) Job Scheduling Method and Job Scheduling Apparatus
Das et al. Enabling on-device smartphone GPU based training: Lessons learned
CN110222410A (zh) 一种基于Hadoop MapReduce的电磁环境仿真方法
Allmaier et al. Parallel graph generation algorithms for shared and distributed memory machines
TWI770534B (zh) 自動機器學習系統效能調優方法、裝置、設備及介質
CN116450053B (zh) 数据存储方法、装置、系统、电子设备和存储介质
KR20210103393A (ko) 낮은-지역성 데이터에서 높은-지역성 데이터로의 변환을 관리하기 위한 시스템 및 방법
CN108334532A (zh) 一种基于Spark的Eclat并行化方法、系统及装置
Akila et al. QoS-aware rule-based traffic-efficient multiobjective service selection in big data space
Marzuni et al. Cross-MapReduce: Data transfer reduction in geo-distributed MapReduce
Acevedo et al. A Critical Path File Location (CPFL) algorithm for data-aware multiworkflow scheduling on HPC clusters
Hu et al. Hydro:{Surrogate-Based} Hyperparameter Tuning Service in Datacenters
CN110415162B (zh) 大数据中面向异构融合处理器的自适应图划分方法
CN108256694A (zh) 基于重复遗传算法的模糊时间序列预测系统、方法及装置
WO2021051920A1 (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
CB02 Change of applicant information
CB02 Change of applicant information

Address after: No. 36, North Street, West District, economic and Technological Development Zone, Binhai New Area, Tianjin

Applicant after: Fulian precision electronics (Tianjin) Co.,Ltd.

Address before: No. 36, North Street, West District, economic and Technological Development Zone, Binhai New Area, Tianjin

Applicant before: HONGFUJIN PRECISION ELECTRONICS (TIANJIN) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant