CN116861957A - 一种基于强化学习的算子自动调优方法及相关装置 - Google Patents
一种基于强化学习的算子自动调优方法及相关装置 Download PDFInfo
- Publication number
- CN116861957A CN116861957A CN202310862565.XA CN202310862565A CN116861957A CN 116861957 A CN116861957 A CN 116861957A CN 202310862565 A CN202310862565 A CN 202310862565A CN 116861957 A CN116861957 A CN 116861957A
- Authority
- CN
- China
- Prior art keywords
- operator
- network
- tuning
- sample
- training
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000002787 reinforcement Effects 0.000 title claims abstract description 21
- 238000012549 training Methods 0.000 claims abstract description 37
- 230000008569 process Effects 0.000 claims abstract description 35
- 238000005070 sampling Methods 0.000 claims abstract description 32
- 230000006870 function Effects 0.000 claims abstract description 24
- 238000004422 calculation algorithm Methods 0.000 claims abstract description 21
- 230000015654 memory Effects 0.000 claims abstract description 17
- 238000009499 grossing Methods 0.000 claims abstract description 7
- 230000009471 action Effects 0.000 claims description 45
- 238000004590 computer program Methods 0.000 claims description 20
- 239000013598 vector Substances 0.000 claims description 14
- 239000003795 chemical substances by application Substances 0.000 claims description 8
- 238000010276 construction Methods 0.000 claims description 8
- 230000003993 interaction Effects 0.000 claims description 3
- 230000001105 regulatory effect Effects 0.000 claims 1
- 238000013507 mapping Methods 0.000 abstract description 3
- 238000005259 measurement Methods 0.000 abstract 1
- 238000005457 optimization Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 7
- 238000004364 calculation method Methods 0.000 description 5
- 238000013528 artificial neural network Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000006399 behavior Effects 0.000 description 3
- 238000010845 search algorithm Methods 0.000 description 3
- 230000006403 short-term memory Effects 0.000 description 3
- 238000013461 design Methods 0.000 description 2
- 238000011156 evaluation Methods 0.000 description 2
- 230000007787 long-term memory Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000011160 research Methods 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 241000122205 Chamaeleonidae Species 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000012512 characterization method Methods 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000002360 explosive Substances 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000007637 random forest analysis Methods 0.000 description 1
- 238000002922 simulated annealing Methods 0.000 description 1
- 235000012167 tiramisu Nutrition 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
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/044—Recurrent networks, e.g. Hopfield networks
- G06N3/0442—Recurrent networks, e.g. Hopfield networks characterised by memory or gating, e.g. long short-term memory [LSTM] or gated recurrent units [GRU]
-
- 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
- G06N3/092—Reinforcement learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N7/00—Computing arrangements based on specific mathematical models
- G06N7/01—Probabilistic graphical models, e.g. probabilistic networks
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biophysics (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biomedical Technology (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Probability & Statistics with Applications (AREA)
- Algebra (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明公开了一种基于强化学习的算子自动调优方法及相关装置,基于长短时记忆网络的策略网络,策略网络会顺序地选择各个待调优参数的值,调优参数组合对应的算子实现在目标硬件上的实测算力值将作为奖励信号,使用REINFORCE算法计算梯度来更新策略网络。为了加快策略网络的收敛,使用了小批量梯度下降训练的REINFORCE算法。为了减少不必要的硬件采样,本发明提出了一个可以预测样本和性能之间映射关系的开销模型,并使用该模型的推理预测代替真实的硬件采样,来加速自动调优的搜索过程。开销模型使用梯度提升树对历史采样数据进行回归拟合,根据核平滑方法处理后的标签值频率分布设置样本加权目标函数,减少了不平衡的训练集数据标签分布对预测精度的影响。
Description
技术领域
本发明属于神经网络技术领域,涉及一种基于强化学习的算子自动调优方法及相关装置。
背景技术
深度神经网络(Deep Neural Network,DNN)的蓬勃发展为许多应用领域带来了智能化的变革。然而,其巨大的算力需求也对计算硬件提出了新的挑战。然而,要最大限度地利用芯片算力,离不开软件的优化。DNN中的层可以被视为算子,算子在特定硬件上有多种不同的代码实现方式,它们具有不同的计算并行模式、内存使用模式和流水线等处理方式,这些因素都会影响对硬件算力的利用,因此,不同的算子实现方式对应了硬件上不同性能的可执行文件,软件编译过程中“优化”的目标就是从这些逻辑上等价的算子实现方案中找到性能最优的一种。
算子优化是一种硬件相关的优化,要实现对硬件资源的充分利用不仅需要考虑计算本身的特性还需要深入了解目标硬件的架构和指令集特性。由于优化需要覆盖每一种不同输入参数的算子,同时底层硬件在不断迭代发展出新的特性,巨大的工作量让手工算子实现的方式由于缺乏灵活性和泛化性而变得不可持续。在这种背景下,使用自动化方法来优化算子可以极大地提高算子的优化效率。
自动调优将算子的优化问题转化成一个建立和搜索空间的问题。建立空间意味着使用编译器去生成许多逻辑上等价但性能不同的算子实现;搜索空间即通过测试不同算子实现方式在目标硬件上的性能表现,在空间中搜索到性能最优(运行延迟最小)的算子实现,最终将最优的实现方式编译为目标平台上的机器码。
自动调优的搜索空间通常基于模板建立。模板定义了程序的大致框架,同时编译器会提供一些性能相关的可调优参数,调优参数的一种组合在编译时可以绑定某个模板,继而确定一个完整的算子实现。搜索是指将许多不同的调优参数组合,称为样本,编译成对应的算子实现的可执行文件,在目标硬件上测试运行延迟(或算力值),称为采样。不同的搜索算法会以不同的策略不断生成待采样的候选样本。每个候选样本被生成后,在目标硬件上采样测试其性能,搜索过程中需要将性能最高的样本记录在数据库中。
现有技术的缺陷和不足:
算子自动调优过程存在以下两个问题:(1)采样的开销较大。这包括将样本编译成对应的算子实现的开销和运行开销。(2)搜索空间是巨大的。一个算子的搜索空间大小高达数十亿,而一个深度学习模型中许多算子。因此,穷举空间内的所有样本需要的时间开销是不可接受的,算子自动调优的目标是在一个巨大的空间中,用最小的调优时间开销或者说在最少的采样次数内搜索到性能更优的样本。
针对巨大的搜索空间和较高的采样开销引起的调优速度过慢的问题,目前的研究使用了不同的搜索算法实现了算子的自动调优,也有一些研究通过采样数据训练了可以预测样本性能的开销模型来减少不必要的硬件采样开销。Xiaoyang Zhang等人使用了随机搜索算法来寻找最优样本;AutoTVM基于TVM提供的搜索空间,将梯度提升树作为开销模型,使用模拟退火算法进行搜索,同时配合贪心策略引入随机性避免陷入局部最优;Ansor使用了进化算法来生成有潜力的候选样本;AdaTune引入了动态采样机制,自适应地决定评估样本性能所需的采样次数,同时用动态贪心度替代TVM中的恒定贪心度,并使用随机森林这种概率模型来减小模型预测方差的影响;Chameleon使用强化学习算法进行搜索,使用聚簇算法去减少硬件评估次数,同时使用了领域知识做一些启发性的样本生成。Bliss使用超参数优化的思路,利用贝叶斯优化和高斯模型去解决搜索问题。Tiramisu使用了集束搜索和蒙特卡洛树搜索方法,同时使用长短时记忆网络作为开销模型来减少硬件评估次数。MetaTune、Google和Qualcomm使用了图神经网络作为开销模型。
然而,现有的方法无法很好地应对自动调优问题庞大的搜索空间和较大的采样开销,在搜索到满足目标性能的样本之前的时间开销依然很大,不仅需要消耗大量的时间和硬件资源,还存在搜索陷入局部最优的风险。
发明内容
本发明的目的在于解决现有技术中的问题,提供一种基于强化学习的算子自动调优方法及相关装置。
为了实现上述目的,本发明采用以下技术方案予以实现:
第一方面,本发明提供一种基于强化学习的算子自动调优方法,包括以下步骤:
建立卷积算子自动调优的搜索空间;
将自动调优问题建模为马尔科夫决策过程MDP;
基于马尔科夫决策过程MDP,构建LSTM策略网络;
根据LSTM策略网络,设置RLTune的行动奖励;
根据RLTune的行动奖励,使用小批量梯度下降方式的REINFORCE算法训练策略网络;
基于训练好的策略网络,建立能够模拟硬件采样的开销模型。
第二方面,本发明提供一种基于强化学习的算子自动调优方法,包括以下步骤:
搜索空间构建模块,用于建立卷积算子自动调优的搜索空间;
MDP决策过程构建模块,用于将自动调优问题建模为马尔科夫决策过程MDP;
策略网络构建模块,用于基于马尔科夫决策过程MDP,构建LSTM策略网络;
行动奖励设置模块,用于根据LSTM策略网络,设置RLTune的行动奖励;
策略网络训练模块,用于根据RLTune的行动奖励,使用小批量梯度下降方式的REINFORCE算法训练策略网络;
开销模型构建模块,用于基于训练好的策略网络,建立能够模拟硬件采样的开销模型。
第三方面,本发明提供一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述方法的步骤。
第四方面,本发明提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现如上述方法的步骤。
与现有技术相比,本发明具有以下有益效果:
本发明提供一种基于强化学习的算子自动调优方法(RLTune),将算子的自动调优看作是一个马尔可夫决策过程,提出了一种基于长短时记忆网络(Long Short-TermMemory,LSTM)的策略网络,策略网络会顺序地选择各个待调优参数的值,调优参数组合对应的算子实现在目标硬件上的实测算力值将作为奖励信号,使用REINFORCE算法计算梯度来更新策略网络。为了加快策略网络的收敛,使用了小批量梯度下降训练的REINFORCE算法。为了减少不必要的硬件采样,本发明提出了一个可以预测样本和性能之间映射关系的开销模型,并使用该模型的推理预测代替真实的硬件采样,来加速自动调优的搜索过程。开销模型使用梯度提升树对历史采样数据进行回归拟合,根据核平滑方法处理后的标签值频率分布设置样本加权目标函数,减少了不平衡的训练集数据标签分布对预测精度的影响。
附图说明
为了更清楚的说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
图1为本发明方法的流程图。
图2为本发明系统的原理图。
图3为算子自动调优的MDP示意图。
图4为RLTune的策略网络结构图。
图5为基于开销模型的RLTune策略网络的一次训练过程示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。
因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。
在本发明实施例的描述中,需要说明的是,若出现术语“上”、“下”、“水平”、“内”等指示的方位或位置关系为基于附图所示的方位或位置关系,或者是该发明产品使用时惯常摆放的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
此外,若出现术语“水平”,并不表示要求部件绝对水平,而是可以稍微倾斜。如“水平”仅仅是指其方向相对“竖直”而言更加水平,并不是表示该结构一定要完全水平,而是可以稍微倾斜。
在本发明实施例的描述中,还需要说明的是,除非另有明确的规定和限定,若出现术语“设置”、“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本发明中的具体含义。
下面结合附图对本发明做进一步详细描述:
参见图1,本发明实施例公开了一种基于强化学习的算子自动调优方法,包括以下步骤:
S1建立卷积算子自动调优的搜索空间;
设算子自动调优问题的调优参数集合为P,|P|=n。则算子自动调优的搜索空间和目标分别可以表示为公式(1)和(2)。
Λ=Λ1×Λ2×Λ3×…Λn (1)
式中:Λ为算子自动调优的搜索空间;×为笛卡尔积;Λi为第i个调优参数Pi的取值集合;n为调优参数个数;s为样本,一个长度为n的向量,表示搜索空间Λ中的一个调优参数组合;F(s)为样本s对应的算子实现在目标硬件上的运行性能(算力值)。
S2将自动调优问题建模为马尔科夫决策过程MDP(Markov Decision Process,MDP);
对于这个巨大的搜索空间,逐步行动是一种很好的解决思路。强化学习框架中的马尔可夫决策过程(Markov Decision Process,MDP)就可以很好地构建这种顺序决策的行为模式。
自动调优的MDP顺序决策过程如下:
设时间序列t=0,1,2,...,n,在时刻t,基于当前的状态St,智能体根据某个策略,从第t+1个超参数空间Λt+1中选定一个值作为At,记作select(Λt+1),之后得到一个来自环境的奖励Rt+1,同时智能体进入一个新的状态St+1。该MDP对应的行动轨迹序列为:S0,A0,R1,S1,A1,R2,S2,...,An-1,Rn,Sn。在这个的MDP中,RLTune为智能体,目标硬件为环境,它需要反馈行动对应的奖励,如图3所示。
强化学习领域中一种解决MDP的方法为策略梯度方法。根据策略梯度算法,RLTune需要:
1)一种参数化的策略表示,这种策略能够根据RLTune所处的不同的状态给出行动指南。
2)一种行动奖励设置,好的奖励设计对于RLTune的训练效果有着至关重要的影响,因为智能体的目标是最大化一个episode之内的奖励之和。
3)一种学习算法,能够根据行动奖励来更新策略参数,使策略在迭代训练过程中越来越优。
S3基于马尔科夫决策过程MDP,构建LSTM策略网络;
得益于其处理存在依赖关系的序列输入数据的优势,基于LSTM构建策略网络可以更容易地学习到算子调优MDP中的一系列行动所选择的调优参数之间的内部联系,以及这种调优参数组合和其对应的算子性能的关系。策略网络在每个时刻选择一个调优参数,每个阶段的选择相互影响,经过训练LSTM中的短期记忆可以刻画当前时刻的行动的特征,长期记忆可以记录当前时刻之前的所有行动的特征。长短期记忆的特性使得LSTM能够对RLTune的输入状态做很好的刻画。RLTune的策略网络结构设计如图4所示。
与算子待调优参数的个数对应,策略网络的输入可以视为n个时间序列数据。在每个时刻,策略网络包括一个输入(input)、两个全连接层(Full Connection)、一个LSTM循环模块(Cell)、一个Softmax层和一个输出(output)。每一时刻的LSTM Cell为同一个,它们共享网络的结构和权重。
LSTM Cell之间的箭头表示调优参数选择序列中,短期记忆和长期记忆信息的保留及传递。网络的输出为Softmax层计算得到的当前时刻待处理的调优参数取值集合Λi对应的每个候选值的选择概率向量。由于LSTM Cell的输出维度大小是固定的,而策略网络输出维度大小应当与每个调优参数取值集合Pi大小——即候选值数量保持一致,LSTM层和Softmax层之间设置了全连接层。全连接层的输出代表了策略网络对各个行动的偏好。
策略网络的输入向量较为特殊,在t=0时,网络的输入为一个全1的向量。t≠0时,RLTune的输入受上一时刻采取的行动的影响。具体来说,若上一时刻根据输出的概率分布向量p采取了某个行动a,那么当前时刻的输入为一个长度等同于p的独热编码(one-hotcoding)向量,其中1值所在的位置为行动a对应的选择概率在p中的下标。因此,当前时刻输入向量的维度大小取决于上一时刻待调优参数的个数,为不定长的向量。设置输入和LSTMCell层之间的全连接层正是为了将不定长的输入向量重新编码成与LSTM Cell维度相匹配的向量。综上,0时刻的输入为初始化为全1向量,其他时刻网络的输入都由上一个时刻的输出决定,整个网络并不需要接收任何外部数据。
S4根据LSTM策略网络,设置RLTune的行动奖励;
当t<n时,调优参数的选择还未结束,无法构成一个完整的样本,也就无法进一步编译出一种算子实现,因此行动奖励值Rt可以视为0。当t=n时,调优参数集合P中的最后一个调优参数选择(An-1)结束,n次行动A0,A1,…An-1分别对应了每个调优参数的选择值,它们构成了一个样本,记作A0:n-1。目标硬件(及其编译环境)是MDP中的环境,通常来说它反馈的样本A0:n-1对应的算子实现在硬件上采样的算力值F(A0:n-1)可以作为n时刻的奖励值Rn。然而,一系列的随机行动A0:n-1对应的算子实现并不一定存在,此时A0:n-1被称为不合法样本。因此,在t=n时,若一系列的随机行动A0:n-1为不合法样本,即其无法编译成对应的算子实现,这种情况下样本A0:n-1对应的reward值也应当为0。综上,RLTune的行动奖励Rt值的设置如公式(3)所示。
S5根据RLTune的行动奖励,使用小批量梯度下降方式的REINFORCE算法训练策略网络;
使用小批量梯度下降(Mini-Batch Gradient Desend,MBGD)训练方式来估计回报值的期望,更加合理地判断策略的性能,从而使得梯度的计算更加准确,减少策略网络的收敛时间。通过与环境互动获得的一个批次内的M个样本的回报(Rn)m的平均值可以作为策略网络的预期回报R的近似无偏估计:
式中:P(At|A0:(t-1);θ)为在前t个行动A0:(t-1)已经选择的情况下,第t+1个行动At被选择的概率,该概率对应LSTM策略网络中第t+1层网络输出的概率向量中,被选中的行动对应的概率值。M为批次大小(Batch Size);(Rn)m为第m个行动序列(A0:n-1)m对应的回报值。
使用REINFORCE算法训练策略网络的算法流程如算法1所示。
S6基于训练好的策略网络,建立能够模拟硬件采样的开销模型,加速策略网络训练过程,进而加快自动调优速度。
为了减少不必要的硬件采样,提出了一个可以预测样本和性能之间映射关系的开销模型,并使用该模型的推理预测代替真实的硬件采样,来加速RLTune的搜索过程。开销模型使用梯度提升树对历史采样数据进行回归拟合,根据核平滑方法处理后的标签值频率分布设置样本加权目标函数,减少了不平衡的训练集数据标签分布对预测精度的影响,能够满足自动调优任务对开销模型训练和推理速度以及预测精度的要求。
(1)选择XGBoost作为开销模型。
考虑到样本特征的异质性,使用XGBoost回归树模型作为开销模型。不同于传统的梯度提升树,XGBoost在目标函数中加入了正则项防止过拟合,同时使用二阶梯度对损失函数进行了展开,具有更高的预测精度,更快的训练和推理速度和一定的可解释性。
(2)设置开销模型的目标函数。
训练数据的标签值(算力值)yi并不是均匀分布而是长尾分布,这意味着开销模型会对数量较少的高算力的样本的预测效果较差。因此,在损失函数中在目标函数中为不同的样本设置权重去均衡不同的样本对梯度的贡献是十分必要的,应当给予数据密度更大的区间内的样本更小的权重,给予数据密度小的区间内的样本更大的权重。直接使用标签的频率设置权重时,不同的bin划分方式会使得频率统计结果有很大不同,且bin中可能出现样本数量为0的情况,这会给权重的设置带来困难。此外,标签值之间的距离的意义被忽略了。
因此,本发明提出利用每个bin邻域内其他bin的统计信息将频率进行核平滑处理,并根据平滑处理后的标签值频率分布,可以将每个样本对应的平滑处理后频率值的倒数作为权重去修改损失函数。XGBoost开销模型的样本加权目标函数为公式(5):
式中:为建立第t棵树时的目标函数;/>为平滑后的样本频率;γ为缩放比例,用于保持损失项与正则项权重比例不变;ft(xi)为第t棵树对样本xi的预测值;gi为损失函数l对预测值的一阶导数;hi为损失函数l对预测值的二阶导数;Ω(ft)为第t棵树的复杂度。
(3)利用开销模型加速RLTune的自动调优过程。
若F表示硬件模型(真实模型),G表示通过采样数据训练得到的开销模型(预测模型),交替使用模型F和模型G来训练策略网络。策略网络的一次训练被分为三个阶段:
第一阶段——在t1时间内,使用硬件模型F训练策略网络,同时将这个过程中获得的采样数据加入数据库中。
第二阶段——在t2时间内,使用数据库中的全部数据训练模型G。
第三阶段——在t3时间内,使用预测模型G训练策略网络。
之后进行下一次训练,并循环这三个阶段的过程。基于开销模型的RLTune策略网络的一次训练如图5所示。
在三阶段策略网络训练过程中,只有t1时间存在大开销的真实采样行为,在t2时间内训练开销模型G和t3时间内使用模型G进行推理的开销很小,而策略网络在t1+t3的时间内都获取到了用于训练的有效数据并进行了网络权重更新。因此在下一次循环的t1阶段内,策略网络会有更优秀的表现,这意味着在宝贵的采样次数之内能够搜索到算力值更高的样本,即在更小的时间开销内获取更大的调优收益。
本发明的原理及优势:
1)针对巨大的搜索空间,将调优参数的选择视为一系列的决策,将自动调优过程建模成一个MDP,这种方式大大减小了搜索空间的大小。RLTune使用强化学习方法,通过与环境(目标硬件)的互动(采样)学习调优参数的选择策略。根据调优参数逐一选择时产生的序列数据的特性,本发明基于LSTM构建了策略网络来生成样本。LSTM善于捕捉各调优参数之间的关系以及不同调优参数组合与性能的联系,能够更准确地记录RLTune智能体所处的状态并学习到更加合理的策略。考虑到REINFORCE算法收敛慢的问题,本发明结合算子搜索空间中样本的数据特性,使用小批量梯度下降的训练方式代替随机梯度下降,加快策略网络收敛。
2)针对过大的采样开销,考虑到某种算子实现的程序中蕴含了丰富的语义信息,样本性能的可预测性很强的特点,本发明提出了一个开销模型去预测样本对应的性能,并使用预测代替时间开销极大的硬件采样行为,减小了自动调优的时间成本。同时,通过调整不平衡标签分布下的样本权重,使得目标函数的设置更加合理,提高了开销模型的预测准确率。
本发明一实施例提供的计算机设备。该实施例的计算机设备包括:处理器、存储器以及存储在所述存储器中并可在所述处理器上运行的计算机程序。所述处理器执行所述计算机程序时实现上述各个方法实施例中的步骤。或者,所述处理器执行所述计算机程序时实现上述各装置实施例中各模块/单元的功能。
所述计算机程序可以被分割成一个或多个模块/单元,所述一个或者多个模块/单元被存储在所述存储器中,并由所述处理器执行,以完成本发明。
所述计算机设备可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。所述计算机设备可包括,但不仅限于,处理器、存储器。
所述处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现所述计算机设备的各种功能。
所述计算机设备集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (10)
1.一种基于强化学习的算子自动调优方法,其特征在于,包括以下步骤:
建立卷积算子自动调优的搜索空间;
将自动调优问题建模为马尔科夫决策过程MDP;
基于马尔科夫决策过程MDP,构建LSTM策略网络;
根据LSTM策略网络,设置RLTune的行动奖励;
根据RLTune的行动奖励,使用小批量梯度下降方式的REINFORCE算法训练策略网络;
基于训练好的策略网络,建立能够模拟硬件采样的开销模型。
2.根据权利要求1所述的基于强化学习的算子自动调优方法,其特征在于,所述建立卷积算子自动调优的搜索空间,包括:
算子自动调优的搜索空间Λ和目标obj如下:
Λ=Λ1×Λ2×Λ3×…Λn (1)
其中,P为算子自动调优问题的调优参数集合,|P|=n;×为笛卡尔积;Λi为第i个调优参数Pi的取值集合;n为调优参数个数;s为样本,是一个长度为n的向量,表示搜索空间Λ中的一个调优参数组合;F(s)为样本s对应的算子实现在目标硬件上的运行性能。
3.根据权利要求1所述的基于强化学习的算子自动调优方法,其特征在于,所述将自动调优问题建模为马尔科夫决策过程MDP,包括:
设时间序列t=0,1,2,...,n,在时刻t,基于当前的状态St,智能体根据某个策略,从第t+1个超参数空间Λt+1中选定一个值作为At,记作select(Λt+1);之后得到一个来自环境的奖励Rt+1,同时智能体进入一个新的状态St+1;该MDP对应的行动轨迹序列为:S0,A0,R1,S1,A1,R2,S2,...,An-1,Rn,Sn;在这个的MDP中,RLTune为智能体,目标硬件为环境,同时反馈行动对应的奖励。
4.根据权利要求1所述的基于强化学习的算子自动调优方法,其特征在于,所述构建LSTM策略网络,包括:
与算子待调优参数的个数对应,策略网络的输入视为n个时间序列数据;在每个时刻,策略网络包括一个输入input、两个全连接层Full Connection、一个LSTM循环模块Cell、一个Softmax层和一个输出output;每一时刻的LSTM循环模块Cell为同一个,共享网络的结构和权重。
5.根据权利要求1所述的基于强化学习的算子自动调优方法,其特征在于,所述设置RLTune的行动奖励,包括:
当t<n时,行动奖励值Rt视为0;当t=n时,调优参数集合P中的最后一个调优参数选择结束,n次行动A0,A1,…An-1分别对应了每个调优参数的选择值,构成一个样本,记作A0:n-1;目标硬件及其编译环境是MDP中的环境,其反馈的样本A0:n-1对应的算子实现在硬件上采样的算力值F(A0:n-1)作为n时刻的奖励值Rn;在t=n时,若一系列的随机行动A0:n-1为不合法样本,样本A0:n-1对应的reward值为0;RLTune的行动奖励值如下:
其中,Rt为RLTune的行动奖励值。
6.根据权利要求1所述的基于强化学习的算子自动调优方法,其特征在于,所述使用小批量梯度下降方式的REINFORCE算法训练策略网络,包括:
通过与环境互动获得的一个批次内的M个样本的回报(Rn)m的平均值作为策略网络的预期回报R的近似无偏估计:
式中:P(At|A0:(t-1);θ)为在前t个行动A0:(t-1)已经选择的情况下,第t+1个行动At被选择的概率,该概率对应LSTM策略网络中第t+1层网络输出的概率向量中,被选中的行动对应的概率值;M为批次大小(Batch Size);(Rn)m为第m个行动序列(A0:n-1)m对应的回报值。
7.根据权利要求1所述的基于强化学习的算子自动调优方法,其特征在于,所述建立能够模拟硬件采样的开销模型,包括:
(1)选择XGBoost作为开销模型;
使用XGBoost回归树模型作为开销模型;在目标函数中加入正则项,同时使用二阶梯度对损失函数进行展开;
(2)设置开销模型的目标函数;
利用每个bin邻域内其他bin的统计信息将频率进行核平滑处理,并根据平滑处理后的标签值频率分布,将每个样本对应的平滑处理后频率值的倒数作为权重去修改损失函数;XGBoost开销模型的样本加权目标函数如下:
式中:为建立第t棵树时的目标函数;/>为平滑后的样本频率;γ为缩放比例,用于保持损失项与正则项权重比例不变;ft(xi)为第t棵树对样本xi的预测值;gi为损失函数l对预测值的一阶导数;hi为损失函数l对预测值的二阶导数;Ω(ft)为第t棵树的复杂度;
(3)利用开销模型加速RLTune的自动调优过程;
交替使用硬件模型F和通过采样数据训练得到的开销模型G来训练策略网络,策略网络的一次训练被分为三个阶段:
第一阶段:在t1时间内,使用硬件模型F训练策略网络,同时将这个过程中获得的采样数据加入数据库中;
第二阶段:在t2时间内,使用数据库中的全部数据训练开销模型G;
第三阶段:在t3时间内,使用开销模型G训练策略网络;
之后进行下一次训练,并循环这三个阶段的过程。
8.一种基于强化学习的算子自动调优方法,其特征在于,包括以下步骤:
搜索空间构建模块,用于建立卷积算子自动调优的搜索空间;
MDP决策过程构建模块,用于将自动调优问题建模为马尔科夫决策过程MDP;
策略网络构建模块,用于基于马尔科夫决策过程MDP,构建LSTM策略网络;
行动奖励设置模块,用于根据LSTM策略网络,设置RLTune的行动奖励;
策略网络训练模块,用于根据RLTune的行动奖励,使用小批量梯度下降方式的REINFORCE算法训练策略网络;
开销模型构建模块,用于基于训练好的策略网络,建立能够模拟硬件采样的开销模型。
9.一种计算机设备,包括存储器、处理器以及存储在所述存储器中并可在所述处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现如权利要求1-7任一项所述方法的步骤。
10.一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现如权利要求1-7任一项所述方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310862565.XA CN116861957A (zh) | 2023-07-13 | 2023-07-13 | 一种基于强化学习的算子自动调优方法及相关装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310862565.XA CN116861957A (zh) | 2023-07-13 | 2023-07-13 | 一种基于强化学习的算子自动调优方法及相关装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116861957A true CN116861957A (zh) | 2023-10-10 |
Family
ID=88230116
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310862565.XA Pending CN116861957A (zh) | 2023-07-13 | 2023-07-13 | 一种基于强化学习的算子自动调优方法及相关装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116861957A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056866A (zh) * | 2023-10-12 | 2023-11-14 | 贵州新思维科技有限责任公司 | 一种多源特征数据融合的隧道智能调光方法及系统 |
-
2023
- 2023-07-13 CN CN202310862565.XA patent/CN116861957A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117056866A (zh) * | 2023-10-12 | 2023-11-14 | 贵州新思维科技有限责任公司 | 一种多源特征数据融合的隧道智能调光方法及系统 |
CN117056866B (zh) * | 2023-10-12 | 2024-01-30 | 贵州新思维科技有限责任公司 | 一种多源特征数据融合的隧道智能调光方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Cremer et al. | From optimization-based machine learning to interpretable security rules for operation | |
Pelikan et al. | Estimation of distribution algorithms | |
Liang et al. | An empirical study of branching heuristics through the lens of global learning rate | |
CN115659281B (zh) | 一种自适应加速算子融合的方法及装置 | |
Duan et al. | A hybrid intelligent method for performance modeling and prediction of workflow activities in grids | |
Chen et al. | A hybrid fuzzy inference prediction strategy for dynamic multi-objective optimization | |
CN116861957A (zh) | 一种基于强化学习的算子自动调优方法及相关装置 | |
Prayogo | Metaheuristic-based machine learning system for prediction of compressive strength based on concrete mixture properties and early-age strength test results | |
CN114841199A (zh) | 配电网故障诊断方法、装置、设备及可读存储介质 | |
CN113407185A (zh) | 基于贝叶斯优化的编译器优化选项推荐方法 | |
Luo et al. | HSCoNAS: Hardware-software co-design of efficient DNNs via neural architecture search | |
Pan et al. | A multi-strategy surrogate-assisted competitive swarm optimizer for expensive optimization problems | |
CN117216499A (zh) | 基于鲸鱼算法优化lstm的igbt故障预测方法 | |
CN117146954A (zh) | 一种基于改进woa-bp神经网络的称重补偿方法及装置 | |
Egele et al. | Is One Epoch All You Need For Multi-Fidelity Hyperparameter Optimization? | |
KR102559605B1 (ko) | 함수 최적화 방법 및 장치 | |
YOUSIF et al. | Deep learning-based surrogate modeling for performance-driven generative design systems | |
Aliniya et al. | Dynamic Constrained Multi-Objective Optimization Based on Adaptive Combinatorial Response Mechanism | |
CN115345106A (zh) | 电子器件的Verilog-A模型构建方法、系统及设备 | |
Gouda et al. | A self-adaptive differential evolution using a new adaption based operator for software cost estimation | |
Zhang et al. | OnceNAS: Discovering efficient on-device inference neural networks for edge devices | |
Zhang et al. | Design Automation for Fast, Lightweight, and Effective Deep Learning Models: A Survey | |
Chen et al. | Automated Machine Learning | |
US20230394106A1 (en) | Calculation method and information processing apparatus | |
Phan et al. | TF-MOPNAS: Training-free Multi-objective Pruning-Based Neural Architecture Search |
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 |