CN111353584B - 一种基于时间序列分析的深度学习训练任务行为预测方法 - Google Patents
一种基于时间序列分析的深度学习训练任务行为预测方法 Download PDFInfo
- Publication number
- CN111353584B CN111353584B CN202010104955.7A CN202010104955A CN111353584B CN 111353584 B CN111353584 B CN 111353584B CN 202010104955 A CN202010104955 A CN 202010104955A CN 111353584 B CN111353584 B CN 111353584B
- Authority
- CN
- China
- Prior art keywords
- task
- seasonal
- gpu utilization
- deep learning
- 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
Links
Images
Classifications
-
- 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/04—Architecture, e.g. interconnection topology
- G06N3/045—Combinations of networks
-
- 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
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
-
- 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/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
-
- 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)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Health & Medical Sciences (AREA)
- Life Sciences & Earth Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Computation (AREA)
- Data Mining & Analysis (AREA)
- Neurology (AREA)
- Quality & Reliability (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开一种基于时间序列分析的深度学习训练任务运行行为的预测方法,包括收集GPU利用率和训练任务信息和任务指标;将GPU利用率视为时间序列样本,通过傅立叶变换时域为频域得到振幅‑时间的频谱图,在频谱图上取最大值对应的时间为GPU利用率周期;以GPU利用率周期为SARIMA模型的季节长度S,以GPU利用率为训练数据,迭代训练SARIMA模型,依据评估指标选择最优的SARIMA模型进行时间序列指标的GPU利用率预测;利用GPU利用率周期结合任务指标采用曲线拟合方法预测训练任务精度的变化趋势以获取训练任务满意精度时的迭代次数,迭代次数乘以所获取的训练任务周期得到训练任务执行时间预测。本发明细粒度地特征化DNN工作负载并预测了工作负载行为。
Description
技术领域
本发明涉及深度学习领域,尤其涉及一种基于时间序列分析的深度学习训练任务行为预测方法。
背景技术
虽然现阶段已经有很多基准测试程序被设计出来用于评估深度学习模型,但是目前还没有细致分析GPU上执行的工作负载的运行时特征以及预测深度学习模型行为的研究。
深度学习:深度神经网络(Deep Neural Network,DNN)是一种模拟人脑神经细胞的模型。其包含N层(N>2)神经网络,每层实际上是输入数据的一种变换。经过多次变换后可以提取一些隐藏在输入数据背后深层次的特征。这种变换通过神经元的权重以及激活函数来实现。一个DNN模型由很多模型参数(例:权重)以及超参数(例:学习率、批大小)组成。DNN训练过程即决定模型参数的过程,训练过程旨在寻找更优的权重来使得损失函数(估量模型的预测值与真实值的不一致程度)达到极小值,调整权重的常见算法如随机梯度下降(Stochastic Gradient Descent,SGD)。为了简化及加速训练过程,催生出很多深度学习框架,例如Tensorflow、Pytorch、Caffe。深度学习框架通过高级语言接口简化DNN的训练及验证过程。因为其大大减少了实现DNN模型的复杂度,所以有众多学者和开发者受益于这些深度学习框架随着深度学习在诸多领域的成功应用(例如:图像分类、语音识别),新兴的深度学习模型以及框架也越来越多。其中以深度神经网络(Deep Neural Networks,DNN)为核心的深度学习模型已经被广泛的研究。并且衍生了许多与DNN相关的经典模型例如,例如卷积神经网络(Convolutional Neural Network,CNN)、递归神经网络(Recurrent NeuralNetwork,RNN)。同时催生了大数据集以及强力的计算设备来训练DNN模型以达到令人满意的准确率。由于现阶段CPU的算力尚不能满足大批量的DNN模型训练需求,所以开发者通常使用并行程度更高的GPU来加速训练任务。
GPU的大量使用催生了GPU提供方(比如云资源厂商、数据中心)分析、优化、调度训练任务的需求,GPU资源有限的情况下,如何最优化分配GPU以获得更大GPU使用率成为新的研究点。
随着深度学习在诸多领域的成功应用(例如:图像分类、语音识别),新兴的深度学习模型以及框架也越来越多。其中以深度神经网络DNN为核心的深度学习模型已经被广泛的研究。并且衍生了许多与DNN相关的经典模型例如,例如卷积神经网络CNN、递归神经网络RNN。为了简化设计新DNN模型的难度,行业催生了很多深度学习框架包括Tensorflow、PyTorch、Caffe,并且这些深度框架得到了广泛使用。同时也催生了大数据集以及强力的计算设备来训练DNN模型以达到令人满意的准确率。由于现阶段CPU的算力尚不能满足大批量的DNN模型训练需求,所以开发者通常使用并行程度更高的GPU来加速训练任务。而为了全面理解并优化DNN模型,相关的基准测试程序(benchmark)工具也必不可少。
最近,有一些工作集中在对深度学习框架进行基准测试以及分析其负载特征上,他们主要通过设计benchmark并以此分析影响DNN模型性能关键性的评估指标(例如:训练时长、测试时长以及准确率)的重要因素(例如:mini-batch的大小)。但是他们比较少关注分析更详细的DNN模型负载特征(例如:训练期间GPU的利用率、热点张量操作的执行时间)。这些详细的特征对于理解和优化DNN模型的训练过程有很大帮助。如果能知道DNN模型训练时GPU在每个阶段的利用率,那么就能够优化任务调度来使GPU利用率最大化以提高资源利用率、缩短训练时间,最终使得深度学习训练任务更高效。
发明内容
本发明为克服上述现有技术所述的至少一种缺陷(不足),提供一种基于时间序列分析的深度学习训练任务运行时行为预测方法。
本发明旨在至少在一定程度上解决上述技术问题。
为了达到上述技术效果,本发明的技术方案如下:
一种基于时间序列分析的深度学习训练任务运行行为的预测方法,包括:
S1收集系统指标及任务指标,其中系统指标至少包括GPU利用率,任务指标至少包括训练任务信息、最大训练迭代次数和训练任务精度;
S2获取GPU利用率的数据并将其视为时间序列样本,将时间序列样本通过傅立叶变换DFT使其时域转换为频域得到振幅-时间的频谱图,转换后的频谱图谱上取最大值对应的时间为GPU利用率周期;
S3以所获取的GPU利用率周期作为SARIMA模型的季节长度S,以GPU利用率数据为训练数据,迭代训练SARIMA模型,依据评估指标选择最优的SARIMA模型进行时间序列指标的GPU利用率预测;
S4:利用所获取的GPU利用率周期结合任务指标采用曲线拟合方法预测训练任务精度的变化趋势以获取训练任务满意精度时的迭代次数,迭代次数乘以所获取的训练任务周期得到训练任务执行时间预测。
优选地,所述S20具体如下:
S201将GPU利用率数据处理为时间序列样本xn,使用离散型傅立叶变换DFT将时间序列样本xn映射到频域的序列Xk,离散型傅里叶变换的公式为:
其中,xn为时间序列样本,n为时间序列样本数,N为时间序列样本总量,k是0到N/2的样本点序号,采样为均匀采样,采样点之间为固定的采样间隔,周期为k乘以采样间隔,|Xk|表示傅立叶DFT变换后的振幅,i为虚数单位,由此获得的|Xk|为y轴,频率为x轴的频谱图,将时间序列的样本对应换算到频谱图,取频谱图上最大值周期对应的时间为GPU利用率周期。
优选地,所述S20还包括:
S202:使用一个自相关函数R来获取GPU利用率周期,自相关函数的定义如下所示:
其中,m为GPU利用率间隔周期的取值,x为GPU利用率时间序列的样本点,xt为t时刻GPU利用率的取值,xt-m为t-m时刻GPU利用率的取值,u为x的均值,σ2为x的方差,R(m)衡量GPU利用率间隔周期m时长的相关性,相关性最强的m为GPU利用率周期。
优选地,所述S30具体如下:
S301采用季节性差分自回归滑动平均模型SARIMA预测具有季节性变换的时间序列,其数学定义如下:
Φp(L)=(1-φ1L-φtL2-...-φ1Lp)
Ap(LS)=(1-α1LS-α2L2S-...-αPLPS)
其中,yt为输入的GPU利用率数据,L为yt非季节性的滞后算子,LS为yt季节性的滞后算子,Δ为对yt的非季节差分,ΔS为对yt的季节性差分,d为非季节差分次数,D为季节性差分次数,Φp(L)为非季节自回归特征多项式,Ap(LS)为季节自回归特征多项式,Θq(L)为非季节移动平均特征多项式,BQ(Ls)为季节移动平均特征多项式,p为非季节自回归特征多项式的阶数,P为季节自回归特征多项式的阶数,q为非季节移动平均特征多项式的阶数,Q为季节移动平均特征多项式的阶数,ut为残差序列,将模型SARIMA的数学定义简写为:
SARIMA(p,d,q)(P,D,Q)S;
S302根据评估指标确定p、d、q、P、D、Q六个参数的所有值;
S303将S2获取的GPU利用率周期代入SARIMA模型的季节周期参数S,通过穷举法遍历模型p、d、q、P、D、Q六个参数的所有值,由此获得所有可能的SARIMA模型;
S304对每个SARIMA模型依据评估指标挑选出最优的一个模型;
S305使用最优的模型完成预测GPU利用率的工作。
优选地,所述评估指标用于提供权衡模型拟合数据优良性的标准,其依据赤池信息准则AIC,赤池信息准则AIC定义为:
AIC=-2lnL+2(p+q+P+Q)
其中n为时间序列样本数,似然函数L通过SARIMA模型回归结果的准确率来衡量,p、q、P、Q为SARIMA模型的相应参数,p为非季节自回归特征多项式的阶数,P为季节自回归特征多项式的阶数,q为非季节移动平均特征多项式的阶数,Q为季节移动平均特征多项式的阶数;
赤池信息准则AIC采用最小原则定阶,即选择AIC最小的SARIMA模型。
优选地,所述评估指标还可以依据贝叶斯信息准则BIC,贝叶斯信息准则BIC定义为:
BIC=kln(n)-2ln(L)
其中k表示模型参数个数,n为时间序列样本数,似然函数L通过SARIMA模型回归结果的准确率来衡量;
贝叶斯信息准则BIC采用最小原则定阶,即选择BIC最小的SARIMA模型。
优选地,所述S40具体为:
S401:根据训练任务信息判断任务停止方式,若任务达到指定训练精度停止时进入S402,若任务达到最大迭代次数停止时进入S403;
S402:采用最小二乘法拟合预测训练任务的精度变化,求得达到任务精度要求时的迭代次数,转至S404;
S403:直接获取到最大迭代次数;
S404:根据S402或S403所获取的最大迭代次数与GPU利用率周期相乘得到深度学习训练任务的执行时间。
优选地,所述S40中还可以采用逻辑回归的方法预测训练任务的精度变化求得达到任务精度要求时迭代次数。
优选地,所述S1具体为:
S101通用Linuxptrace系统调用工作负载指标收集工具;
S102使用工作负载指标收集工具收集系统指标和任务指标;
S103利用Linuxptrace系统结合深度学习框架获取任务指标,其中在深度学习框架进行深度学习的工作负载计算工作均在GPU上执行;
S104使用NVDIA的GPU分析工具收集系统指标的GPU利用率。
优选地,所述深度学习框架为Tensorflow框架。
与现有技术相比,本发明技术方案的有益效果是:本发明通过时间序列分析预测深度学习训练任务运行时行为,无需源码插桩即可自动化获取热点张量操作,结合傅立叶变换和自相关函数输出正确的深度学习训练任务迭代周期,将周期作为已知参数代入季节性差分回归滑动平均模型,再利用信息准则筛选最优模型,用筛选出的最优模型预测训练任务的GPU使用率。此外结合周期与训练任务信息可估计整个任务的执行时间。
附图说明
图1为本发明的方法流程示意图。
图2为本发明一实施例的DFT转换得到的频谱图,图中最高点A对应的x轴时间即为GPU利用率周期;
图3为本发明曲线拟合预测训练任务执行时间示意图。
具体实施方式
在本发明的描述中,需要理解的是,术语“中心”、“纵向”、“横向”、“长度”、“宽度”、“厚度”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”“内”、“外”、“顺时针”、“逆时针”、“轴向”、“径向”、“周向”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。
此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者隐含地包括至少一个该特征。在本发明的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。
在本发明中,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”、“固定”等术语应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或成一体;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通或两个元件的相互作用关系,除非另有明确的限定。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
在本发明中,除非另有明确的规定和限定,第一特征在第二特征“上”或“下”可以是第一和第二特征直接接触,或第一和第二特征通过中间媒介间接接触。而且,第一特征在第二特征“之上”、“上方”和“上面”可是第一特征在第二特征正上方或斜上方,或仅仅表示第一特征水平高度高于第二特征。第一特征在第二特征“之下”、“下方”和“下面”可以是第一特征在第二特征正下方或斜下方,或仅仅表示第一特征水平高度小于第二特征。
在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不必须针对的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任一个或多个实施例或示例中以合适的方式结合。此外,在不相互矛盾的情况下,本领域的技术人员可以将本说明书中描述的不同实施例或示例以及不同实施例或示例的特征进行结合和组合。
尽管上面已经示出和描述了本发明的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本发明的限制,本领域的普通技术人员在本发明的范围内可以对上述实施例进行变化、修改、替换和变型。
为了更好说明本实施例,附图某些部件会有省略、放大或缩小,并不代表实际产品的尺寸;
对于本领域技术人员来说,附图中某些公知结构及其说明可能省略是可以理解的。
下面结合附图和实施例对本发明的技术方案做进一步的说明。
一种基于时间序列分析的深度学习训练任务运行行为的预测方法,包括:
S1收集系统指标及任务指标,其中系统指标至少包括GPU利用率,任务指标至少包括训练任务信息、最大训练迭代次数和训练任务精度;
S2获取GPU利用率的数据并将其视为时间序列样本,将时间序列样本通过傅立叶变换DFT使其时域转换为频域得到振幅-时间的频谱图,转换后的频谱图谱上取最大值对应的时间为GPU利用率周期;
S3以所获取的GPU利用率周期作为SARIMA模型的季节长度S,以GPU利用率数据为训练数据,迭代训练SARIMA模型,依据评估指标选择最优的SARIMA模型进行时间序列指标的GPU利用率预测;
S4:利用所获取的GPU利用率周期结合任务指标采用曲线拟合方法预测训练任务精度的变化趋势以获取训练任务满意精度时的迭代次数,迭代次数乘以所获取的训练任务周期得到训练任务执行时间预测。
在本实施例中,本发明细粒度地特征化DNN工作负载并预测了工作负载行为,预测训练任务执行时间,预测GPU利用率,在深度神经网络(Deep Neural Network,DNN)模型训练时,工作负载计算工作通常均在GPU上执行,那么得到GPU在每个阶段的利用率,就能够优化任务调度来使GPU利用率最大化以提高资源利用率、缩短训练时间。
深度神经网络(Deep Neural Network,DNN)是一种模拟人脑神经细胞的模型。其包含N层(N>2)神经网络,每层实际上是输入数据的一种变换。经过多次变换后可以提取一些隐藏在输入数据背后深层次的特征。这种变换通过神经元的权重以及激活函数来实现。一个DNN模型由很多模型参数(例:权重)以及超参数(例:学习率、批大小)组成。DNN训练过程即决定模型参数的过程,训练过程旨在寻找更优的权重来使得损失函数(估量模型的预测值与真实值的不一致程度)达到极小值,调整权重的常见算法如随机梯度下降(Stochastic Gradient Descent,SGD)。为了简化及加速训练过程,催生出很多深度学习框架,例如Tensorflow、Pytorch、Caffe。深度学习框架通过高级语言接口简化DNN的训练及验证过程。因为其大大减少了实现DNN模型的复杂度。
SARIMA模型(Seasonal Autoregressive Intergrated Moving Average,季节性差分自回归滑动平均模型,全文中简称SARIMA模型)是时间序列预测模型,特别是周期性的时间序列,本申请抓住了GPU利用率的周期性且为非平稳性时间序列,将其应用于SARIMA模型以预测GPU利用率。傅里叶变换将其由时域转换到频域的序列X,常用于信号处理领域,在本申请中用于提取GPU利用率曲线的周期。曲线拟合,最简单的回归分析,在本申请中用于粗略估计训练任务的执行时间。资源利用率是系统管理员观察深度学习任务运行时状态的重要指标。一个稳定的工作负载意味着它的执行时间不会随着运行次数的变化而变化。
优选地,所述S20具体如下:
S201将GPU利用率数据处理为时间序列样本xn,使用离散型傅立叶变换DFT将时间序列样本xn映射到频域的序列Xk,离散型傅里叶变换的公式为:
其中,xn为时间序列样本,n为时间序列样本数,N为时间序列样本总量,k是0到N/2的样本点序号,采样为均匀采样,采样点之间为固定的采样间隔,周期为k乘以采样间隔,|Xk|表示傅立叶DFT变换后的振幅,i为虚数单位,由此获得的|Xk|为y轴,频率为x轴的频谱图,将时间序列的样本对应换算到频谱图,取频谱图上最大值周期对应的时间为GPU利用率周期。
在本实施例中,本发明通过离散型傅立叶变换DFT将GPU利用率的时间序列转换到频域序列,通常转换后的频谱上最大值对应的时间代表了GPU利用率时间序列的周期。
优选地,所述S20还包括:
S202:使用一个自相关函数R来获取GPU利用率周期,自相关函数的定义如下所示:
其中,m为GPU利用率间隔周期的取值,x为GPU利用率时间序列的样本点,xt为t时刻GPU利用率的取值,xt-m为t-m时刻GPU利用率的取值,u为x的均值,σ2为x的方差,R(m)衡量GPU利用率间隔周期m时长的相关性,相关性最强的m为GPU利用率周期。
在本实施例中,本发明考虑到频谱图上最大值对应的周期未必是工作负载的迭代周期,可能是周期内更小的波动,为了纠正这种干扰,本发明使用自相关函数来获取更为真实的工作负载(GPU利用率)的周期。
优选地,所述S30具体如下:
S301采用季节性差分自回归滑动平均模型SARIMA预测具有季节性变换的时间序列,其数学定义如下:
Φp(L)=(1-φtL-φ1L2-...-φ1Lp)
Ap(LS)=(1-α1LS-α2L2S-...-αPLPS)
其中,yt为输入的GPU利用率数据,L为yt非季节性的滞后算子,LS为yt季节性的滞后算子,Δ为对yt的非季节差分,ΔS为对yt的季节性差分,d为非季节差分次数,D为季节性差分次数,Φp(L)为非季节自回归特征多项式,Ap(LS)为季节自回归特征多项式,Θq(L)为非季节移动平均特征多项式,BQ(LS)为季节移动平均特征多项式,p为非季节自回归特征多项式的阶数,P为季节自回归特征多项式的阶数,q为非季节移动平均特征多项式的阶数,Q为季节移动平均特征多项式的阶数,ut为残差序列,将模型SARIMA的数学定义简写为:
SARIMA(p,d,q)(P,D,Q)S;
S302根据评估指标确定p、d、q、P、D、Q六个参数的所有值;
S303将S2获取的GPU利用率周期代入SARIMA模型的季节周期参数S,通过穷举法遍历模型p、d、q、P、D、Q六个参数的所有值,由此获得所有可能的SARIMA模型;
S304对每个SARIMA模型依据评估指标挑选出最优的一个模型;
S305使用最优的模型完成预测GPU利用率的工作。
在本实施例中,本发明的SARIMA模型是由普通差分自回归滑动平均模型(Autoregressive Integrated MovingAverage,ARIMA)上添加季节性参数组成:ARIMA(p,d,q)
ARIMA由AR(自回归项)、I(差分项)、MA(移动平均项)三个部分组成,分别对应模型的p、d、q三个参数,其中p用于预测下个值的过去值,d表示对原序列进行差分的次数,而q表示预测误差的数目。p、d、q均为整数,而且数值通常不会很大(通常在10以内)。正常的p、q参数确定方式是分别使用PACF、ACF图来确定,然而其需要人工确定,PACF与ACF确定p和q的过程并不直观,不能自动化。
SARIMA是一个被广泛用于预测具有季节性变换的时间序列的模型。其数学定义如下:
SARIMA(p,d,q)(P,D,Q)S
其中S是季节性序列的周期,这里指GPU利用率的变换周期,这个周期已经在前文中使用离散型傅里叶变换获取到。p、d、q分别是非季节自回归阶数、正规差分和非季节移动平均阶数。P、D、Q分别是季节自回归阶数、季节差分和季节移动平均阶数。上述p、d、q和P、D、Q六个参数可以通过赤池信息准则和贝叶斯信息准则来确定。
优选地,所述评估指标用于提供权衡模型拟合数据优良性的标准,其依据赤池信息准则AIC,赤池信息准则AIC定义为:
AIC=-2lnL+2(p+q+P+Q)
其中n为时间序列样本数,似然函数L通过SARIMA模型回归结果的准确率来衡量,p、q、P、Q为SARIMA模型的相应参数,p为非季节自回归特征多项式的阶数,P为季节自回归特征多项式的阶数,q为非季节移动平均特征多项式的阶数,Q为季节移动平均特征多项式的阶数;
赤池信息准则AIC采用最小原则定阶,即选择AIC最小的SARIMA模型。
优选地,所述评估指标还可以依据贝叶斯信息准则BIC,贝叶斯信息准则BIC定义为:
BIC=k ln(n)-2 ln(L)
其中k表示模型参数个数,n为时间序列样本数,似然函数L通过SARIMA模型回归结果的准确率来衡量;
贝叶斯信息准则BIC采用最小原则定阶,即选择BIC最小的SARIMA模型。
在本实施例中,评估指标在赤池信息准则AIC和贝叶斯信息准则BIC之间优先AIC准则。
优选地,所述S40具体为:
S401:根据训练任务信息判断任务停止方式,若任务达到指定训练精度停止时进入S402,若任务达到最大迭代次数停止时进入S403;
S402:采用最小二乘法拟合预测训练任务的精度变化,求得达到任务精度要求时的迭代次数,转至S404;
S403:直接获取到最大迭代次数;
S404:根据S402或S403所获取的最大迭代次数与GPU利用率周期相乘得到深度学习训练任务的执行时间。
优选地,所述S40中还可以采用逻辑回归的方法预测训练任务的精度变化求得达到任务精度要求时迭代次数。
在本实施例中,本发明考虑到一个深度学习训练任务通常在测试集上达到预先设置的准确率或者达到最大迭代次数后停止。为应对上述两种不同的任务停止方式,本发明使用不同的方法来预测训练任务的完成时间。如果一个深度学习训练任务是在测试集上达到一定的准确率时停止,那么其完成时间可以用回归的方式预测。对于迭代次数较多、样本点足够的训练任务,可以使用逻辑回归的方式预测其准确率的变化,从而推断任务的完成时间。
在本实施例中,本发明考虑到样本点不够的情况,逻辑回归的效果不理想,采用曲线拟合方式进行预测。本发明采用最小二乘法,使用一个多项式函数和一个对数函数对样本点进行拟合。
优选地,所述S10具体为:
S101通用Linux ptrace系统调用工作负载指标收集工具;
S102使用工作负载指标收集工具收集系统指标和任务指标;
S103利用Linux ptrace系统结合深度学习框架获取任务指标,其中在深度学习框架进行深度学习的工作负载计算工作均在GPU上执行;
S104使用NVDIA的GPU分析工具收集系统指标的GPU利用率。
优选地,所述深度学习框架为Tensorflow框架。
在本实施例中,本发明在指标数据收集阶段,使用Linux ptrace系统的工作负载指标收集工具(比如Linux ps命令)收集GPU利用率等系统指标,ptrace用于监测和修改子进程的运行。所有工作负载均采用Python语言实现,本发明利用ptrace结合深度学习框架源码获取函数调用信息和张量操作,比如Tensorflow框架的tensor操作。同时使用NVDIA的GPU分析工具(nvprof和nvidia-smi)收集CUDA执行以及GPU利用率等指标数据。
相同或相似的标号对应相同或相似的部件;
附图中描述位置关系的用于仅用于示例性说明,不能理解为对本专利的限制;
显然,本发明的上述实施例仅仅是为清楚地说明本发明所作的举例,而并非是对本发明的实施方式的限定。对于所属领域的普通技术人员来说,在上述说明的基础上还可以做出其它不同形式的变化或变动。这里无需也无法对所有的实施方式予以穷举。凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明权利要求的保护范围之内。
Claims (9)
1.一种基于时间序列分析的深度学习训练任务运行行为的预测方法,其特征在于,包括,
S1收集系统指标及任务指标,其中系统指标至少包括GPU利用率,任务指标至少包括训练任务信息、最大训练迭代次数和训练任务精度;
S2获取GPU利用率的数据并将其视为时间序列样本,将时间序列样本通过傅立叶变换DFT使其时域转换为频域得到振幅-时间的频谱图,转换后的频谱图谱上取最大值对应的时间为GPU利用率周期;
S3以所获取的GPU利用率周期作为SARIMA模型的季节长度S,以GPU利用率数据为训练数据,迭代训练SARIMA模型,依据评估指标选择最优的SARIMA模型进行时间序列指标的GPU利用率预测;具体如下:
S301采用季节性差分自回归滑动平均模型SARIMA预测具有季节性变换的时间序列,其数学定义如下:
Φp(L)=(1-φ1L-φ1L2-...-φ1Lp)
Ap(LS)=(1-α1LS-α2L2S-...-αPLPS)
其中,yt为输入的GPU利用率数据,L为yt非季节性的滞后算子,LS为yt季节性的滞后算子,Δ为对yt的非季节差分,ΔS为对yt的季节性差分,d为非季节差分次数,D为季节性差分次数,Φp(L)为非季节自回归特征多项式,Ap(LS)为季节自回归特征多项式,Θq(L)为非季节移动平均特征多项式,BQ(LS)为季节移动平均特征多项式,p为非季节自回归特征多项式的阶数,P为季节自回归特征多项式的阶数,q为非季节移动平均特征多项式的阶数,Q为季节移动平均特征多项式的阶数,ut为残差序列,将模型SARIMA的数学定义简写为:
SARIMA(p,d,q)(P,D,Q)s;
S302根据评估指标确定p、d、q、P、D、Q六个参数的所有值;
S303将S2获取的GPU利用率周期代入SARIMA模型的季节周期参数S,通过穷举法遍历模型p、d、q、P、D、Q六个参数的所有值,由此获得所有可能的SARIMA模型;
S304对每个SARIMA模型依据评估指标挑选出最优的一个模型;
S305使用最优的模型完成预测GPU利用率的工作;
S4:利用所获取的GPU利用率周期结合任务指标采用曲线拟合方法预测训练任务精度的变化趋势以获取训练任务满意精度时的迭代次数,迭代次数乘以所获取的训练任务周期得到训练任务执行时间预测。
4.如权利要求1所述的基于时间序列的深度学习训练任务运行时行为预测方法,其特征在于,所述评估指标用于提供权衡模型拟合数据优良性的标准,其依据赤池信息准则AIC,赤池信息准则AIC定义为:
AIC=-2ln L+2(p+q+P+Q)
其中n为时间序列样本数,似然函数L通过SARIMA模型回归结果的准确率来衡量,p、q、P、Q为SARIMA模型的相应参数,p为非季节自回归特征多项式的阶数,P为季节自回归特征多项式的阶数,q为非季节移动平均特征多项式的阶数,Q为季节移动平均特征多项式的阶数;
赤池信息准则AIC采用最小原则定阶,即选择AIC最小的SARIMA模型。
5.如权利要求1所述的基于时间序列的深度学习训练任务运行时行为预测方法,其特征在于,所述评估指标还依据贝叶斯信息准则BIC,贝叶斯信息准则BIC定义为:
BIC=k ln(n)-2ln(L)
其中k表示模型参数个数,n为时间序列样本数,似然函数L通过SARIMA模型回归结果的准确率来衡量;
贝叶斯信息准则BIC采用最小原则定阶,即选择BIC最小的SARIMA模型。
6.如权利要求1所述的基于时间序列的深度学习训练任务运行时行为预测方法,其特征在于,所述S4具体为:
S401:根据训练任务信息判断任务停止方式,若任务达到指定训练精度停止时进入S402,若任务达到最大迭代次数停止时进入S403;
S402:采用最小二乘法拟合预测训练任务的精度变化,求得达到任务精度要求时的迭代次数,转S404;
S403:直接获取到最大迭代次数;
S404:根据S402或S403所获取的最大迭代次数与GPU利用率周期相乘得到深度学习训练任务的执行时间。
7.如权利要求6所述的基于时间序列的深度学习训练任务运行时行为预测方法,其特征在于,所述S4中采用逻辑回归的方法预测训练任务的精度变化求得达到任务精度要求时迭代次数。
8.如权利要求1所述的基于时间序列的深度学习训练任务运行时行为预测方法,其特征在于,所述S1具体为:
S101通用Linux ptrace系统调用工作负载指标收集工具;
S102使用工作负载指标收集工具收集系统指标和任务指标;
S103利用Linuxptrace系统结合深度学习框架获取任务指标,其中在深度学习框架进行深度学习的工作负载计算工作均在GPU上执行;
S104使用NVDIA的GPU分析工具收集系统指标的GPU利用率。
9.如权利要求8所述的基于时间序列的深度学习训练任务运行时行为预测方法,其特征在于,所述深度学习框架为Tensorflow框架。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010104955.7A CN111353584B (zh) | 2020-02-20 | 2020-02-20 | 一种基于时间序列分析的深度学习训练任务行为预测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010104955.7A CN111353584B (zh) | 2020-02-20 | 2020-02-20 | 一种基于时间序列分析的深度学习训练任务行为预测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111353584A CN111353584A (zh) | 2020-06-30 |
CN111353584B true CN111353584B (zh) | 2023-04-07 |
Family
ID=71197070
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010104955.7A Active CN111353584B (zh) | 2020-02-20 | 2020-02-20 | 一种基于时间序列分析的深度学习训练任务行为预测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111353584B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111986808B (zh) * | 2020-07-30 | 2023-12-12 | 珠海中科先进技术研究院有限公司 | 健康保险风险评估及控制的方法、装置及介质 |
CN112488496A (zh) * | 2020-11-27 | 2021-03-12 | 山东浪潮通软信息科技有限公司 | 一种财务指标预测方法及装置 |
CN115080253B (zh) * | 2022-08-23 | 2022-11-22 | 小米汽车科技有限公司 | Gpu任务的分配方法、装置、电子设备和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107525588A (zh) * | 2017-08-16 | 2017-12-29 | 北京理工大学 | 一种基于gpu的双相机光谱成像系统的快速重构方法 |
CN108304355A (zh) * | 2018-02-08 | 2018-07-20 | 北京工业大学 | 一种基于sarima-wnn模型预测弹性云计算资源的方法 |
CN110751562A (zh) * | 2019-10-29 | 2020-02-04 | 山东科技大学 | 一种外汇时间序列预测的训练优化方法 |
-
2020
- 2020-02-20 CN CN202010104955.7A patent/CN111353584B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107525588A (zh) * | 2017-08-16 | 2017-12-29 | 北京理工大学 | 一种基于gpu的双相机光谱成像系统的快速重构方法 |
CN108304355A (zh) * | 2018-02-08 | 2018-07-20 | 北京工业大学 | 一种基于sarima-wnn模型预测弹性云计算资源的方法 |
CN110751562A (zh) * | 2019-10-29 | 2020-02-04 | 山东科技大学 | 一种外汇时间序列预测的训练优化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN111353584A (zh) | 2020-06-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111353584B (zh) | 一种基于时间序列分析的深度学习训练任务行为预测方法 | |
JP5734961B2 (ja) | 多変数プロセス制御においてモデルの品質を推定しモデルを適応させる装置およびその方法 | |
CN1234092C (zh) | 一种适用于计算机辅助医疗诊断的预测建模方法 | |
Shepperd | Software project economics: a roadmap | |
US20090281770A1 (en) | Platform matching systems and methods | |
JP2012528392A5 (zh) | ||
Zhou et al. | A study of polynomial fit-based methods for qualitative trend analysis | |
Zhou et al. | An in-depth investigation into the relationships between structural metrics and unit testability in object-oriented systems | |
Kapila et al. | Analysis of CK metrics to predict software fault-proneness using bayesian inference | |
Ehrendorfer et al. | Conformance checking and classification of manufacturing log data | |
CN113742248A (zh) | 一种基于项目测量数据进行组织过程预测的方法及系统 | |
Boussaa et al. | Notice: A framework for non-functional testing of compilers | |
Nazir et al. | Testability estimation model (TEM OOD) | |
Singh et al. | Modular performance prediction for scientific workflows using machine learning | |
Kläs et al. | Predicting defect content and quality assurance effectiveness by combining expert judgment and defect data-a case study | |
CN113610387B (zh) | 基于全局谱特征融合的设备服役性能退化评估方法及系统 | |
Wen et al. | PerfDoc: Automatic performance bug diagnosis in production cloud computing infrastructures | |
Martinec et al. | Modelling proportions and sequences of operations in team design activities | |
US20240283750A1 (en) | Method for predicting resource usage for applications in a distributed system | |
Khikmah | COMPARISON OF ARIMA AND GARMA'S PERFORMANCE ON DATA ON POSITIVE COVID-19 CASES IN INDONESIA | |
Witt et al. | A Systematic Approach for Evaluating Deep Learning Workloads | |
Meena | Development of Homogenous Cross-Project Defect Prediction Model Using Artificial Neural Network | |
Cardoso et al. | Computing coupling for business process models | |
Robredo et al. | Evaluating Time-Dependent Methods and Seasonal Effects in Code Technical Debt Prediction | |
CN116739417A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |