一种利用强化学习进行大数据平台调参的方法和系统技术方案

技术编号:27655286 阅读:31 留言:0更新日期:2021-03-12 14:17
本发明专利技术提供一种利用强化学习进行大数据平台调参的方法和系统。该方法包括:根据调优参数的取值范围描述其多个行为;利用大数据平台执行调优参数的多个行为并根据执行性能情况获得调优参数的多个行为的回报;将调优参数的多个行为和各行为对应的回报输入到深度神经网络模型进行训练,学习获得调优参数的优化行为路径。本发明专利技术的方法和系统使用深度强化学习进行环境学习与调参,能够有效地获得多个参数的优化行为路径。

【技术实现步骤摘要】
一种利用强化学习进行大数据平台调参的方法和系统
本专利技术涉及大数据信息处理
,尤其涉及一种利用强化学习进行大数据平台调参的方法和系统。
技术介绍
大数据平台是指以海量数据处理为目标,实现了多机器之间资源调度、任务分配、同步计算和结果展现的平台。由于需要使用多台机器之间的同步,所以需要利用可以跨平台部署的编程技术。而Java就是一种非常合适的跨平台编程语言,由于使用了JVM作为底层支持,使得平台的部署可以不局限于操作系统和硬件架构,可以在不同架构的机器中实现数据计算,例如,目前最为流行的大数据平台Spark是使用scala语言(一种以Java和JVM为基础的语言)为基础的大数据计算平台。同时,分布式处理拥有许多的细节需要考虑,所以Spark拥有非常多的可供调节的各项参数。近年来,对Spark的参数调优的研究从来没有停止。例如2018年ASPLOS的一篇论文(Datasize-AwareHighDimensionalConfigurationsAuto-TuningofIn-MemoryClusterComputing),使用梯度回归树为Spark的42个参数进行运行时间的建模,并用遗传算法从模型中寻找最优配置,这种方法需要大量的训练数据;又如2017年SOCC的论文(BestConfig:TappingthePerformancePotentialofSystemsviaAutomaticConfigurationTuning),通过使用分型和值域分割,从而在短时间内找到数据集的最优配置,这种方法输入空间庞大,也需要大量数据作为支撑,从而导致了大量的时间浪费。现有技术虽然能够实现最优配置的寻找,但是存在两个问题:1)、需要通过大量执行程序保存数据来进行调参,例如上述第一种方法需要利用执行的数据进行建模,而第二种方法需要多个运行数据来涵盖整个输入空间。2)、仅对Spark本身的参数进行调整,而忽略了Spark底层的JVM参数对运行速度的影响。
技术实现思路
本专利技术的目的在于克服上述现有技术的缺陷,提供一种利用强化学习进行大数据平台调参的方法和系统。根据本专利技术的第一方面,提供一种利用强化学习进行大数据平台调参的方法。该方法包括以下步骤:根据调优参数的取值范围描述其多个行为;利用大数据平台执行调优参数的多个行为并根据执行性能情况获得调优参数的多个行为的回报;将调优参数的多个行为和各行为对应的回报输入到深度神经网络模型进行训练,学习获得调优参数的优化行为路径。在一个实施例中,对于调优参数,采用量子化思想基于固定单位数量描述其对应的多个行为。在一个实施例中,对于数值类型的调优参数,以数值范围的上限值的百分比来描述其多个行为。在一个实施例中,在执行调优参数的多个行为过程中,将每次从大数据平台获得的调优参数的行为、回报信息放入到记忆库中构成训练样本集。在一个实施例中,对深度神经网络模型进行训练时,从所述记忆库随机选出批量训练样本,通过更新深度神经网络模型学习到各调优参数的优化行为路径。在一个实施例中,所述调优参数包括Spark相关参数和JVM相关参数。在一个实施例中,构建多个深度神经网络模型并行执行多个调优参数的调节,其中每个深度神经网络模型对应一个调优参数的调节。根据本专利技术的第二方面,提供一种利用强化学习进行大数据平台调参的系统。该系统包括:用于根据调优参数的取值范围描述其多个行为的模块;用于利用大数据平台执行调优参数的多个行为并根据执行性能情况获得调优参数的多个行为的回报的模块;用于将调优参数的多个行为和各行为对应的回报输入到深度神经网络模型进行训练,学习获得调优参数的优化行为路径的模块。在一个实施例中,所述执行性能情况包括任务运行时间、资源利用率、JVM性能中的一项或多项。与现有技术相比,本专利技术的优点在于:使用无监督的强化学习作为大数据平台调参的手段,避免了大量寻找训练数据的时间。此外,实现了JVM参数和Spark参数的混合调参,具有更大的调优空间,并且通过结合两个层次的参数,能够找到更优的配置。附图说明以下附图仅对本专利技术作示意性的说明和解释,并不用于限定本专利技术的范围,其中:图1是根据本专利技术一个实施例的利用强化学习进行大数据平台调参方法的流程图;图2是根据本专利技术一个实施例的不同类型调优参数的调参操作的示意图;图3是根据本专利技术一个实施例的利用强化学习进行大数据平台调参方法的运行原理图。具体实施方式为了使本专利技术的目的、技术方案、设计方法及优点更加清楚明了,以下结合附图通过具体实施例对本专利技术进一步详细说明。应当理解,此处所描述的具体实施例仅用于解释本专利技术,并不用于限定本专利技术。在本文示出和讨论的所有例子中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它例子可以具有不同的值。对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为说明书的一部分。本专利技术提供实际可行的,使用深度强化学习DQN(DeepQ-Learing)为基础的大数据平台跨层次的参数调优手段。下文将以Spark平台为例介绍本专利技术的原理和方法。应理解的是,本专利技术也适用于其他的大数据平台。图1是根据本专利技术一个实施例的基于强化学习进行大数据平台调参方法的流程图,该方法基于深度强化学习(DQN)实现大数据平台的参数优化。具体地,该实施例包括以下步骤:步骤S110,确定待调优参数并基于调优参数的数据类型描述其多个行为。影响大数据平台性能的参数众多,以Spark平台为例,通过调节各种参数来优化执行效率,能够提升Spark作业的执行性能。例如,参数num-executors/spark.executor.instances用于设置Spark作业总共要用多少个Executor(执行器)进程来执行。又如,参数executor-memory/spark.executor.memory用于设置每个Executor进程的内存。此外,考虑到Spark平台底层的JVM参数对任务执行速度的影响,本专利技术实施例可进一步调节JVM参数。在本专利技术的强化学习中,用各调优参数的取值来描述其行为。例如,在本地保存所有调优参数的可调节的范围,在描述其行为时(即进行调参),并不是直接给出调优参数的取值,而是给出对该调优参数应该进行的操作,例如,参数值变大或变小等。又如,使用单位化调节来降低迭代次数,参见图2所示,对于数值类型的参数,以取值范围的上限值的百分比描述多个行为,具体取值包括调优参数上限值的1%、-1%、10%、-10%等。对于布尔型的参数,取值包括false和true。对于选择型参数,取值包括“选项1”、“选项2”、“选项3”、“选项4”等。通过这种参数选取方式,能够更快的寻找和迭代到最优配置,并且避免了用深度神经网络模型做回归问题的难点,这种本文档来自技高网
...

