CN116244159A - 一种训练时长预测方法、装置、多元异构计算设备及介质 - Google Patents
一种训练时长预测方法、装置、多元异构计算设备及介质 Download PDFInfo
- Publication number
- CN116244159A CN116244159A CN202310509328.5A CN202310509328A CN116244159A CN 116244159 A CN116244159 A CN 116244159A CN 202310509328 A CN202310509328 A CN 202310509328A CN 116244159 A CN116244159 A CN 116244159A
- Authority
- CN
- China
- Prior art keywords
- training
- model
- consuming
- time
- chip
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording 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/3409—Recording 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 for performance assessment
- G06F11/3419—Recording 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 for performance assessment by assessing time
- G06F11/3423—Recording 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 for performance assessment by assessing time where the assessed time is active or idle time
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3024—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a central processing unit [CPU]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3037—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a memory, e.g. virtual memory, cache
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3051—Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3055—Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Mathematical Physics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Artificial Intelligence (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Software Systems (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种训练时长预测方法、装置、多元异构计算设备及介质,涉及模型训练技术领域,该方法包括:获取待预测计算芯片的模型训练信息;其中,待预测计算芯片为需要完成模型训练任务的计算芯片,模型训练信息包括训练任务特征、计算芯片特征和服务器特征中的至少一项;获取待预测计算芯片对应的目标耗时预测模型;根据模型训练信息,利用目标耗时预测模型计算待预测计算芯片的单步训练时长;本发明能够利用计算芯片所要完成的模型训练任务的特征、计算芯片的动态特征和/或计算芯片所在服务器的动态特征,准确地预测计算芯片在单个训练迭代的计算耗时,提高了对计算芯片的模型训练时长预测的准确性。
Description
技术领域
本发明涉及模型训练技术领域,特别涉及一种训练时长预测方法、装置、多元异构计算设备及计算机可读存储介质。
背景技术
目前,对网络模型(如神经网络模型)的耗时预测,大多是针对模型推理阶段实际部署的耗时展开的预测,难以应用于训练时间的预测;虽然存在一些对于模型训练任务的耗时预测方案,但这些方案是粗略预测的是整个网络模型的收敛速度,无法精确预测每一个计算芯片每一个迭代的耗时,使得网络模型训练时长的预测结果并不准确。
因此,如何提供一种模型训练任务的训练时长预测方案,提高对计算芯片的模型训练时长预测的准确性,是现今急需解决的问题。
发明内容
本发明的目的是提供一种训练时长预测方法、装置、多元异构计算设备及计算机可读存储介质,以提高对计算芯片的模型训练时长预测的准确性。
为解决上述技术问题,本发明提供一种训练时长预测方法,包括:
获取待预测计算芯片的模型训练信息;其中,所述待预测计算芯片为需要完成模型训练任务的计算芯片,所述模型训练信息包括训练任务特征、计算芯片特征和服务器特征中的至少一项;
获取所述待预测计算芯片对应的目标耗时预测模型;
根据所述模型训练信息,利用所述目标耗时预测模型计算所述待预测计算芯片的单步训练时长。
在一些实施例中,所述获取所述待预测计算芯片对应的目标耗时预测模型,包括:
根据所述待预测计算芯片的计算芯片标识,从存储的预设耗时预测模型中获取所述目标耗时预测模型;其中,所述目标耗时预测模型为任一所述预设耗时预测模型。
在一些实施例中,所述模型训练信息包括所述计算芯片特征,所述根据所述待预测计算芯片的计算芯片标识,从存储的预设耗时预测模型中获取所述目标耗时预测模型,包括:
根据所述计算芯片标识和所述模型训练任务对应的模型标识,从存储的所述预设耗时预测模型中获取所述目标耗时预测模型。
在一些实施例中,所述根据所述待预测计算芯片的计算芯片标识,从存储的预设耗时预测模型中获取所述目标耗时预测模型,包括:
根据所述计算芯片特征中的计算芯片标识,从存储的所述预设耗时预测模型中获取所述目标耗时预测模型。
在一些实施例中,所述根据所述待预测计算芯片的计算芯片标识,从存储的预设耗时预测模型中获取所述目标耗时预测模型,包括:
判断是否存储有所述计算芯片标识对应的预设耗时预测模型;
若是,则将所述计算芯片标识对应的预设耗时预测模型确定为所述目标耗时预测模型。
在一些实施例中,所述判断是否存储有所述计算芯片标识对应的预设耗时预测模型之后,还包括:
若未存储有所述计算芯片标识对应的预设耗时预测模型,则监控获取所述待预测计算芯片对应的模型训练完成信息;其中,所述模型训练完成信息包括已完成模型训练任务对应的模型训练信息和单步训练实际时长;
根据所述模型训练完成信息,训练生成所述计算芯片标识对应的预设耗时预测模型。
在一些实施例中,所述监控获取所述待预测计算芯片对应的模型训练完成信息,包括:
监控获取异构计算系统中全部目标计算芯片对应的模型训练完成信息;其中,目标计算芯片为所述计算芯片标识对应的计算芯片。
在一些实施例中,所述模型训练信息包括训练任务特征、计算芯片特征和服务器特征,所述获取待预测计算芯片的模型训练信息,包括:
根据所述模型训练任务,提取得到所述训练任务特征;
监控采集所述待预测计算芯片的计算芯片特征和所述待预测计算芯片所在服务器的服务器特征。
在一些实施例中,所述控采集所述待预测计算芯片的计算芯片特征和所述待预测计算芯片所在服务器的服务器特征,包括:
按预设时间间隔采集计算芯片特征和所述服务器特征。
在一些实施例中,该方法还包括:
获取耗时模型新增指令;其中,所述耗时模型新增指令包括耗时模型信息,所述耗时模型信息包括计算芯片标识或所述计算芯片标识和模型标识;
根据所述耗时模型新增指令,监控获取所述耗时模型信息对应的模型训练完成信息;其中,所述模型训练完成信息包括已完成模型训练任务对应的模型训练信息和单步训练实际时长;
根据所述耗时模型信息对应的模型训练完成信息,训练生成所述耗时模型信息对应的预设耗时预测模型;其中,所述目标耗时预测模型为任一所述预设耗时预测模型。
在一些实施例中,所述根据所述模型训练信息,利用所述目标耗时预测模型计算所述待预测计算芯片的单步训练时长之后,还包括:
根据所述单步训练时长,确定所述待预测计算芯片的单轮训练时长。
在一些实施例中,所述模型训练信息包括所述服务器特征,所述服务器特征包括:所述待预测计算芯片所在服务器内中央处理器主频、中央处理器核数、中央处理器实时利用率、内存频率、内存数量、内存实时占用率和人工智能芯片数量中的至少一项。
在一些实施例中,所述模型训练信息包计算芯片特征和所述训练任务特征,所述计算芯片特征包括:计算芯片标识、计算芯片主频、计算芯片核数、计算芯片内存、计算芯片实时利用率、计算芯片实时缓存占用率和计算芯片峰值性能中的至少一项;所述训练任务特征包括:所述模型训练任务对应的输入数据存储类型、模型训练的批大小和模型特征。
在一些实施例中,所述模型训练任务为神经网络模型的训练任务,所述模型特征包括:全连接层的计算复杂度、卷积层的计算复杂度、池化层的计算复杂度、丢弃层的计算复杂度、批量标准化层的计算复杂度、卷积神经网络层的计算复杂度、注意力层的计算复杂度、损失类型、优化器种类、激活函数种类和激活函数调用次数中的至少一项。
在一些实施例中,所述待预测计算芯片为异构计算系统中的任一计算芯片。
在一些实施例中,所述根据所述模型训练信息,利用所述目标耗时预测模型计算所述待预测计算芯片的单步训练时长之后,还包括:
获取所述待预测计算芯片完成所述模型训练任务的单步训练实际时长;
根据所述模型训练任务对应的单步训练实际时长和单步训练时长,判断所述目标耗时预测模型是否需要重训练;
若需要重训练,则根据所述目标耗时预测模型对应的模型训练完成信息,训练生成所述目标耗时预测模型对应的重训练模型,并将存储的所述目标耗时预测模型替换为所述重训练模型;其中,所述模型训练完成信息包括已完成模型训练任务对应的模型训练信息和单步训练实际时长。
在一些实施例中,所述根据所述模型训练任务对应的单步训练实际时长和单步训练时长,判断所述目标耗时预测模型是否需要重训练,包括:
根据所述模型训练任务对应的单步训练实际时长和单步训练时长,计算得到所述目标耗时预测模型对应的单次耗时偏差;
根据所述目标耗时预测模型对应的连续预设次数的单次耗时偏差与重训练阈值的比较,判断所述目标耗时预测模型是否需要重训练;
若是,则执行所述根据所述目标耗时预测模型对应的模型训练完成信息,训练生成所述目标耗时预测模型对应的重训练模型,并将存储的所述目标耗时预测模型替换为所述重训练模型的步骤。
在一些实施例中,所述根据所述目标耗时预测模型对应的连续预设次数的单次耗时偏差与重训练阈值的比较,判断所述目标耗时预测模型是否需要重训练,包括:
判断目标耗时预测模型对应的连续预设次数的单次耗时偏差是否均大于重训练阈值;
若是,则确定所述目标耗时预测模型需要重训练,并执行所述根据所述目标耗时预测模型对应的模型训练完成信息,训练生成所述目标耗时预测模型对应的重训练模型,并将存储的所述目标耗时预测模型替换为所述重训练模型的步骤。
本发明还提供了一种训练时长预测装置,包括:
信息获取模块,用于获取待预测计算芯片的模型训练信息;其中,所述待预测计算芯片为需要完成模型训练任务的计算芯片,所述模型训练信息包括训练任务特征、计算芯片特征和服务器特征中的至少一项;
模型获取模块,用于获取所述待预测计算芯片对应的目标耗时预测模型;
时长预测模块,用于根据所述模型训练信息,利用所述目标耗时预测模型计算所述待预测计算芯片的单步训练时长。
本发明还提供了一种多元异构计算设备,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如上述所述的训练时长预测方法的步骤。
本发明还提供了一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如上述所述的训练时长预测方法的步骤。
本发明所提供的一种训练时长预测方法,包括:获取待预测计算芯片的模型训练信息;其中,待预测计算芯片为需要完成模型训练任务的计算芯片,模型训练信息包括训练任务特征、计算芯片特征和服务器特征中的至少一项;获取待预测计算芯片对应的目标耗时预测模型;根据模型训练信息,利用目标耗时预测模型计算待预测计算芯片的单步训练时长;
可见,本发明通过根据模型训练信息,利用目标耗时预测模型计算待预测计算芯片的单步训练时长,能够利用计算芯片所要完成的模型训练任务的特征、计算芯片的动态特征和/或计算芯片所在服务器的动态特征,准确地预测计算芯片在单个训练迭代的计算耗时,提高了对计算芯片的模型训练时长预测的准确性。此外,本发明还提供了一种训练时长预测装置、多元异构计算设备及计算机可读存储介质,同样具有上述有益效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明实施例所提供的一种训练时长预测方法1的流程图;
图2为本发明实施例所提供的一种训练时长预测方法2的流程图;
图3为本发明实施例所提供的一种训练时长预测方法3的流程示意图;
图4为本发明实施例所提供的一种异构计算系统架构1下的训练时长预测方法的流程示意图;
图5为本发明实施例所提供的一种异构计算系统架构2下的训练时长预测方法的流程示意图;
图6为本发明实施例所提供的一种训练时长预测装置的结构框图;
图7为本发明实施例所提供的一种多元异构计算设备的简易结构示意图;
图8为本发明实施例所提供的一种多元异构计算设备的具体结构示意图;
图9为本发明实施例所提供的一种计算机可读存储介质的结构示意图。
图3至图5中,MLU370和TeslaV100为两种计算芯片型号,bert为一种神经网络模型。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参考图1,图1为本发明实施例所提供的一种训练时长预测方法1的流程图。该方法可以包括:
步骤101:获取待预测计算芯片的模型训练信息;其中,待预测计算芯片为需要完成模型训练任务的计算芯片,模型训练信息包括训练任务特征、计算芯片特征和服务器特征中的至少一项。
可以理解的是,大型神经网络训练的训练普遍使用分布式训练的方式,通过将训练数据或大型网络模型(如神经网络模型)进行拆分,将拆分后的数据与子训练任务部署到多个计算芯片上进行分布式训练。分布式计算系统采用同构(如同厂商或同性能)计算芯片能够使各计算芯片性能相近,但若一直采用同构计算芯片,整个计算集群的扩展与升级难度将非常大;而通过将不同计算性能的异构算力(如异构的计算芯片或计算卡)接入到同一个分布式计算系统中,能够实现多元化的异构计算系统(即多元异构计算系统),方便计算集群的扩展与升级,更加符合用户的需要。
对应的,异构计算系统(或称多元异构计算系统)可以为由多种异构(如不同厂商或性能)的计算芯片所组成的系统平台,例如异构计算系统包括的全部服务器中可以设置多种不同型号的计算芯片;本实施例中所提供的训练时长预测方法可以应用于异构计算系统,从而能够准确预测异构计算系统中各计算芯片的单步训练时长。本实施例中所提供的训练时长预测方法也可以应用于同构计算系统或单机计算机,以实现同构计算系统或单机计算机中计算芯片的单步训练时长的准确预测,本实施例对此不做任何限制。
其中,本实施例中的待预测计算芯片可以为需要完成模型训练任务的计算芯片(或计算卡),即需要预测其所要完成的模型训练任务的单步(step)训练时长的计算芯片;例如,本实施例所提供的训练时长预测方法应用于异构计算系统时,待预测计算芯片可以为异构计算系统中的任一计算芯片;待预测计算芯片也可以为同构计算系统中的任一计算芯片或单机计算机中的一个计算芯片;也就是说,本实施例所提供的训练时长预测方法不仅可以适用于单机的计算芯片的模型训练耗时预测,也可以适用于异构计算系统或同构计算系统中计算芯片的模型训练时长耗时预测。本实施例中的模型训练任务可以为控制计算芯片计算训练模型的任务,如分布式计算系统中对大型网络模型(如神经网络模型)的训练进行拆分后各计算芯片所分配到的子训练任务。
对应的,本实施例中的模型训练信息可以为与计算芯片完成模型训练任务过程相关的信息;模型训练信息可以包括计算芯片所要完成的模型训练任务的特征(即训练任务特征)、该计算芯片的动态特征(即计算芯片特征)和以及该计算芯片所在服务器(server)的动态特征(即服务器特征)中的任意一项或多项,以利用模型训练信息中的训练任务特征、计算芯片特征和/或服务器特征,准确地预测计算芯片在单个训练迭代(step)的计算耗时(即单步训练时长);例如,模型训练信息可以包括训练任务特征、计算芯片特征和服务器特征,以综合计算芯片所要完成的模型训练任务的特征以及计算芯片及其所在服务器的动态特征,更加准确地预测计算芯片在单个训练迭代的计算耗时。
相应的,对于本实施例中模型训练信息的具体内容,可以由设计人员根据实用场景和用户需求自行设置,如模型训练信息包括训练任务特征时,模型训练信息中的训练任务特征可以包括:模型训练任务对应的模型训练的批大小(batch_size)和所要训练的模型的特征(即模型特征);例如,所要训练的模型为神经网络模型,即模型训练任务为神经网络模型的训练任务时,模型特征可以包括全连接层的计算复杂度、卷积层的计算复杂度、池化层的计算复杂度、dropout层(即丢弃层)的计算复杂度、batch normalization层(即批量标准化层)的计算复杂度、CNN(Convolutional Neural Network,卷积神经网络)层的计算复杂度、attention层(即注意力层)的计算复杂度、loss(损失)类型、优化器种类、激活函数种类和激活函数调用次数中的至少一项;训练任务特征还可以包括模型训练任务对应的输入数据存储类型。模型训练信息包括计算芯片特征时,模型训练信息中的计算芯片特征可以包括:计算芯片标识(如计算芯片型号)、计算芯片主频、计算芯片核数、计算芯片内存、计算芯片实时利用率、计算芯片实时缓存占用率和计算芯片峰值性能中的至少一项;例如,计算芯片特征可以包括计算芯片型号、计算芯片主频、计算芯片核数、计算芯片内存、计算芯片实时利用率、计算芯片实时缓存占用率和计算芯片峰值性能,以通过全面的计算芯片特征区分不同异构计算芯片的区别。模型训练信息中的服务器特征可以包括服务器内CPU(中央处理器)主频、CPU核数、CPU实时利用率、内存频率、内存数量、内存实时占用率和AI(Artificial Intelligence,人工智能)芯片数量中的至少一项,以使训练时长的预测能够综合计算芯片所在服务器对于计算性能的影响。模型训练信息还可以包括其他信息,如模型训练信息中的训练任务特征还可以包括所要训练的模型的标识(即模型标识),如模型类型;例如,所要训练的模型为神经网络模型时,模型标识可以为各种的神经网络模型各自对应的模型类型。本实施例对此不做任何限制。
对应的,对于本实施例中处理器获取获取待预测计算芯片的模型训练信息的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如处理器可以直接接收其他设备发送的待预测计算芯片的模型训练信息。处理器也可以根据模型训练任务,提取得到训练任务特征;监控采集待预测计算芯片的计算芯片特征和待预测计算芯片所在服务器的服务器特征;例如,异构计算系统中的处理器可以确定待预测计算芯片所要分配到的模型训练任务后,提取并计算得到该模型训练任务的特征(即训练任务特征),并且实时监测并收集待预测计算芯片所在的服务器以及待预测计算芯片的动态特征(即计算芯片特征和服务器特征);例如,处理器可以在确定待预测计算芯片所要分配到的模型训练任务后,根据模型训练任务,提取得到训练任务特征;预设时间间隔采集计算芯片特征和服务器特征,以保证之后预测的多个单步训练时长的准确性。本实施例对此不做任何限制。
步骤102:获取待预测计算芯片对应的目标耗时预测模型。
其中,本实施例中的目标耗时预测模型可以为用于预测待预测计算芯片完成模型训练任务的单步训练时长的模型。对于本实施例中的目标耗时预测模型的具体模型选择,可以由设计人员根据实用场景和用户需求自行设置,如目标耗时预测模型可以具体为全连接网络模型,也可以为具体为基于注意力机制(transformer)的模型,如electra(Efficiently Learning an Encoder that Classifies Token Replacements Accurately,一种预训练模型)模型,只要目标耗时预测模型能够利用输入的模型训练信息,预测计算出待预测计算芯片完成模型训练任务的单步训练时长,本实施例对此不做任何限制。
相应的,对于本步骤中处理器获取待预测计算芯片对应的目标耗时预测模型的具体方式,可以由设计人员根据实用场景和用户需求自行设置,如处理器可以直接接收其他设备发送的目标耗时预测模型;例如处理器可以直接接收其他设备发送的待预测计算芯片的模型训练信息和耗时预测模型,将该耗时预测模型作为目标耗时预测模型。处理器也可以从预先存储的耗时预测模型(即预设耗时预测模型)中选择获取目标耗时预测模型;如处理器可以根据待预测计算芯片的计算芯片标识,从存储的预设耗时预测模型中获取目标耗时预测模型;其中,目标耗时预测模型为任一预设耗时预测模型。本实施例对此不做任何限制。
对应的,对于上述处理器根据待预测计算芯片的计算芯片标识,从存储的预设耗时预测模型中获取目标耗时预测模型的具体方式,可以由设计人员自行设置,如存储有不同计算芯片各自对应的一个预设耗时预测模型时,处理器可以直接利用上述计算芯片特征中的计算芯片标识,从存储的多个预设耗时预测模型中选择一个预设耗时预测模型作为目标耗时预测模型。存储有不同计算芯片各自对应的一个或多个预设耗时预测模型时,处理器可以根据计算芯片标识和模型训练任务对应的模型标识,从存储的预设耗时预测模型中获取目标耗时预测模型;例如,异构计算系统中预先存储有不同型号的计算芯片计算训练各类神经网络模型时采用的预设耗时预测模型时,处理器可以根据计算芯片型号(即计算芯片标识)和模型训练任务对应的模型类型(即模型标识),从存储的多个预设耗时预测模型中选择获取目标耗时预测模型。
举例来说,预先存储有不同计算芯片各自对应的一个预设耗时预测模型时,本步骤中处理器可以判断是否存储有计算芯片标识对应的预设耗时预测模型;若存储有计算芯片标识对应的预设耗时预测模型,则将计算芯片标识对应的预设耗时预测模型确定为目标耗时预测模型;若未存储有计算芯片标识对应的预设耗时预测模型,则可以直接结束本流程或训练生成计算芯片标识对应的预设耗时预测模型(即目标耗时预测模型)。
也就是说,本步骤中处理器在不能直接接收或查找到预先存储到目标耗时预测模型的情况下,处理器还可以自行训练生成目标耗时预测模型,即本实施例所提供的训练时长预测方法还可以包括目标耗时预测模型的训练生成过程。例如,预先存储有不同计算芯片各自对应的一个预设耗时预测模型时,处理器可以在未查找到计算芯片标识对应的预设耗时预测模型(即目标耗时预测模型)的情况下,监控获取待预测计算芯片对应的模型训练完成信息; 根据模型训练完成信息,训练生成计算芯片标识对应的预设耗时预测模型;其中,模型训练完成信息可以为与计算芯片已经完成的模型训练任务(即已完成模型训练任务)相关的信息,如模型训练完成信息可以包括已完成模型训练任务对应的模型训练信息(如训练任务特征、计算芯片特征和/或服务器特征)和实际的单个训练迭代的计算耗时(即单步训练实际时长)。进一步的,处理器也可以在未查找到计算芯片标识对应的预设耗时预测模型(即目标耗时预测模型)的情况下,监控获取目标计算芯片对应的模型训练完成信息;根据模型训练完成信息,训练生成计算芯片标识对应的预设耗时预测模型;其中,目标计算芯片可以为计算芯片标识对应的计算芯片,以通过收集计算芯片标识对应的全部计算芯片的模型训练完成信息,提高计算芯片标识对应的预设耗时预测模型的训练速度。
对应的,预先存储有不同计算芯片各自对应的一个或多个预设耗时预测模型时,处理器可以在未查找到计算芯片标识和模型标识对应的预设耗时预测模型(即目标耗时预测模型)的情况下,监控获取待预测计算芯片对应的目标模型训练完成信息;根据目标模型训练完成信息,训练生成计算芯片标识对应的预设耗时预测模型;其中,目标模型训练完成信息与计算芯片已经完成的模型标识对应的模型训练任务相关的信息,如目标模型训练完成信息可以包括模型标识对应的已完成模型训练任务的模型训练信息(如训练任务特征、计算芯片特征和服务器特征)和实际的单个训练迭代的计算耗时(即单步训练实际时长)。
上述目标耗时预测模型的训练生成过程也可以包括:获取耗时模型新增指令;根据耗时模型新增指令,监控获取耗时模型信息对应的模型训练完成信息;根据耗时模型信息对应的模型训练完成信息,训练生成耗时模型信息对应的预设耗时预测模型;其中,目标耗时预测模型为任一预设耗时预测模型,耗时模型新增指令包括耗时模型信息,耗时模型信息包括计算芯片标识或计算芯片标识和模型标识。也就是说,通过耗时模型新增指令的设置,能够触发相应的预设耗时预测模型的训练生成,使得待预测计算芯片新加入计算系统或修改时,可以通过耗时模型新增指令触发目标耗时预测模型的训练生成。
步骤103:根据模型训练信息,利用目标耗时预测模型计算待预测计算芯片的单步训练时长。
可以理解的是,本步骤中处理器可以根据模型训练信息,利用目标耗时预测模型计算预测待预测计算芯片完成模型训练任务时单次迭代(step)的耗时(即单步训练时长)。例如,处理器可以将模型训练信息作为目标耗时预测模型的输入,通过目标耗时预测模型的预测计算,得到目标耗时预测模型输出的单步训练时长。
对应的,本实施例中处理器在预测得到计算芯片的单步训练时长之后,还可以根据得到的单步训练时长,确定待预测计算芯片的单轮(epoch)训练时长,即待预测计算芯片完成一次整个数据集的训练过程(epoch)的耗时,一个epoch由一个或多个step组成;例如,处理器可以对待预测计算芯片完成模型训练任务时的单轮训练对应的全部单步训练时长进行累加,得到单轮训练时长。进一步的,处理器还可以根据待预测计算芯片的单轮训练时长和预设轮数,计算得到待预测计算芯片的训练时长阈值,即待预测计算芯片完成整个模型训练任务的最大耗时,整个模型训练任务可以有一个或多个epoch;例如,处理器可以将计算单轮训练时长与预设轮数的乘积作为训练时长阈值。
需要说明的是,本实施例中处理器在预测得到计算芯片的单步训练时长之后,处理器还可以对预测得到的单步训练时长进行后续处理;例如,待预测计算芯片为异构计算系统中的任一计算芯片处理器时,处理器可以根据得到的单步训练时长,对待预测计算芯片所在的计算系统进行负载均衡;举例来说,处理器可以根据预测得到的异构计算系统中各计算芯片的单步训练时长,对异构计算系统中各计算芯片的负载进行调整,实现异构计算系统的动态负载均衡。
也就是说,分布式训练系统的性能受制于训练较慢的计算芯片,在异构计算系统中由于各个计算芯片的计算性能不同,会导致各计算芯片模型训练工作耗时不同,进而会影响分布式训练的计算效率;而通过预测各个计算芯片的模型训练任务的时长,能够基于预测结果动态调整每个计算芯片的负载,从而使各计算芯片的耗时相近,实现分布式训练加速的效果,而这种动态负载均衡的难点就在于如何能够准确预测异构计算系统中各计算芯片的训练时长。本实施例中,处理器可以利用准确预测的异构计算系统中各计算芯片的单步训练时长,动态调整每个计算芯片的负载,从而使各计算芯片的耗时相近,实现分布式训练加速的效果。
进一步的,本实施例所提供的训练时长预测方法还可以包括目标耗时预测模型的重训练过程,以保证目标耗时预测模型的预测准确性。例如,步骤103之后,处理器还可以获取待预测计算芯片完成模型训练任务的单步训练实际时长;根据模型训练任务对应的单步训练实际时长和单步训练时长,判断目标耗时预测模型是否需要重训练;若需要重训练,则根据目标耗时预测模型对应的模型训练完成信息,训练生成目标耗时预测模型对应的重训练模型,并将存储的目标耗时预测模型替换为重训练模型;其中,模型训练完成信息包括已完成模型训练任务对应的模型训练信息和单步训练实际时长。
相应的,目标耗时预测模型对应的模型训练完成信息可以为能够利用目标耗时预测模型进行预测的计算芯片对应的模型训练完成信息,如上述待预测计算芯片对应的模型训练完成信息,或利用目标耗时预测模型进行预测的全部计算芯片对应的模型训练完成信息。
本实施例中,本发明实施例通过根据模型训练信息,利用目标耗时预测模型计算待预测计算芯片的单步训练时长,能够利用计算芯片所要完成的模型训练任务的特征、计算芯片的动态特征和/或计算芯片所在服务器的动态特征,准确地预测计算芯片在单个训练迭代的计算耗时,提高了对计算芯片的模型训练时长预测的准确性。
基于上述实施例,本发明实施例还提供了另一种训练时长预测方法,以实现异构计算系统中计算芯片的单次迭代耗时的准确预测。具体的,请参考图2,图2为本发明实施例所提供的一种训练时长预测方法2的流程图。该方法可以包括:
步骤201:获取异构计算系统中待预测计算芯片的模型训练信息。
其中,待预测计算芯片为异构计算系统中任一需要完成模型训练任务的计算芯片;本实施例中模型训练信息可以包括训练任务特征、计算芯片特征和服务器特征;模型训练任务可以为神经网络模型的训练任务,即异构计算系统可以用于神经网络模型的分布式训练。
相应的,本步骤中处理器可以根据向待预测计算芯片分配的模型训练任务,提取得到训练任务特征;监控采集待预测计算芯片的计算芯片特征和待预测计算芯片所在服务器的服务器特征。如图3所示,处理器可以利用训练模型特征提取模块收集并计算异构计算系统(异构计算平台)中待预测计算芯片(异构算力)被分配的模型训练任务(子训练任务)的特征(即训练任务特征),传输给模型选择与耗时预测模块;利用服务器、算力动态指标监控模块监测并收集服务器以及待预测计算芯片的动态特征(即计算芯片特征和服务器特征),传输给模型选择与耗时预测模块。
需要说明的是,本实施例中模型训练信息中的训练任务特征可以包括模型训练任务对应的输入数据存储类型、模型训练的批大小(batch_size)和模型特征;模型特征可以包括全连接层的计算复杂度、卷积层的计算复杂度、池化层的计算复杂度、dropout层的计算复杂度、batch normalization层的计算复杂度、CNN层的计算复杂度、attention层的计算复杂度、loss类型、优化器种类、激活函数种类和激活函数调用次数。模型训练信息中的计算芯片特征可以包括:计算芯片标识(如计算芯片型号)、计算芯片主频、计算芯片核数、计算芯片内存、计算芯片实时利用率、计算芯片实时缓存占用率和计算芯片峰值性能,以通过这些计算芯片特征充分体现异构计算系统中不同异构算力的区别,从而能够提升异构计算系统中各计算芯片的单步训练时长的预测准确性。模型训练信息中的服务器特征可以包括服务器内CPU主频、CPU核数、CPU实时利用率、内存频率、内存数量、内存实时占用率和AI芯片数量;也就是说,由于计算芯片所在的服务器对计算芯片进行模型训练任务过程中的训练迭代影响很大,本实施例中将计算芯片所在的服务器的动态特征作为单步训练时长预测的参考量,能够有效提升异构计算系统中各计算芯片的单步训练时长的预测准确性;进一步的,通过上述这些服务器特征的充分体现计算芯片所在的服务器的实时状态,从而能够进一步提升异构计算系统中各计算芯片的单步训练时长的预测准确性。
步骤202:判断是否存储有计算芯片标识对应的预设耗时预测模型;若是,则进入步骤203;若否,则进入步骤206。
可以理解的是,本实施例是以存储不同计算芯片各自对应的一个预设耗时预测模型的场景为例进行的展示,对于能够存储不同计算芯片各自对应的多个预设耗时预测模型的场景,可以采用与本实施例所提供的方法相同或相似的方式实现,本实施例对此不做任何限制。
相应的,本实施例中处理器可以通过判断是否存储有计算芯片标识(如计算芯片型号)对应的预设耗时预测模型,确定是否预先存储配置有待预测计算芯片对应的预设耗时预测模型(即目标耗时预测模型),从而在确定预先存储配置有待预测计算芯片对应的预设耗时预测模型时,进入步骤203,使用该预设耗时预测模型预测计算待预测计算芯片的单步训练时长;在确定未存储配置有待预测计算芯片对应的预设耗时预测模型时,进入步骤206,以训练生成该预设耗时预测模型,方便后续待预测计算芯片的单步训练时长的预测。
如图3所示,处理器可以利用模型选择与耗时预测模块,根据通过训练模型特征提取模块和服务器、算力动态指标监控模块接收的训练任务特征、计算芯片特征和服务器特征,判断存储的已经训练好的预设耗时预测模型中是否存在适合待预测计算芯片的预设耗时预测模型;若不存在适合待预测计算芯片的预设耗时预测模型,可以告知重训练模块,以利用重训练模块训练生成适合待预测计算芯片的预设耗时预测模型。
步骤203:根据模型训练信息,利用计算芯片标识对应的预设耗时预测模型计算待预测计算芯片的单步训练时长。
其中,本步骤中处理器可以根据模型训练信息,利用计算芯片标识对应的预设耗时预测模型(即目标耗时预测模型)计算预测待预测计算芯片完成模型训练任务时单次迭代(step)的耗时(即单步训练时长)。
如图3所示,处理器可以利用模型选择与耗时预测模块确定存在适合待预测计算芯片的预设耗时预测模型后,使用该预设耗时预测模型对待预测计算芯片的单次迭代耗时进行预测,输出耗时的预测结果,即单步训练时长。
可以理解的是,本步骤中处理器可以预测得到待预测计算芯片进行模型训练任务时的单步训练时长,实现异构计算系统中计算芯片的单步训练时长的预测。进一步的,处理器还可以利用预测得到的单步训练时长进行后续数据处理,如异构计算系统的动态负载均衡;例如,处理器可以根据预测得到的异构计算系统中各计算芯片的单步训练时长,对异构计算系统中各计算芯片的负载进行调整,实现异构计算系统的动态负载均衡。
步骤204:获取待预测计算芯片完成模型训练任务的单步训练实际时长。
其中,单步训练实际时长可以为待预测计算芯片完成模型训练任务时实际的单次迭代耗时。
如图3所示,处理器可以利用服务器、算力动态指标监控模块监测得到待预测计算芯片的下一个迭代的计算耗时结果(即单步训练实际时长),并传输给耗时结果对比模块。
步骤205:根据模型训练任务对应的单步训练实际时长和单步训练时长,判断计算芯片标识对应的预设耗时预测模型是否需要重训练;若是,则进入步骤206。
其中,本步骤中处理器可以利用模型训练任务对应的单步训练实际时长和预测得到的单步训练时长,确定计算芯片标识对应的预设耗时预测模型是否需要重训练;若是,则进入步骤206,重新训练该计算芯片标识对应的预设耗时预测模型,以更新存储的该计算芯片标识对应的预设耗时预测模型。
相应的,对于本步骤中处理器根据模型训练任务对应的单步训练实际时长和单步训练时长,判断计算芯片标识对应的预设耗时预测模型(即目标耗时预测模型)是否需要重训练的具体方式,可以由设计人员自行设置,如处理器可以根据模型训练任务对应的单步训练实际时长和单步训练时长,计算得到目标耗时预测模型对应的单次耗时偏差;根据目标耗时预测模型对应的连续预设次数的单次耗时偏差与重训练阈值的比较,判断目标耗时预测模型是否需要重训练;若是,则进入步骤206;若否,则结束本流程或返回步骤201,以继续对待预测计算芯片的下一次预测。例如,处理器可以判断目标耗时预测模型对应的连续预设次数(如5次)的单次耗时偏差(如偏差百分比)是否均大于重训练阈值(如10%);若是,则确定目标耗时预测模型需要重训练,进入步骤206。处理器也可以判断连续预设次数模型训练任务对应的单步训练实际时长和单步训练时长对应的均方差(MSE,Mean SquareError)是否重训练阈值;若是,确定目标耗时预测模型需要重训练,进入步骤206。
如图3所示,处理器可以利用耗时结果对比模块,对比待预测计算芯片的单步训练实际时长和预测得到的单步训练时长,如果连续预设次数的耗时对比大于重训练阈值,则可以告知重训练模块,以利用重训练模块重新训练生成适合待预测计算芯片的预设耗时预测模型。
步骤206:监控获取异构计算系统中全部目标计算芯片对应的模型训练完成信息;其中,目标计算芯片为计算芯片标识对应的计算芯片。
其中,模型训练完成信息包括已完成模型训练任务对应的模型训练信息和单步训练实际时长。
相应的,处理器在需要新生成或重新更新计算芯片标识对应的预设耗时预测模型时,监控异构计算系统中计算芯片标识对应的全部计算芯片(即目标计算芯片)的模型训练完成信息,从而提升预设耗时预测模型的训练速度。
如图3所示,处理器可以利用训练模型特征提取模块收集全部目标计算芯片完成的模型训练任务的特征(即训练任务特征),并发送给重训练模块,用以生成训练样本;处理器可以利用服务器、算力动态指标监控模块监测并收集服务器以及全部目标计算芯片相应的动态特征(即计算芯片特征和服务器特征)以及全部目标计算芯片实际的单次迭代的运算时间(即单步训练实际时长),并发送给重训练模块,用以生成训练样本。
步骤207:根据模型训练完成信息,训练生成计算芯片标识对应的预设耗时预测模型;其中,模型训练完成信息包括已完成模型训练任务对应的模型训练信息和单步训练实际时长。
相应的,本步骤中处理器可以利用计算芯片标识对应的计算芯片已完成的模型训练任务对应的模型训练信息和单步训练实际时长,完成该计算芯片标识对应的预设耗时预测模型的训练生成,从而能够利用该预设耗时预测模型,完成后续该计算芯片标识的单步训练时长的预测。相应的,本步骤之后处理器可以存储该计算芯片标识对应的预设耗时预测模型;如在未存储该计算芯片标识对应的预设耗时预测模型时,直接存储新训练生成的该计算芯片标识对应的预设耗时预测模型;在已存储有该计算芯片标识对应的预设耗时预测模型时,将已存储的该计算芯片标识对应的预设耗时预测模型替换为该计算芯片标识对应的预设耗时预测模型(即重训练模型)。
也就是说,本实施例中处理器可以在需要新生成或重新更新计算芯片标识对应的预设耗时预测模型时,使用异构计算系统中该计算芯片标识的全部目标计算芯片的完成各自模型训练任务时采集的模型训练完成信息(即模型训练信息和单步训练实际时长),对预设耗时预测模型(全连接网络模型或electra模型等)进行训练,将训练完成的预设耗时预测模型作为计算芯片标识对应的预设耗时预测模型以存储或更新。即本实施例中训练完成的预设耗时预测模型可以根据输入的模型训练信息,计算输出相应的单步训练时长,以实现计算芯片的模型训练任务的单步训练时长的预测。
对应的,对于本实施例中处理器根据模型训练完成信息,训练生成计算芯片标识对应的预设耗时预测模型的具体方式,即预设耗时预测模型的具体训练过程,可以由设计人员根据实用场景和用户需求自行设置,如可以采用与现有技术中的模型训练方法相同或相似的方式实现,只要本步骤中处理器可以将模型训练完成信息作为训练数据,训练生成计算芯片标识对应的预设耗时预测模型,使得后续该预设耗时预测模型能够根据输入的模型训练信息,计算输出相应的单步训练时长,本实施例对此不做任何限制。
如图3所示,处理器可以利用重训练模块,根据通过训练模型特征提取模块和服务器、算力动态指标监控模块接收的模型训练完成信息,训练计算芯片标识对应的预设耗时预测模型,并将训练好的预设耗时预测模型发送到模型选择与耗时预测模块存储。
需要说明的是,本实施例是以异构计算系统中任一计算芯片(即待预测计算芯片)的单步训练时长的预测为例,展示了计算芯片的单步训练时长预测过程(如图3中的实线箭头过程)以及计算芯片的新增与调整的动态适应过程(如图3中虚线箭头过程)。对于不同种类异构计算系统,如图4所示的由MLU370(一种计算芯片型号)芯片和TeslaV100(一种计算芯片型号)芯片构成的采用数据并行方式来分布式训练bert(一种神经网络模型)训练任务的异构计算系统,以及如图5所示的由MLU370芯片和TeslaV100芯片构成的采用模型并行方式来分布式训练bert训练任务的异构计算系统(异构计算平台),均可以采用与本实施例所提供的方法相同或相似的方式,实现系统内各计算芯片的单步训练时长的预测,本实施例并不限定异构计算系统的具体架构和模型训练任务的具体内容。
本实施例中,本发明实施例通过监控获取异构计算系统中全部目标计算芯片对应的模型训练完成信息,能够提高计算芯片标识对应的预设耗时预测模型的训练速度;通过根据模型训练完成信息,训练生成计算芯片标识对应的预设耗时预测模型,实现了新增或修改的计算芯片的自动适应。
相应于上面的方法实施例,本发明实施例还提供了一种训练时长预测装置,下文描述的一种训练时长预测装置与上文描述的一种训练时长预测方法可相互对应参照。
请参考图6,图6为本发明实施例所提供的一种训练时长预测装置的结构框图。该装置可以包括:
信息获取模块10,用于获取待预测计算芯片的模型训练信息;其中,待预测计算芯片为需要完成模型训练任务的计算芯片,模型训练信息包括训练任务特征、计算芯片特征和服务器特征中的至少一项;
模型获取模块20,用于获取待预测计算芯片对应的目标耗时预测模型;
时长预测模块30,用于根据模型训练信息,利用目标耗时预测模型计算待预测计算芯片的单步训练时长。
在一些实施例中,模型获取模块20可以包括:
存储获取子模块,用于根据待预测计算芯片的计算芯片标识,从存储的预设耗时预测模型中获取目标耗时预测模型;其中,目标耗时预测模型为任一预设耗时预测模型。
在一些实施例中,存储获取子模块可以具体用于根据计算芯片标识和模型训练任务对应的模型标识,从存储的预设耗时预测模型中获取目标耗时预测模型。
在一些实施例中,模型训练信息包括计算芯片特征,存储获取子模块可以具体用于根据计算芯片特征中的计算芯片标识,从存储的预设耗时预测模型中获取目标耗时预测模型。
在一些实施例中,存储获取子模块可以包括:
模型判断单元,用于判断是否存储有计算芯片标识对应的预设耗时预测模型;
存储获取单元,用于若存储有计算芯片标识对应的预设耗时预测模型,则将计算芯片标识对应的预设耗时预测模型确定为目标耗时预测模型。
在一些实施例中,存储获取子模块还可以包括:
训练监控单元,用于若未存储有计算芯片标识对应的预设耗时预测模型,则监控获取待预测计算芯片对应的模型训练完成信息;其中,模型训练完成信息包括已完成模型训练任务对应的模型训练信息和单步训练实际时长
耗时训练单元,用于根据模型训练完成信息,训练生成计算芯片标识对应的预设耗时预测模型。
在一些实施例中,训练监控单元可以具体用于监控获取异构计算系统中全部目标计算芯片对应的模型训练完成信息;其中,目标计算芯片为计算芯片标识对应的计算芯片。
在一些实施例中,模型训练信息包括训练任务特征、计算芯片特征和服务器特征,信息获取模块10可以包括:
任务提取子模块,用于根据模型训练任务,提取得到训练任务特征;
监控子模块,用于监控采集待预测计算芯片的计算芯片特征和待预测计算芯片所在服务器的服务器特征。
在一些实施例中,监控子模块可以具体用于按预设时间间隔采集计算芯片特征和服务器特征。
在一些实施例中,该装置还可以包括:
指令获取模块,用于获取耗时模型新增指令;其中,耗时模型新增指令包括耗时模型信息,耗时模型信息包括计算芯片标识或计算芯片标识和模型标识;
新增监控模块,用于根据耗时模型新增指令,监控获取耗时模型信息对应的模型训练完成信息;其中,模型训练完成信息包括已完成模型训练任务对应的模型训练信息和单步训练实际时长;
新增训练模块,用于根据耗时模型信息对应的模型训练完成信息,训练生成耗时模型信息对应的预设耗时预测模型;其中,目标耗时预测模型为任一预设耗时预测模型。
在一些实施例中,该装置还可以包括:
单轮确定模块,用于根据单步训练时长,确定待预测计算芯片的单轮训练时长。
在一些实施例中,模型训练信息包括服务器特征,服务器特征可以包括:待预测计算芯片所在服务器内中央处理器主频、中央处理器核数、中央处理器实时利用率、内存频率、内存数量、内存实时占用率和人工智能芯片数量中的至少一项。
在一些实施例中,模型训练信息包计算芯片特征和训练任务特征,计算芯片特征可以包括:计算芯片标识、计算芯片主频、计算芯片核数、计算芯片内存、计算芯片实时利用率、计算芯片实时缓存占用率和计算芯片峰值性能中的至少一项;训练任务特征可以包括:模型训练任务对应的输入数据存储类型、模型训练的批大小和模型特征。
在一些实施例中,模型训练任务为神经网络模型的训练任务,模型特征可以包括:全连接层的计算复杂度、卷积层的计算复杂度、池化层的计算复杂度、丢弃层的计算复杂度、批量标准化层的计算复杂度、卷积神经网络层的计算复杂度、注意力层的计算复杂度、损失类型、优化器种类、激活函数种类和激活函数调用次数中的至少一项。
在一些实施例中,待预测计算芯片可以为异构计算系统中的任一计算芯片。
在一些实施例中,该装置还可以包括:
时长监测模块,用于获取待预测计算芯片完成模型训练任务的单步训练实际时长;
重训练判断模块,用于根据模型训练任务对应的单步训练实际时长和单步训练时长,判断目标耗时预测模型是否需要重训练;
模型重训练模块,用于若需要重训练,则根据目标耗时预测模型对应的模型训练完成信息,训练生成目标耗时预测模型对应的重训练模型,并将存储的目标耗时预测模型替换为重训练模型;其中,模型训练完成信息包括已完成模型训练任务对应的模型训练信息和单步训练实际时长。
在一些实施例中,重训练判断模块可以包括:
偏差计算子模块,用于根据模型训练任务对应的单步训练实际时长和单步训练时长,计算得到目标耗时预测模型对应的单次耗时偏差;
偏差比较子模块,用于根据目标耗时预测模型对应的连续预设次数的单次耗时偏差与重训练阈值的比较,判断目标耗时预测模型是否需要重训练;若是,则向模型重训练模块发送启动信号。
在一些实施例中,偏差比较子模块可以具体用于判断目标耗时预测模型对应的连续预设次数的单次耗时偏差是否均大于重训练阈值;若是,则确定目标耗时预测模型需要重训练,并向模型重训练模块发送启动信号。
本实施例中,本发明实施例通过时长预测模块30根据模型训练信息,利用目标耗时预测模型计算待预测计算芯片的单步训练时长,能够利用计算芯片所要完成的模型训练任务的特征、计算芯片的动态特征和/或计算芯片所在服务器的动态特征,准确地预测计算芯片在单个训练迭代的计算耗时,提高了对计算芯片的模型训练时长预测的准确性。
相应于上面的方法实施例,本发明实施例还提供了一种多元异构计算设备,下文描述的一种多元异构计算设备与上文描述的一种训练时长预测方法可相互对应参照。
请参考图7,图7为本发明实施例所提供的一种多元异构计算设备的简易结构示意图。该多元异构计算设备可以包括:
存储器D1,用于存储计算机程序;
处理器D2,用于执行计算机程序时实现上述方法实施例所提供的训练时长预测方法的步骤。
相应的,请参考图8,图8为本发明实施例所提供的一种多元异构计算设备的具体结构示意图,该多元异构计算设备310可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上单元(图示没标出),每个单元可以包括对主机中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在多元异构计算设备310上执行存储介质330中的一系列指令操作。
多元异构计算设备310还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。例如,Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等。
其中,本实施例所提供的多元异构计算设备可以为对多元化的异构计算系统(即多元异构计算系统)中计算芯片的单步训练时长进行预测的设备,如多元异构计算系统的设备,例如多元异构计算系统的服务器;多元异构计算系统可以为由多种异构(如不同厂商或性能)的计算芯片所组成的系统,如多元异构计算系统可以包括某一芯片厂商发布的不同代计算芯片,和/或不同芯片厂商发布的计算芯片。
上文所描述的训练时长预测方法中的步骤可以由多元异构计算设备的结构实现。
相应于上面的方法实施例,本发明实施例还提供了一种计算机可读存储介质,下文描述的一种计算机可读存储介质与上文描述的一种训练时长预测方法可相互对应参照。
请参考图9,图9为本发明实施例所提供的一种计算机可读存储介质的结构示意图。该计算机可读存储介质40上存储有计算机程序41,计算机程序41被处理器执行时实现如上述方法实施例所提供的训练时长预测方法的步骤。
该计算机可读存储介质40具体可以为U盘、移动硬盘、只读存储器(Read-OnlyMemory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的存储介质。
说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。对于实施例公开的装置、设备及计算机可读存储介质而言,由于其与实施例公开的方法相对应,所以描述的比较简单,相关之处参见方法部分说明即可。
以上对本发明所提供的一种训练时长预测方法、装置、多元异构计算设备及计算机可读存储介质进行了详细介绍。本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想。应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以对本发明进行若干改进和修饰,这些改进和修饰也落入本发明权利要求的保护范围内。
Claims (21)
1.一种训练时长预测方法,其特征在于,包括:
获取待预测计算芯片的模型训练信息;其中,所述待预测计算芯片为需要完成模型训练任务的计算芯片,所述模型训练信息包括训练任务特征、计算芯片特征和服务器特征中的至少一项;
获取所述待预测计算芯片对应的目标耗时预测模型;
根据所述模型训练信息,利用所述目标耗时预测模型计算所述待预测计算芯片的单步训练时长。
2.根据权利要求1所述的训练时长预测方法,其特征在于,所述获取所述待预测计算芯片对应的目标耗时预测模型,包括:
根据所述待预测计算芯片的计算芯片标识,从存储的预设耗时预测模型中获取所述目标耗时预测模型;其中,所述目标耗时预测模型为任一所述预设耗时预测模型。
3.根据权利要求2所述的训练时长预测方法,其特征在于,所述根据所述待预测计算芯片的计算芯片标识,从存储的预设耗时预测模型中获取所述目标耗时预测模型,包括:
根据所述计算芯片标识和所述模型训练任务对应的模型标识,从存储的所述预设耗时预测模型中获取所述目标耗时预测模型。
4.根据权利要求2所述的训练时长预测方法,其特征在于,所述模型训练信息包括所述计算芯片特征,所述根据所述待预测计算芯片的计算芯片标识,从存储的预设耗时预测模型中获取所述目标耗时预测模型,包括:
根据所述计算芯片特征中的计算芯片标识,从存储的所述预设耗时预测模型中获取所述目标耗时预测模型。
5.根据权利要求2所述的训练时长预测方法,其特征在于,所述根据所述待预测计算芯片的计算芯片标识,从存储的预设耗时预测模型中获取所述目标耗时预测模型,包括:
判断是否存储有所述计算芯片标识对应的预设耗时预测模型;
若是,则将所述计算芯片标识对应的预设耗时预测模型确定为所述目标耗时预测模型。
6.根据权利要求5所述的训练时长预测方法,其特征在于,所述判断是否存储有所述计算芯片标识对应的预设耗时预测模型之后,还包括:
若未存储有所述计算芯片标识对应的预设耗时预测模型,则监控获取所述待预测计算芯片对应的模型训练完成信息;其中,所述模型训练完成信息包括已完成模型训练任务对应的模型训练信息和单步训练实际时长;
根据所述模型训练完成信息,训练生成所述计算芯片标识对应的预设耗时预测模型。
7.根据权利要求6所述的训练时长预测方法,其特征在于,所述监控获取所述待预测计算芯片对应的模型训练完成信息,包括:
监控获取异构计算系统中全部目标计算芯片对应的模型训练完成信息;其中,目标计算芯片为所述计算芯片标识对应的计算芯片。
8.根据权利要求1所述的训练时长预测方法,其特征在于,所述模型训练信息包括训练任务特征、计算芯片特征和服务器特征,所述获取待预测计算芯片的模型训练信息,包括:
根据所述模型训练任务,提取得到所述训练任务特征;
监控采集所述待预测计算芯片的计算芯片特征和所述待预测计算芯片所在服务器的服务器特征。
9.根据权利要求8所述的训练时长预测方法,其特征在于,所述控采集所述待预测计算芯片的计算芯片特征和所述待预测计算芯片所在服务器的服务器特征,包括:
按预设时间间隔采集计算芯片特征和所述服务器特征。
10.根据权利要求1所述的训练时长预测方法,其特征在于,还包括:
获取耗时模型新增指令;其中,所述耗时模型新增指令包括耗时模型信息,所述耗时模型信息包括计算芯片标识或所述计算芯片标识和模型标识;
根据所述耗时模型新增指令,监控获取所述耗时模型信息对应的模型训练完成信息;其中,所述模型训练完成信息包括已完成模型训练任务对应的模型训练信息和单步训练实际时长;
根据所述耗时模型信息对应的模型训练完成信息,训练生成所述耗时模型信息对应的预设耗时预测模型;其中,所述目标耗时预测模型为任一所述预设耗时预测模型。
11.根据权利要求1所述的训练时长预测方法,其特征在于,所述根据所述模型训练信息,利用所述目标耗时预测模型计算所述待预测计算芯片的单步训练时长之后,还包括:
根据所述单步训练时长,确定所述待预测计算芯片的单轮训练时长。
12.根据权利要求1所述的训练时长预测方法,其特征在于,所述模型训练信息包括所述服务器特征,所述服务器特征包括:所述待预测计算芯片所在服务器内中央处理器主频、中央处理器核数、中央处理器实时利用率、内存频率、内存数量、内存实时占用率和人工智能芯片数量中的至少一项。
13.根据权利要求1所述的训练时长预测方法,其特征在于,所述模型训练信息包计算芯片特征和所述训练任务特征,所述计算芯片特征包括:计算芯片标识、计算芯片主频、计算芯片核数、计算芯片内存、计算芯片实时利用率、计算芯片实时缓存占用率和计算芯片峰值性能中的至少一项;所述训练任务特征包括:所述模型训练任务对应的输入数据存储类型、模型训练的批大小和模型特征。
14.根据权利要求13所述的训练时长预测方法,其特征在于,所述模型训练任务为神经网络模型的训练任务,所述模型特征包括:全连接层的计算复杂度、卷积层的计算复杂度、池化层的计算复杂度、丢弃层的计算复杂度、批量标准化层的计算复杂度、卷积神经网络层的计算复杂度、注意力层的计算复杂度、损失类型、优化器种类、激活函数种类和激活函数调用次数中的至少一项。
15.根据权利要求1所述的训练时长预测方法,其特征在于,所述待预测计算芯片为异构计算系统中的任一计算芯片。
16.根据权利要求1至15任一项所述的训练时长预测方法,其特征在于,所述根据所述模型训练信息,利用所述目标耗时预测模型计算所述待预测计算芯片的单步训练时长之后,还包括:
获取所述待预测计算芯片完成所述模型训练任务的单步训练实际时长;
根据所述模型训练任务对应的单步训练实际时长和单步训练时长,判断所述目标耗时预测模型是否需要重训练;
若需要重训练,则根据所述目标耗时预测模型对应的模型训练完成信息,训练生成所述目标耗时预测模型对应的重训练模型,并将存储的所述目标耗时预测模型替换为所述重训练模型;其中,所述模型训练完成信息包括已完成模型训练任务对应的模型训练信息和单步训练实际时长。
17.根据权利要求16所述的训练时长预测方法,其特征在于,所述根据所述模型训练任务对应的单步训练实际时长和单步训练时长,判断所述目标耗时预测模型是否需要重训练,包括:
根据所述模型训练任务对应的单步训练实际时长和单步训练时长,计算得到所述目标耗时预测模型对应的单次耗时偏差;
根据所述目标耗时预测模型对应的连续预设次数的单次耗时偏差与重训练阈值的比较,判断所述目标耗时预测模型是否需要重训练;
若是,则执行所述根据所述目标耗时预测模型对应的模型训练完成信息,训练生成所述目标耗时预测模型对应的重训练模型,并将存储的所述目标耗时预测模型替换为所述重训练模型的步骤。
18.根据权利要求17所述的训练时长预测方法,其特征在于,所述根据所述目标耗时预测模型对应的连续预设次数的单次耗时偏差与重训练阈值的比较,判断所述目标耗时预测模型是否需要重训练,包括:
判断目标耗时预测模型对应的连续预设次数的单次耗时偏差是否均大于重训练阈值;
若是,则确定所述目标耗时预测模型需要重训练,并执行所述根据所述目标耗时预测模型对应的模型训练完成信息,训练生成所述目标耗时预测模型对应的重训练模型,并将存储的所述目标耗时预测模型替换为所述重训练模型的步骤。
19.一种训练时长预测装置,其特征在于,包括:
信息获取模块,用于获取待预测计算芯片的模型训练信息;其中,所述待预测计算芯片为需要完成模型训练任务的计算芯片,所述模型训练信息包括训练任务特征、计算芯片特征和服务器特征中的至少一项;
模型获取模块,用于获取所述待预测计算芯片对应的目标耗时预测模型;
时长预测模块,用于根据所述模型训练信息,利用所述目标耗时预测模型计算所述待预测计算芯片的单步训练时长。
20.一种多元异构计算设备,其特征在于,包括:
存储器,用于存储计算机程序;
处理器,用于执行所述计算机程序时实现如权利要求1至18任一项所述的训练时长预测方法的步骤。
21.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至18中任一项所述的训练时长预测方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310509328.5A CN116244159B (zh) | 2023-05-08 | 2023-05-08 | 一种训练时长预测方法、装置、多元异构计算设备及介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310509328.5A CN116244159B (zh) | 2023-05-08 | 2023-05-08 | 一种训练时长预测方法、装置、多元异构计算设备及介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116244159A true CN116244159A (zh) | 2023-06-09 |
CN116244159B CN116244159B (zh) | 2023-08-11 |
Family
ID=86631663
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310509328.5A Active CN116244159B (zh) | 2023-05-08 | 2023-05-08 | 一种训练时长预测方法、装置、多元异构计算设备及介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116244159B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116450486A (zh) * | 2023-06-16 | 2023-07-18 | 浪潮电子信息产业股份有限公司 | 多元异构计算系统内节点的建模方法、装置、设备及介质 |
CN116720544A (zh) * | 2023-08-04 | 2023-09-08 | 浪潮电子信息产业股份有限公司 | 基于异构计算系统的模型训练耗时预测方法、设备及系统 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110070117A (zh) * | 2019-04-08 | 2019-07-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
CN113254153A (zh) * | 2021-05-20 | 2021-08-13 | 深圳市金蝶天燕云计算股份有限公司 | 流程任务处理方法、装置、计算机设备和存储介质 |
CN113568821A (zh) * | 2021-07-26 | 2021-10-29 | 北京百度网讯科技有限公司 | 一种ai芯片计算性能的测试方法、装置、设备、及介质 |
CN113610225A (zh) * | 2021-07-14 | 2021-11-05 | 中国银行股份有限公司 | 质量评估模型训练方法、装置、电子设备及存储介质 |
CN114154891A (zh) * | 2021-12-08 | 2022-03-08 | 中国建设银行股份有限公司 | 风险控制模型的重训练方法及装置 |
CN114239844A (zh) * | 2021-11-01 | 2022-03-25 | 中国电子科技集团公司第十五研究所 | 算力的计算方法、装置、终端设备和存储介质 |
US20220114492A1 (en) * | 2020-10-12 | 2022-04-14 | Alipay (Hangzhou) Information Technology Co., Ltd. | Target data party selection methods and systems for distributed model training |
CN115098257A (zh) * | 2022-06-23 | 2022-09-23 | 中国电信股份有限公司 | 一种资源调度方法、装置、设备以及存储介质 |
CN115827253A (zh) * | 2023-02-06 | 2023-03-21 | 青软创新科技集团股份有限公司 | 一种芯片资源算力分配方法、装置、设备及存储介质 |
CN115904666A (zh) * | 2022-12-16 | 2023-04-04 | 上海交通大学 | 面向gpu集群的深度学习训练任务调度系统 |
-
2023
- 2023-05-08 CN CN202310509328.5A patent/CN116244159B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110070117A (zh) * | 2019-04-08 | 2019-07-30 | 腾讯科技(深圳)有限公司 | 一种数据处理方法及装置 |
US20220114492A1 (en) * | 2020-10-12 | 2022-04-14 | Alipay (Hangzhou) Information Technology Co., Ltd. | Target data party selection methods and systems for distributed model training |
CN113254153A (zh) * | 2021-05-20 | 2021-08-13 | 深圳市金蝶天燕云计算股份有限公司 | 流程任务处理方法、装置、计算机设备和存储介质 |
CN113610225A (zh) * | 2021-07-14 | 2021-11-05 | 中国银行股份有限公司 | 质量评估模型训练方法、装置、电子设备及存储介质 |
CN113568821A (zh) * | 2021-07-26 | 2021-10-29 | 北京百度网讯科技有限公司 | 一种ai芯片计算性能的测试方法、装置、设备、及介质 |
CN114239844A (zh) * | 2021-11-01 | 2022-03-25 | 中国电子科技集团公司第十五研究所 | 算力的计算方法、装置、终端设备和存储介质 |
CN114154891A (zh) * | 2021-12-08 | 2022-03-08 | 中国建设银行股份有限公司 | 风险控制模型的重训练方法及装置 |
CN115098257A (zh) * | 2022-06-23 | 2022-09-23 | 中国电信股份有限公司 | 一种资源调度方法、装置、设备以及存储介质 |
CN115904666A (zh) * | 2022-12-16 | 2023-04-04 | 上海交通大学 | 面向gpu集群的深度学习训练任务调度系统 |
CN115827253A (zh) * | 2023-02-06 | 2023-03-21 | 青软创新科技集团股份有限公司 | 一种芯片资源算力分配方法、装置、设备及存储介质 |
Non-Patent Citations (2)
Title |
---|
AISHWARYA GANDHI: "Teaching_Protective_Relaying_Using_a_Portable_Relay_Training_Laboratory", 《2020 52ND NORTH AMERICAN POWER SYMPOSIUM (NAPS)》, pages 1 - 6 * |
王丽;郭振华;曹芳;高开;赵雅倩;赵坤;: "面向模型并行训练的模型拆分策略自动生成方法", 计算机工程与科学, no. 09 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116450486A (zh) * | 2023-06-16 | 2023-07-18 | 浪潮电子信息产业股份有限公司 | 多元异构计算系统内节点的建模方法、装置、设备及介质 |
CN116450486B (zh) * | 2023-06-16 | 2023-09-05 | 浪潮电子信息产业股份有限公司 | 多元异构计算系统内节点的建模方法、装置、设备及介质 |
CN116720544A (zh) * | 2023-08-04 | 2023-09-08 | 浪潮电子信息产业股份有限公司 | 基于异构计算系统的模型训练耗时预测方法、设备及系统 |
CN116720544B (zh) * | 2023-08-04 | 2023-11-07 | 浪潮电子信息产业股份有限公司 | 基于异构计算系统的模型训练耗时预测方法、设备及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN116244159B (zh) | 2023-08-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116244159B (zh) | 一种训练时长预测方法、装置、多元异构计算设备及介质 | |
CN110389820B (zh) | 一种基于v-TGRU模型进行资源预测的私有云任务调度方法 | |
TWI547817B (zh) | 叢集運算架構的資源規劃方法、系統及裝置 | |
CN112052948B (zh) | 一种网络模型压缩方法、装置、存储介质和电子设备 | |
JP2023510566A (ja) | ニューラル・ネットワークのための適応的探索方法および装置 | |
CN112101525A (zh) | 一种通过nas设计神经网络的方法、装置和系统 | |
CN111290922B (zh) | 服务运行健康度监测方法及装置 | |
CN114895773B (zh) | 异构多核处理器的能耗优化方法、系统、装置及存储介质 | |
CN116760772B (zh) | 汇聚分流器的管控系统及其方法 | |
CN111949631A (zh) | 一种确定数据库的配置参数的方法及装置 | |
CN116866095B (zh) | 一种带触控面板的工业路由器及其待机控制方法 | |
CN113918826B (zh) | 投放信息处理方法、资源预测模型训练方法及装置 | |
CN112434789A (zh) | 一种用于边缘视频分析的分布式神经网络模型划分方法 | |
CN115130894A (zh) | 基于人工智能的生产规划方法、装置、计算机设备及介质 | |
CN116361377B (zh) | 基于工业物联网服务平台的负载预测系统、方法及介质 | |
CN116108276A (zh) | 基于人工智能的信息推荐方法、装置及相关设备 | |
Ashouri et al. | Analyzing distributed deep neural network deployment on edge and cloud nodes in IoT systems | |
CN114706675A (zh) | 基于云边协同系统的任务部署方法及装置 | |
CN108427854B (zh) | 一种数据分析方法及其相关设备 | |
CN111324444A (zh) | 一种云计算任务调度方法及装置 | |
US20230408998A1 (en) | Data collection-analysis module, method for operating data collection-analysis module, and programmable logic controller | |
CN115952009B (zh) | 基于算网融合特征的数据中心推荐方法及装置 | |
CN116450485B (zh) | 一种应用性能干扰的检测方法和系统 | |
CN112596901A (zh) | 云平台自动化部署与运行方法、电子设备及存储介质 | |
Wang et al. | Estimation-Based Strategy Generation for Deep Neural Network Model Compression |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |