CN113033806B - 用于分布式计算集群调度的深度强化学习模型训练方法、装置及调度方法 - Google Patents
用于分布式计算集群调度的深度强化学习模型训练方法、装置及调度方法 Download PDFInfo
- Publication number
- CN113033806B CN113033806B CN202110387715.7A CN202110387715A CN113033806B CN 113033806 B CN113033806 B CN 113033806B CN 202110387715 A CN202110387715 A CN 202110387715A CN 113033806 B CN113033806 B CN 113033806B
- Authority
- CN
- China
- Prior art keywords
- scheduling
- model
- reinforcement learning
- deep reinforcement
- 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.)
- Active
Links
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/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
Abstract
本申请公开了一种用于分布式计算集群的深度强化学习模型训练方法、装置以及调度方法,所述方法包括采用深度强化学习框架建立若干第一调度模型和第二调度模型;通过若干第一调度模型确定训练样本集;基于训练样本集训练第二调度模型以得到模型参数;基于模型参数更新各第一调度模型中的第一深度强化学习智能体的模型参数,并继续执行通过若干第一调度模型确定训练样本集的步骤,直至第二调度模型满足预设条件以得到深度强化学习模型。本申请通过解耦深度强化学习训练的前向行动和后向学习过程,通过多个独立且同时与环境交互的第一调度模型生成训练样本集,再基于训练样本对第二调度模型进行训练,这样实现了大规模并行训练,提高了深度强化学习模型的训练速度,实现了分布式计算集群的高效利用。
Description
技术领域
本申请涉及分布式集群技术领域,特别涉及一种用于分布式集群的深度强化学习模型训练方法、装置以及调度方法。
背景技术
在云计算时代,高效利用分布式计算集群的资源至关重要,高效的调度算法则是实现该目标的关键所在。系统调度决策通常是高度重复的,因此可以获取到用于训练样强化学习智能体的训练样本,并且基于深度强化学习的调度算法可以通过不断学习与集群环境交互的实际经验来优化,而无需人工设计和调试而自动生成高效的调度算法。但是由于强化学习智能体需要不断和集群环境进行交互,从而影响了用于分布式计算集群调度的深度强化学习智能体的训练速度,进而制约了基于深度强化学习的调度算法的实际应用,对分布式计算集群的调度效率慢、资源利用率低。
发明内容
本申请要解决的技术问题在于,针对现有技术的不足,提供一种用于分布式计算集群的深度强化学习模型训练方法、装置以及调度方法。
为了解决上述技术问题,本申请实施例第一方面提供了一种用于分布式计算集群的深度强化学习模型训练方法,所述方法包括:
采用深度强化学习框架建立若干第一调度模型和第二调度模型,其中,若干第一调度模型中每个第一调度模型均包括第一深度强化学习智能体,所述第二调度模型均包括第二深度强化学习智能体;
通过若干第一调度模型确定训练样本集,其中,所述训练样本集包括若干训练样本,若干训练样本中的每个训练样本均包括环境状态以及环境状态对应的奖励信息;
基于所述训练样本集训练所述第二调度模型,以得到经过训练的模型参数;
基于所述模型参数更新各第一调度模型中的第一深度强化学习智能体的模型参数,并继续执行通过若干第一调度模型确定训练样本集的步骤,直至第二调度模型满足预设条件,以得到深度强化学习模型。
所述用于分布式计算集群的深度强化学习模型训练方法,其中,各第一调度模型中的第一深度强化学习智能体的模型结构均与第二调度模型中的第二深度强化学习智能体的模型结构相同。
所述用于分布式计算集群的深度强化学习模型训练方法,其中,所述若干第一调度模型中的每个第一调度模型均包括第一执行环境,所述通过若干第一调度模型确定训练样本集具体包括:
对于若干第一调度模型中的每个第一调度模型,该第一调度模型中的第一执行环境将环境状态输入该第一调度模型中的第一深度学习智能体;
通过所述第一深度学习智能体输出调度动作,并将所述调度动作输入所述第一执行环境;
通过所述第一执行环境输出所述环境状态对应的奖励信息以及下一环境状态;
继续执行将环境状态输入该第一调度模型中的第一深度学习智能体步骤,以得到该第一调度模型对应的预设数量的训练样本;
基于各第一调度模型对应的预设数量的训练样本,确定训练样本集。
所述用于分布式计算集群的深度强化学习模型训练方法,其中,若干第一调度模型中存在至少两个第一调度模型的执行环境配置的环境负载不同。
所述用于分布式计算集群的深度强化学习模型训练方法,其中,若干第一调度模型中存在至少两个第一调度模型对应的训练样本的数量不同。
所述用于分布式计算集群的深度强化学习模型训练方法,其中,所述基于所述训练样本集训练所述第二调度模型,以得到经过训练的模型参数具体包括:
将所述训练样本集中的训练样本输入所述第二调度模型中的第二深度强化学习智能体;
控制第二深度强化学习智能体基于训练样本修正其自身配置的模型参数,以得到经过训练的模型参数。
所述用于分布式计算集群的深度强化学习模型训练方法,其中,所述基于所述模型参数更新各第一调度模型中的第一深度强化学习智能体的模型参数具体包括:
对于若干第一调度模型中的每个第一调度模型,利用第一调度模型获取对第二调度模型进行训练得到的模型参数;
采用该模型参数替换该第一调度模型中的第一深度强化学习智能体配置的模型参数,以更新该第一调度模型的模型参数。
所述用于分布式计算集群的深度强化学习模型训练方法,其中,所述深度强化学习模型为所述第二调度模型中的第二深度学习智能体。
本实施例第二方面提供了一种基于深度强化学习的调度方法,应用如上任一所述的深度强化学习模型,所述调度方法包括:
获取调度系统的系统状态信息,并将系统状态信息输入深度强化学习模型;
通过所述深度强化学习模型确定该系统状态信息对应的调度动作,并基于该调度动作调度该调度系统中的被调度目标。
所述深度强化学习的调度方法,其中,所述调度系统为分布式计算集群,所述被调度目标为基于系统中的资源抽象的任务槽。
本申请实施例第三方面提供了一种用于分布式计算集群的深度强化学习模型训练装置,所述装置包括:
建立模块,用于采用深度强化学习框架建立若干第一调度模型和第二调度模型,其中,若干第一调度模型中每个第一调度模型均包括第一深度强化学习智能体,所述第二调度模型均包括第二深度强化学习智能体;
确定模块,用于通过若干第一调度模型确定训练样本集,其中,所述训练样本集包括若干训练样本,若干训练样本中的每个训练样本均包括环境状态以及环境状态对应的奖励信息;
训练模块,用于基于所述训练样本集训练所述第二调度模型,以得到经过训练的模型参数;
执行模块,用于基于所述模型参数更新各第一调度模型中的第一深度强化学习智能体的模型参数,并继续执行通过若干第一调度模型确定训练样本集的步骤,直至第二调度模型满足预设条件,以得到深度强化学习模型。
本申请实施例第四方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的用于分布式计算集群的深度强化学习模型训练方法中的步骤,和/或以实现如上任一所述的基于深度强化学习的调度方法中的步骤。
本申请实施例第五方面提供了一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如上任一所述的用于分布式计算集群的深度强化学习模型训练方法中的步骤,和/或实现如上任一所述的基于深度强化学习的调度方法中的步骤。
有益效果:与现有技术相比,本申请提供了一种用于分布式计算集群的深度强化学习模型训练方法、装置以及调度方法,所述方法包括采用深度强化学习框架建立若干第一调度模型和第二调度模型;通过若干第一调度模型确定训练样本集;基于所述训练样本集训练所述第二调度模型,以得到经过训练的模型参数;基于所述模型参数更新各第一调度模型中的第一深度强化学习智能体的模型参数,并继续执行通过若干第一调度模型确定训练样本集的步骤,直至第二调度模型满足预设条件,以得到深度强化学习模型。本申请通过解耦深度强化学习训练的前向行动和后向学习过程,通过多个独立且同时与环境交互的第一调度模型生成训练样本集,在基于训练样本对第二调度模型进行训练,这样实现了大规模并行训练,提高了深度强化学习模型的训练速度,实现对分布式计算集群资源的高效利用。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员而言,在不符创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为现有深度强化学习模型的训练过程的流程示意图。
图2为本申请提供的训练深度强化学习模型的框架的结构原理图。
图3为本申请提供的用于分布式计算集群的深度强化学习模型训练方法的流程图。
图4为一个应用场景示意图。
图5为本申请提供的用于分布式计算集群的深度强化学习模型训练装置的结构原理图。
图6为本申请提供的终端设备的结构原理图。
具体实施方式
本申请提供一种用于分布式计算集群的深度强化学习模型训练方法、装置以及调度方法,为使本申请的目的、技术方案及效果更加清楚、明确,以下参照附图并举实施例对本申请进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
本技术领域技术人员可以理解,除非特意声明,这里使用的单数形式“一”、“一个”、“所述”和“该”也可包括复数形式。应该进一步理解的是,本申请的说明书中使用的措辞“包括”是指存在所述特征、整数、步骤、操作、元件和/或组件,但是并不排除存在或添加一个或多个其他特征、整数、步骤、操作、元件、组件和/或它们的组。应该理解,当我们称元件被“连接”或“耦接”到另一元件时,它可以直接连接或耦接到其他元件,或者也可以存在中间元件。此外,这里使用的“连接”或“耦接”可以包括无线连接或无线耦接。这里使用的措辞“和/或”包括一个或更多个相关联的列出项的全部或任一单元和全部组合。
本技术领域技术人员可以理解,除非另外定义,这里使用的所有术语(包括技术术语和科学术语),具有与本申请所属领域中的普通技术人员的一般理解相同的意义。还应该理解的是,诸如通用字典中定义的那些术语,应该被理解为具有与现有技术的上下文中的意义一致的意义,并且除非像这里一样被特定定义,否则不会用理想化或过于正式的含义来解释。
应理解,本实施例中各步骤的序号和大小并不意味着执行顺序的先后,各过程的执行顺序以其功能和内在逻辑确定,而不应对本申请实施例的实施过程构成任何限定。
发明人经过研究发现,在云计算时代,高效利用分布式计算集群的资源至关重要,高效的调度算法则是实现该目标的关键所在。系统调度决策通常是高度重复的,因此可以获取到用于训练样强化学习智能体的训练样本,并且基于深度强化学习的调度算法可以通过不断学习与集群环境交互的实际经验来优化,而无需人工设计和调试而自动生成高效的调度算法。
图1给出了典型的深度强化学习系统,一般地,深度强化学习系统包括深度强化学习智能体和执行环境;深度强化学习智能体通过与执行环境的交互和反馈,不断学习,优化其策略。具体而言,深度强化学习智能体观察并获得执行环境的环境状态state,根据其配置的策略针对当前执行环境的环境状态确定要采用的调度动作action。这样调度动作作用于执行环境,会改进执行环境的环境状态,同时产生一奖励信息反馈给深度强化学习智能体,使得深度强化学习智能体根据该奖励信息判断之前的调度动作是否正常,调度策略是否需要调整进而更新其配置的策略。通过反复不断的观察环境状态、确定调度动作以及受到奖励信息,使得深度强化学习智能体可以不断更新策略,最终目标是能够学习到一个策略,使得获取到的奖励信息积累最大化。然而,深度强化学习需要不断与执行环境进行交互和反馈,这使得深度强化学习的训练过程花费大量时间,从而使得深度强化学习的训练速度慢,进而制约了深度强化学习的实际应用。
为了解决上述问题,在本申请实施例中,采用深度强化学习框架建立若干第一调度模型和第二调度模型;通过若干第一调度模型确定训练样本集;基于所述训练样本集训练所述第二调度模型,以得到经过训练的模型参数;基于所述模型参数更新各第一调度模型中的第一深度强化学习智能体的模型参数,并继续执行通过若干第一调度模型确定训练样本集的步骤,直至第二调度模型满足预设条件,以得到深度强化学习模型。本申请通过解耦深度强化学习训练的前向行动和后向学习过程,通过多个独立且同时与环境交互的第一调度模型生成训练样本集,在基于训练样本对第二调度模型进行训练,这样实现了大规模并行训练,提高了深度强化学习模型的训练速度。
下面结合附图,通过对实施例的描述,对申请内容作进一步说明。
本实施例提供了一种用于分布式计算集群的深度强化学习模型训练方法,所述深度强化学习模型用于根据策略,将执行环境中的环境状态映射为调度动作。该方法可以通过任何具有计算、处理能力的装置和设备来执行。在本实施例的一个实现方式中,该方法可以由如图2所示的训练深度强化学习模型的架构来实现,该架构至少包括行动者模块、学习者模块、数据存储器和参数存储器,行动者模块包括若干行动者,若干行动者中的每个行动者均包括第一调度模型,第一调度模型包括第一执行环境和第一深度强化学习智能体,其中,第一深度强化学习智能体用于进行强化学习训练过程中的前向行动过程;学习者模块包括第二调度模型,第二调度模型包括第二执行环境和第二深度强化学习智能体,其中,第二深度强化学习智能体用于执行强化学习算法训练过程中的后向学习过程,第二执行环境是框架的中枢,用于负责架构的各种配置,例如,行动者数量,每个行动者的环境负载。参数存储器用于存储学习者训练出的模型参数,以便于各行动者从参数存储器拉取模型参数;数据存储器用于存储各行动者产生的训练样本。本实施例中的框架提供了极大的灵活性,可以根据实际需求配置行动者的数量以及行动者的环境负载。
如图2和图3所示,本实施例提供的用于分布式计算集群的深度强化学习模型训练方法具体可以包括:
S10、采用深度强化学习框架建立若干第一调度模型和第二调度模型。
具体地,若干第一调度模型中的每个第一调度模型均用于生成用于训练第二调度模型的训练样本集,第二调度模型用于基于训练样本集进行训练,以得到深度强化学习模型。其中,若干第一调度模型中的每个第一调度模型均包括第一深度学习智能体,所述第二调度模型均包括第二深度强化学习智能体。若干第一调度模型中的各第一调度模型相互独立,可以理解的是,若干第一调度模型中的各第一调度模型均独立工作,并且各第一调度模型可以同时与环境交互生成训练样本。此外,所述第二调度模型可以与若干第一调度模型同时工作,使得深度强化学习的前向行动和后向学习同时进行,以提高深度强化学习的训练速度。
各第一调度模型中的第一深度强化学习智能体的模型结构均与第二调度模型中的第二深度强化学习智能体的模型结构相同。例如,各第一调度模型中的第一深度强化学习智能体均包括2层全连接神经网络,第二深度强化学习智能体包括2层全连接神经网络。由此,在采用深度强化学习框架建立若干第一调度模型和第二调度模型时,可以先构建一深度强化学习智能体,然后基于该深度强化学习智能体构建预设数量的调度模型,将预设数量中的一调度模型作为第二调度模型,将除第二调度模型外的调度模型作为第一调度模型,以得到若干第一调度模型和一第二调度模型。
在本实施例的一个实现方式中,若干第一调度模型中的每个第一调度模型均包括第一执行环境,第二调度模型包括第二执行环境,第一调度模型中的第一执行环境用于与第一调度模型中的第一深度强化学习智能体交互,第一深度强化学习智能体基于当前环境状态确定调度动作,第一执行环境执行调度动作,并基于调度动作输出下一环境状态和奖励信息。第二调度模型中的第二执行环境用于与第二调度模型中的第二深度强化学习智能体交互,将训练样本输入第二深度强化学习智能体,第二深度强化学习智能体基于训练样本更新其自身配置的模型参数。
S20、通过若干第一调度模型确定训练样本集。
具体地,所述训练样本集包括若干训练样本,若干训练样本中的每个训练样本均包括环境状态以及环境状态对应的奖励信息,奖励信息为第一执行环境执行基于该环境状态确定的调度动作所确定的奖励信息。此外,若干训练样本包括各第一调度模型确定的训练样本,换句话说,若干第一调度模型中的每个第一调度模型均会确定训练样本,并且每个第一调度模型确定的训练样本仅包括环境状态以及环境状态对应的奖励信息。例如,若干第一调度模型包括第一调度模型A和第一调度模型B,若干训练样本中的部分训练样本是通过第一调度模型A确定的,部分训练样本是通过第一调度模型B确的。
基于此,在本实施例的一个实现方式中,所述通过若干第一调度模型确定训练样本集具体包括:
对于若干第一调度模型中的每个第一调度模型,该第一调度模型中的第一执行环境将环境状态输入该第一调度模型中的第一深度学习智能体;
通过所述第一深度学习智能体输出调度动作,并将所述调度动作输入所述第一执行环境;
通过所述第一执行环境输出所述环境状态对应的奖励信息以及下一环境状态;
继续执行将环境状态输入该第一调度模型中的第一深度学习智能体步骤,以得到该第一调度模型对应的预设数量的训练样本;
基于各第一调度模型对应的预设数量的训练样本,确定训练样本集。
具体地,各第一调度模型中的第一执行环境用于生成预设环境负载,例如,平均45秒间隔的泊松过程达到的查询作业等,其中,若干第一调度模型中的各第一调度模型对应的预设环境负载可以均相同,或者是,若干第一调度模型中的各第一调度模型各自对应的预设环境负载互不相同,或者是,若干第一调度模型可以基于预设环境负载分为若干调度模型组,若干调度模型组中的各第一调度模型各自对应的预设环境负载相同。在本实施例的一个实现方式中,若干第一调度模型中存在至少两个第一调度模型的执行环境配置的环境负载不同。例如,若干第一调度模型包括16个第一调度模型,其中,8个第一调度模型平均45秒间隔的泊松过程达到的查询作业,8个第一调度模型平均15秒间隔的泊松过程达到的查询作业。本实施通过为各第一调度模型中的第一执行环境配置不同的环境负载,这样可以使得后续训练得到的深度强化学习模型可以使用不同环境负载的调度工作,从而可以提高深度强化学习模型的适用范围以及通用性。
在本实施例的一个实现方式中,由于若干第一调度模型存在配置不同预设环境负载的两个第一调度模型,从而若干第一调度模型中存在至少两个第一调度模型对应的训练样本的数量不同。例如,若干第一调度模型中的第一调度模型A配置的预设环境负载为平均45秒间隔的泊松过程达到的查询作业,第一调度模型B配置的预设环境负载为15秒间隔的泊松过程达到的查询作业,那么第一调度模型B对应的训练样本的数量可以为第一调度模型A对应的训练样本的数量的三倍。当然,在实际应用中,为了保证深度强化学习模型的训练样本中各环境负载的数量均衡,可以预先设置各第一调度模型预设时间内确定训练样本的数量,每个第一调度模型在预设时间内确定得到预设数量的训练样本后停止工作,在达到预设时间后再启动工作以得到一下预设时间内的预设数量的训练样本。
进一步,若干第一调度模型中的各第一调度模型同时工作,也就是说,对于若干第一调度模型中的每个第一调度模型,该第一调度模型中的第一执行环境将环境状态输入该第一调度模型中的第一深度学习智能体指的是,若干第一调度模型中的各第一调度模型中的各第一执行环境同时将各自对应的环境状态输入各自对应的第一深度学习智能体内,这样可以同时获取到多个训练样本,提高了训练样本的获取速度。此外,若干第一调度模型中的各第一调度模型均独立工作,由此,在基于若干第一调度模型确定训练样本集时,可以控制若干第一调度模型的中的所有第一调度模型工作,也可以是控制若干第一调度模型中的部分调度模型工作,这样可以确定包括多种环境负载下的训练样本集,也可以确定包括单一环境负载的训练样本集,进而可以训练得到适用于不同应用场景的深度强化学习模型。这样第二调度模型中的第二深度强化学习智能体可以同时对多种环境负载进行学习,生成在多种环境负载下均高效的调度算法,也可以在单一环境负载进行学习,保证单一环境负载下的深度强化学习模型的模型精度。
在本实施例的一个实现方式中,各第一调度模型在确定一环境状态对应的奖励信息后,将该环境状态与奖励信息作为一个训练样本,并将该训练样本存储于数据存储器,以通过数据存储器存储各第一调度模型确定的训练样本。这样第二调度模型可以每间隔预设时间从数据存储器获取一次训练样本,并基于其获取到的训练样本继续对第二深度强化学习智能体进行训练。在一个实现方式中,可以预先设置获取训练样本的间隔的预设时间,例如,5分钟,10分钟等,或者是,第二调度模型在第一次获取到若干训练样本后,每次均可以在该次获取接到的训练样本执行完毕后,从而数据存储器中拉取未被拉取过程的训练样本,这样可以使得第二调度模型持续工作,进一步提高深度强化学习模型的训练速度。
S30、基于所述训练样本集训练所述第二调度模型,以得到经过训练的模型参数。
具体地,经过训练的模型参数为基于该训练样本集中的所有训练样本训练得到的模型参数,也就是说,在获取到训练样本集中,基于训练样本集中的每个训练样本训练第二调度模型中的第二深度强化学习智能体,当训练样本集中的各训练样本均输入该第二深度强化学习智能体后,获取经过该训练样本集训练的第二深度强化学习智能体的模型参数,以得到经过训练的模型参数。例如,训练样本集包括训练样本A、训练样本B和训练样C,那么首先采用训练样本A对第二深度强化学习智能体进行训练,再采用训练样本B对第二深度强化学习智能体进行训练,然后采用训练样本C对第二深度强化学习智能体进行训练;在训练样本C训练完成后,获取第二深度强化学习智能体的模型参数,以得到经过训练的模型参数。
在本实施例的一个实现方式中,所述第二调度模型还包括第二执行环境,所述基于所述训练样本集训练所述第二调度模型,以得到经过训练的模型参数具体包括:
将所述训练样本集中的训练样本输入所述第二调度模型中的第二深度强化学习智能体;
控制第二深度强化学习智能体基于训练样本修正其自身配置的模型参数,以得到经过训练的模型参数。
具体地,第二深度强化学习智能体用于执行深度强化学习训练过程中的后向学习步骤,从而在获取到训练样本集后,将训练样本集中的每个训练样本输入第二深度强化学习智能体,以使得第二深度强化学习智能体基于训练样本中的奖励信息来判断其基于环境状态做出的调度动作是否正确,进而调整其自身配置的模型参数,从而在无人干扰的情况下将深度强化学习训练过程中的前向行动步骤和后向学习步骤分离,使得前向行动步骤和后向学习步骤可以同时进行,进而可以提高深度强化学习模型的训练速度。
S40、基于所述模型参数更新各第一调度模型中的第一深度强化学习智能体的模型参数,并继续执行通过若干第一调度模型确定训练样本集的步骤,直至第二调度模型满足预设条件,以得到深度强化学习模型。
具体地,所述深度强化学习模块为满足预设条件的第二调度模型中的第二深度强化学习智能体,所述第二调度模型满足预设条件指的是第二调度模型中的第二深度强化学习智能体的训练满足预设条件,例如,预设条件为第二深度强化学习智能体的训练次数达到预设次数阈值等。所述模型参数为第二调度模型中的第二深度强化学习智能体中的模型参数,该模型参数为基于若干第一调度模型确定的训练样本集训练得到的模型参数。其中,模型参数可以存储于参数存储器内,以使得各第一调度模型在需要获取模型参数时,可以直接在参数存储器内读取其存储的模型参数来更新其自身配置的模型参数。此外,在实际应用中,为了使得各第一调度模型可以获取到最新的模型参数,参数存储器中的各模型参数可以配置有存储实际,或者是,参数存储器中仅存储有最新的模型参数等。
在本实施例的一个实现方式中,所述基于所述模型参数更新各第一调度模型中的第一深度强化学习智能体的模型参数具体包括:
对于若干第一调度模型中的每个第一调度模型,利用第一调度模型获取对第二调度模型进行训练得到的模型参数;
采用该模型参数替换该第一调度模型中的第一深度强化学习智能体配置的模型参数。
具体地,若干第一调度模型中的各第一调度模型可以同步获取模型参数,也可以不同步获取模型参数。例如,每个第一调度模型在参数存储器内存入新的模型参数后,各第一调度模型均会获取该模型参数,以更新其自身配置的模型参数;或者是,若干第一调度模型中的一个第一调度模型在每次第二调度模型训练得到模型参数后,均会基于该模型参数更新其自身的模型参数;一个第一调度模型或每间隔一次获取一次模型参数等。
进一步,第一调度模型获取到模型参数后,采用获取到的模型参数替换其自身包括的第一深度强化学习智能体的模型参数,以更新第一深度强化学习智能体的模型参数,使得第一深度强化学习智能体配置有更新后的模型参数,进而可以提高第一深度强化学习智能体基于环境状态做出的调度动作的准确性。
综上所述,本实施例提供了一种用于分布式计算集群的深度强化学习模型训练方法,所述方法包括采用深度强化学习框架建立若干第一调度模型和第二调度模型;通过若干第一调度模型确定训练样本集;基于所述训练样本集训练所述第二调度模型,以得到经过训练的模型参数;基于所述模型参数更新各第一调度模型中的第一深度强化学习智能体的模型参数,并继续执行通过若干第一调度模型确定训练样本集的步骤,直至第二调度模型满足预设条件,以得到深度强化学习模型。本申请通过解耦深度强化学习训练的前向行动和后向学习过程,通过多个独立且同时与环境交互的第一调度模型生成训练样本集,在基于训练样本对第二调度模型进行训练,这样实现了大规模并行训练,提高了深度强化学习模型的训练速度。
此外,为了进一步说明本实施例提供的用于分布式计算集群的深度强化学习模型训练方法的工作过程,下面以Spark集群中的查询作业调度过程作为应用场景进行说明。在应用场景中,所述用于分布式计算集群的深度强化学习模型训练方法包括:
步骤S201:初始化如图2所述的训练深度强化学习模型的框架的参数,其中,参数包括行动者数量,每个行动者的工作负载,行动者从参数存储器拉取模型参数的同步周期,深度强化学习智能体的学习率以及学习者的学习轮数的等参数;
步骤S202:设定学习者和各行动者中的深度强化学习智能体的神经网络架构,例如,2层全连接神经网络;
步骤S203:学习者中的第二执行环境将第二深度强化学习智能体的模型参数推送至参数存储器;
步骤S204:每个行动者各自从参数存储器拉取模型参数,并更新各自对应的第一深度强化学习智能体的模型参数;
步骤S205:每个行动者的第一执行环境根据各自设定的工作负载提交作业,各第一深度强化学习智能体根据第一执行环境中的环境状态(例如,任务槽数量,每个作业的总工作量,总作业数等)作出调度动作(例如,分配给作业多少个任务槽);
步骤S206:各第一执行环境执行各自对应的调度动作,返回该调度动作对应的奖励信号和执行调度动作后的下一环境状态;
步骤S207:行动者各自对应的环境状态以及该环境状态对应的奖励信号处理为训练样本存储至数据存储器;
步骤S208:行动者运行至预设的同步周期后从参数存储器拉取最新的模型参数;
步骤S209:学习者从数据存储器中拉取训练样本集。
步骤S210:学习者使用训练样本集对其包括的第二深度强化学习智能体进行训练,更新第二深度强化学习智能体自身配置的模型参数,以优化调度策略;
步骤S211:学习者将更新后的模型参数推送至参数存储器;
步骤S212:行动者重复步骤S204至步骤S208。
步骤S213:学习者重复步骤S209至步骤S211预设的学习轮数次。
步骤S214:学习者生成训练好的深度强化学习模型,以得到调度策略。
基于上述用于分布式计算集群的深度强化学习模型训练方法,本实施例还提供了一种基于深度强化学习的调度方法,所述应用如上任一所述的深度强化学习模型,所述调度方法包括:
获取调度系统的系统状态信息,并将系统状态信息输入深度强化学习模型;
通过所述深度强化学习模型确定该系统状态信息对应的调度动作,并基于该调度动作调度该调度系统中的被调度目标。
具体地,所述调度系统为分布式计算集群,所述被调度目标为基于系统中的资源抽象的任务槽,例如,如图4所示,分布式计算集群将系统中的资源抽象为任务槽,当分布式计算集群接收用户端提交作业(例如,对数据库中的数据进行复杂查询作用等),通过深度强化学习模型将可用的任务槽分配给该作业。其中,深度强化学习模型配置有经过训练的调度策略,该深度强化学习模型可以基于分布式计算集群的系统状态信息,确定调度动作,并且使得分布式计算集群基于该调度动任务槽,以为作业分配任务槽。
基于上述用于分布式计算集群的深度强化学习模型训练方法,本实施例还提供了一种用于分布式计算集群的深度强化学习模型训练装置,如图5所示,所述装置包括:
建立模块100,用于采用深度强化学习框架建立若干第一调度模型和第二调度模型,其中,若干第一调度模型中每个第一调度模型均包括第一深度强化学习智能体,所述第二调度模型均包括第二深度强化学习智能体;
确定模块200,用于通过若干第一调度模型确定训练样本集,其中,所述训练样本集包括若干训练样本,若干训练样本中的每个训练样本均包括环境状态以及环境状态对应的奖励信息;
训练模块300,用于基于所述训练样本集训练所述第二调度模型,以得到经过训练的模型参数;
执行模块400,用于基于所述模型参数更新各第一调度模型中的第一深度强化学习智能体的模型参数,并继续执行通过若干第一调度模型确定训练样本集的步骤,直至第二调度模型满足预设条件,以得到深度强化学习模型。
基于上述用于分布式计算集群的深度强化学习模型训练方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的用于分布式计算集群的深度强化学习模型训练方法中的步骤。
基于上述用于分布式计算集群的深度强化学习模型训练方法,本申请还提供了一种终端设备,如图6所示,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
此外,上述基于深度强化学习的调度方法的工作过程、用于分布式计算集群的深度强化学习模型训练装置的工作过程、存储介质以及终端设备中的多条指令处理器加载并执行的具体过程在上述方法中已经详细说明,在这里就不再一一陈述。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (12)
1.用于分布式计算集群调度的深度强化学习模型训练方法,其特征在于,所述方法包括:
采用深度强化学习框架建立若干第一调度模型和第二调度模型,其中,若干第一调度模型中每个第一调度模型均包括第一深度强化学习智能体,所述第二调度模型均包括第二深度强化学习智能体;所述若干第一调度模型中的每个第一调度模型均包括第一执行环境;
通过若干第一调度模型确定训练样本集,其中,所述训练样本集包括若干训练样本,若干训练样本中的每个训练样本均包括环境状态以及环境状态对应的奖励信息;所述奖励信息为所述第一调度模型中的第一执行环境基于所述环境状态确定的调度动作所确定的;所述环境状态至少包括:任务槽数量,每个作业的总工作量,总作业数;所述调度动作至少包括:为每个作业分配任务槽;
其中,所述通过若干第一调度模型确定训练样本集具体包括:
控制所述若干第一调度模型中的各所述第一调度模型同时工作,并控制各所述第一调度模型中的各所述第一执行环境同时将对应的环境状态输入各自对应的所述第一深度强化学习智能体;通过所述第一深度强化学习智能体输出调度动作,并将所述调度动作输入所述第一执行环境;
通过所述第一执行环境输出所述环境状态对应的奖励信息以及下一环境状态;
继续执行将环境状态输入该第一调度模型中的第一深度强化学习智能体的步骤,以得到所述第一调度模型对应的预设数量的训练样本;
基于各第一调度模型对应的预设数量的训练样本,确定训练样本集;
基于所述训练样本集训练所述第二调度模型,以得到经过训练的模型参数;
基于所述模型参数更新各第一调度模型中的第一深度强化学习智能体的模型参数,并继续执行通过若干第一调度模型确定训练样本集的步骤,直至第二调度模型满足预设条件,以得到用于分布式计算集群的深度强化学习模型;
其中,所述深度强化学习模型用于基于分布式计算集群的系统状态信息,确定调度动作,为分布式计算集群接收到的用户端发送的作业分配对应的任务槽;所述任务槽用于表征所述分布式计算集群的计算资源。
2.根据权利要求1所述用于分布式计算集群调度的深度强化学习模型训练方法,其特征在于,各第一调度模型中的第一深度强化学习智能体的模型结构均与第二调度模型中的第二深度强化学习智能体的模型结构相同。
3.根据权利要求1所述用于分布式计算集群调度的深度强化学习模型训练方法,其特征在于,若干第一调度模型中存在至少两个第一调度模型的执行环境配置的环境负载不同。
4.根据权利要求3所述用于分布式计算集群调度的深度强化学习模型训练方法,其特征在于,若干第一调度模型中存在至少两个第一调度模型对应的训练样本的数量不同。
5.根据权利要求1所述用于分布式计算集群调度的深度强化学习模型训练方法,其特征在于,所述基于所述训练样本集训练所述第二调度模型,以得到经过训练的模型参数具体包括:
将所述训练样本集中的训练样本输入所述第二调度模型中的第二深度强化学习智能体;
控制第二深度强化学习智能体基于训练样本修正其自身配置的模型参数,以得到经过训练的模型参数。
6.根据权利要求1所述用于分布式计算集群调度的深度强化学习模型训练方法,其特征在于,所述基于所述模型参数更新各第一调度模型中的第一深度强化学习智能体的模型参数具体包括:
对于若干第一调度模型中的每个第一调度模型,利用第一调度模型获取对第二调度模型进行训练得到的模型参数;
采用该模型参数替换该第一调度模型中的第一深度强化学习智能体配置的模型参数,以更新该第一调度模型的模型参数。
7.根据权利要求1所述用于分布式计算集群调度的深度强化学习模型训练方法,其特征在于,所述深度强化学习模型为所述第二调度模型中的第二深度学习智能体。
8.一种用于分布式计算集群的调度方法,其特征在于,应用如权利要求1-7任一所述的深度强化学习模型,所述用于分布式计算集群的调度方法包括:
获取调度系统的系统状态信息,并将系统状态信息输入深度强化学习模型;
通过所述深度强化学习模型确定该系统状态信息对应的调度动作,并基于该调度动作调度该调度系统中的被调度目标。
9.根据权利要求8所述用于分布式计算集群的调度方法,其特征在于,所述调度系统为分布式计算集群,所述被调度目标为基于系统中的资源抽象的任务槽。
10.用于分布式计算集群调度的深度强化学习模型训练装置,其特征在于,所述装置包括:
建立模块,用于采用深度强化学习框架建立若干第一调度模型和第二调度模型,其中,若干第一调度模型中每个第一调度模型均包括第一深度强化学习智能体,所述第二调度模型均包括第二深度强化学习智能体;所述若干第一调度模型中的每个第一调度模型均包括第一执行环境;
确定模块,用于通过若干第一调度模型确定训练样本集,其中,所述训练样本集包括若干训练样本,若干训练样本中的每个训练样本均包括环境状态以及环境状态对应的奖励信息;所述奖励信息为所述第一调度模型中的第一执行环境基于所述环境状态确定的调度动作所确定的;所述环境状态至少包括:任务槽数量,每个作业的总工作量,总作业数;所述调度动作至少包括:为每个作业分配任务槽;
其中,所述通过若干第一调度模型确定训练样本集具体包括:
控制所述若干第一调度模型中的各所述第一调度模型同时工作,并控制各所述第一调度模型中的各所述第一执行环境同时将对应的环境状态输入各自对应的所述第一深度强化学习智能体;通过所述第一深度强化学习智能体输出调度动作,并将所述调度动作输入所述第一执行环境;
通过所述第一执行环境输出所述环境状态对应的奖励信息以及下一环境状态;
继续执行将环境状态输入该第一调度模型中的第一深度强化学习智能体步骤,以得到该第一调度模型对应的预设数量的训练样本;
基于各第一调度模型对应的预设数量的训练样本,确定训练样本集;
训练模块,用于基于所述训练样本集训练所述第二调度模型,以得到经过训练的模型参数;
执行模块,用于基于所述模型参数更新各第一调度模型中的第一深度强化学习智能体的模型参数,并继续执行通过若干第一调度模型确定训练样本集的步骤,直至第二调度模型满足预设条件,以得到用于分布式计算集群调度的深度强化学习模型;
其中,所述深度强化学习模型用于基于分布式计算集群的系统状态信息,确定调度动作,为分布式计算集群接收到的用户端发送的作业分配对应的任务槽;所述任务槽用于表征所述分布式计算集群的计算资源。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-7任意一项所述的用于分布式计算集群调度的深度强化学习模型训练方法中的步骤,和/或以实现如权利要求8-9任意一项用于分布式计算集群的调度方法中的步骤。
12.一种终端设备,其特征在于,包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1-7任意一项所述的用于分布式计算集群调度的深度强化学习模型训练方法中的步骤,和/或实现如权利要求8-9任意一项所述的用于分布式计算集群的调度方法中的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110387715.7A CN113033806B (zh) | 2021-04-12 | 2021-04-12 | 用于分布式计算集群调度的深度强化学习模型训练方法、装置及调度方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110387715.7A CN113033806B (zh) | 2021-04-12 | 2021-04-12 | 用于分布式计算集群调度的深度强化学习模型训练方法、装置及调度方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113033806A CN113033806A (zh) | 2021-06-25 |
CN113033806B true CN113033806B (zh) | 2023-07-18 |
Family
ID=76456442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110387715.7A Active CN113033806B (zh) | 2021-04-12 | 2021-04-12 | 用于分布式计算集群调度的深度强化学习模型训练方法、装置及调度方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113033806B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113469372A (zh) * | 2021-07-02 | 2021-10-01 | 北京市商汤科技开发有限公司 | 强化学习训练方法、装置、电子设备以及存储介质 |
CN115080248B (zh) * | 2022-08-19 | 2023-01-10 | 中兴通讯股份有限公司 | 调度装置的调度优化方法、调度装置和存储介质 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104408518A (zh) * | 2014-11-12 | 2015-03-11 | 山东地纬数码科技有限公司 | 基于粒子群优化算法的神经网络学习优化方法 |
CN104750745A (zh) * | 2013-12-30 | 2015-07-01 | 华为技术有限公司 | 一种智能体处理信息的方法及智能体 |
CN111417964A (zh) * | 2018-02-05 | 2020-07-14 | 渊慧科技有限公司 | 使用异策略行动者-评价者强化学习进行分布式训练 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11586976B2 (en) * | 2019-07-23 | 2023-02-21 | Dell Products, L.P. | Method and apparatus for creating tests for execution in a storage environment |
-
2021
- 2021-04-12 CN CN202110387715.7A patent/CN113033806B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104750745A (zh) * | 2013-12-30 | 2015-07-01 | 华为技术有限公司 | 一种智能体处理信息的方法及智能体 |
CN104408518A (zh) * | 2014-11-12 | 2015-03-11 | 山东地纬数码科技有限公司 | 基于粒子群优化算法的神经网络学习优化方法 |
CN111417964A (zh) * | 2018-02-05 | 2020-07-14 | 渊慧科技有限公司 | 使用异策略行动者-评价者强化学习进行分布式训练 |
Also Published As
Publication number | Publication date |
---|---|
CN113033806A (zh) | 2021-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11120368B2 (en) | Scalable and efficient distributed auto-tuning of machine learning and deep learning models | |
Tuli et al. | COSCO: Container orchestration using co-simulation and gradient based optimization for fog computing environments | |
JP7138150B2 (ja) | 分散型トレーニング方法、システム、デバイス、記憶媒体、及びプログラム | |
US10649806B2 (en) | Elastic management of machine learning computing | |
US20200257968A1 (en) | Self-learning scheduler for application orchestration on shared compute cluster | |
CN115248728B (zh) | 面向智能计算的分布式训练任务调度方法、系统和装置 | |
CN113033806B (zh) | 用于分布式计算集群调度的深度强化学习模型训练方法、装置及调度方法 | |
US9104973B2 (en) | Elementary network description for neuromorphic systems with plurality of doublets wherein doublet events rules are executed in parallel | |
US8719199B2 (en) | Systems and methods for providing a neural network having an elementary network description for efficient implementation of event-triggered plasticity rules | |
Kintsakis et al. | Reinforcement learning based scheduling in a workflow management system | |
US8434085B2 (en) | Scalable scheduling of tasks in heterogeneous systems | |
US11436050B2 (en) | Method, apparatus and computer program product for resource scheduling | |
US20130073498A1 (en) | Elementary network description for efficient link between neuronal models and neuromorphic systems | |
DE102020108374A1 (de) | Verfahren und vorrichtung zur laufzeitmehrfachplanung von software, die in einem heterogenen system ausgeführt wird | |
CN111708641A (zh) | 一种内存管理方法、装置、设备及计算机可读存储介质 | |
CN111209077A (zh) | 深度学习框架设计方法 | |
CN114840322B (zh) | 任务调度方法及装置、电子设备和存储 | |
CN113434282B (zh) | 流计算任务的发布、输出控制方法及装置 | |
CN114237869B (zh) | 基于强化学习的Ray双层调度方法、装置和电子设备 | |
CN110569113A (zh) | 分布式任务的调度方法及系统、计算机可读存储介质 | |
CN113240100B (zh) | 基于离散Hopfield神经网络的并行计算方法及系统 | |
Baheri | Mars: Multi-scalable actor-critic reinforcement learning scheduler | |
CN108897608B (zh) | 一种数据驱动可扩展的智能通用任务调度系统 | |
CN112463334B (zh) | 一种训练任务排队原因分析方法、系统、设备以及介质 | |
CN114310879A (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 |