【技术保护点】
1.一种利用强化学习进行大数据平台调参的方法,包括以下步骤:/n根据调优参数的取值范围描述其多个行为;/n利用大数据平台执行调优参数的多个行为并根据执行性能情况获得调优参数的多个行为的回报;/n将调优参数的多个行为和各行为对应的回报输入到深度神经网络模型进行训练,学习获得调优参数的优化行为路径。/n

【技术特征摘要】
1.一种利用强化学习进行大数据平台调参的方法,包括以下步骤:
根据调优参数的取值范围描述其多个行为;
利用大数据平台执行调优参数的多个行为并根据执行性能情况获得调优参数的多个行为的回报;
将调优参数的多个行为和各行为对应的回报输入到深度神经网络模型进行训练,学习获得调优参数的优化行为路径。


2.根据权利要求1所述的方法,其特征在于,对于调优参数,采用量子化思想基于固定单位数量描述其对应的多个行为。


3.根据权利要求2所述的方法,其特征在于,对于数值类型的调优参数,以数值范围的上限值的百分比来描述其多个行为。


4.根据权利要求1所述的方法,其特征在于,在执行调优参数的多个行为过程中,将每次从大数据平台获得的调优参数的行为、回报信息放入到记忆库中构成训练样本集。


5.根据权利要求4所述的方法,其特征在于,对深度神经网络模型进行训练时,从所述记忆库随机选出批量训练样本,通过更新深度神经网络模型学习到各调优参数的优化行为...

【专利技术属性】
技术研发人员:孔子毓喻之斌
申请(专利权)人:中国科学院深圳先进技术研究院
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1