CN115934344A - 异构分布式强化学习计算方法、系统及存储介质 - Google Patents
异构分布式强化学习计算方法、系统及存储介质 Download PDFInfo
- Publication number
- CN115934344A CN115934344A CN202211665817.1A CN202211665817A CN115934344A CN 115934344 A CN115934344 A CN 115934344A CN 202211665817 A CN202211665817 A CN 202211665817A CN 115934344 A CN115934344 A CN 115934344A
- Authority
- CN
- China
- Prior art keywords
- module
- data
- training evaluation
- reinforcement learning
- heterogeneous
- 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
Images
Classifications
-
- 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
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种异构分布式强化学习计算方法、系统及存储介质,涉及人工智能技术领域,方法包括:根据执行模块配置的配置信息,对执行模块、数据管理模块及训练评估模块进行异构计算集群的资源分配;其中,资源分配包括分配运行节点和运行节点对应的计算任务;通过执行模块、数据管理模块及训练评估模块各自分配的运行节点和对应的计算任务,确定目标策略合集;其中,执行模块用于轮询获取当前的轨迹状态数据,并将轨迹状态数据通过数据管理模块以批量形式输出给训练评估模块;训练评估模块用于对轨迹状态数据进行学习并记录学习进展,直至通过训练评估模块评估学习进展符合预设的停止条件。通过这种方法,能够实现多层次并行功能,适配大规模异构计算集群。
Description
技术领域
本申请涉及人工智能技术领域,尤其涉及一种异构分布式强化学习计算方法、系统及存储介质。
背景技术
在大规模计算集群中不同节点、节点内部的计算硬件可能是异构的,如一些节点可能仅有CPU,一些节点是CPU加GPU,一些节点是CPU+推理卡,一些节点是CPU+训练卡;异构体系对计算构成了约束,使得某类计算只能在特定节点和设备上进行,如基于反向传播梯度下降的学习算法只能在训练卡进行计算,无法在推理卡处理。相关技术中,在强化学习的分布式训练系统中并未考虑异构架构带来的复杂性,无法根据任务的计算特性和数据通信要求自动分配推理、训练和环境交互等任务到相关计算节点,也无法在每个节点中根据CPU核数、线程数,以及GPU、推理或训练卡等加速卡数目再次分配计算任务,导致不能实现多层次并行功能,进而导致不能适配大规模异构计算集群。
发明内容
本申请旨在至少解决现有技术中存在的技术问题之一。为此,本申请提出一种异构分布式强化学习计算方法、系统及存储介质,能够实现多层次并行功能,适配大规模异构计算集群。
第一方面,本申请实施例提供了一种异构分布式强化学习计算方法,所述方法应用于异构分布式强化学习系统,所述异构分布式强化学习系统包括控制模块、执行模块、数据管理模块及训练评估模块;所述方法包括:
根据所述执行模块配置的配置信息,对所述执行模块、所述数据管理模块及所述训练评估模块进行异构计算集群的资源分配;其中,所述资源分配包括分配运行节点和所述运行节点对应的计算任务;
通过所述执行模块、所述数据管理模块及所述训练评估模块各自分配的运行节点和对应的计算任务,确定目标策略合集;
其中,所述执行模块用于轮询获取当前的轨迹状态数据,并将所述轨迹状态数据通过所述数据管理模块以批量形式输出给所述训练评估模块;所述训练评估模块用于对所述轨迹状态数据进行学习并记录学习进展,直至通过所述训练评估模块评估所述学习进展符合预设的停止条件。
根据本申请实施例中提供的一个或多个技术方案,至少具有如下有益效果:根据执行模块配置的配置信息,对执行模块、数据管理模块及训练评估模块进行异构计算集群的资源分配;其中,资源分配包括分配运行节点和运行节点对应的计算任务;通过执行模块轮询获取当前的轨迹状态数据,并将轨迹状态数据通过数据管理模块以批量形式输出给训练评估模块,以通过训练评估模块对轨迹状态数据进行学习并记录学习进展,直至通过训练评估模块评估所述学习进展符合预设的停止条件,输出目标策略合集。与相关技术相比,本申请采用可扩展、分布式设计,可支持异构计算节点进行强化学习训练,适用于包含CPU、GPU、训练卡、推理卡等多种异构计算硬件的智能计算中心,能够实现多层次并行功能,适配大规模异构计算集群。
根据本申请第一方面的一些实施例,所述配置信息包括算法参数,所述根据所述执行模块配置的配置信息,对所述执行模块、所述数据管理模块及所述训练评估模块进行异构计算集群的资源分配,包括:
根据所述算法参数中的至少一种算法类型,确定各所述算法类型对应的资源映射表;
根据所述资源映射表中存储的硬件特性,从所述异构计算集群的计算资源中选取与所述算法类型对应的运行节点;
根据所述资源映射表中存储的硬件资源信息,确定所述算法类型对应的运行节点上运行的计算任务。
根据本申请第一方面的一些实施例,所述配置信息包括算法参数,所述资源分配还包括计算图,所述根据所述执行模块配置的配置信息,对所述执行模块、所述数据管理模块及所述训练评估模块进行异构计算集群的资源分配,包括:
根据所述算法参数中的至少一种算法类型,确定各所述算法类型对应的计算图;
根据所述计算图,确定所述算法类型对应的计算任务的接口调用方式;其中,所述接口调用方式为本地或远程调用。
根据本申请第一方面的一些实施例,当所述执行模块执行第一算法类型对应的算法时,通过所述执行模块轮询获取轨迹状态数据,包括:
通过所述执行模块中的多个行动者从所述数据管理模块中的参数服务单元获取模型参数;
根据所述模型参数,对每一所述行动者的第一自身策略进行更新,得到当前的第二自身策略;
通过多个所述行动者从模拟环境中获取对应的多个状态数据;
根据每一所述行动者的第二自身策略将所述状态数据形成动作反馈并输出给模拟环境,得到轨迹状态数据。
根据本申请第一方面的一些实施例,通过所述训练评估模块对所述轨迹状态数据进行学习并记录学习进展,包括:
通过所述训练评估模块中的多个学习者根据所述轨迹状态数据更新所述模型参数,并将更新后的所述模型参数输出给所述参数服务单元。
根据本申请第一方面的一些实施例,当所述执行模块执行第二算法类型对应的算法时,通过所述训练评估模块对所述轨迹状态数据进行学习并记录学习进展,包括:
通过所述训练评估模块中的评估者单元评估所述第二算法类型的种群信息,并根据所述种群信息选择第一种群数据集;
在所述第一种群数据集中,通过所述训练评估模块中的种群算子单元产生新种群,得到第二种群数据集并将所述第二种群数据集输出给所述数据管理模块的种群信息单元。
根据本申请第一方面的一些实施例,通过所述执行模块轮询获取轨迹状态数据,包括:
通过所述执行模块中的多个行动者从所述种群信息单元获取所述第二种群数据集;
将所述第二种群数据集与所述执行模块中的模拟环境进行交互,得到当前的轨迹状态数据。
根据本申请第一方面的一些实施例,所述将所述轨迹状态数据通过所述数据管理模块以批量形式输出给所述训练评估模块,包括:
将所述轨迹状态数据输出给所述数据管理模块,以使所述数据管理模块将所述轨迹状态数据存储在数据缓存队列中,并以批量形式将所述轨迹状态数据输出给所述训练评估模块。
根据本申请第二方面实施例的异构分布式强化学习计算系统,其包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如上述第一方面所述的异构分布式强化学习计算方法。
根据本申请第三方面实施例的计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行上述第一方面所述的异构分布式强化学习计算方法。
本申请的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本申请的实践了解到。
附图说明
附图用来提供对本申请技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本申请的技术方案,并不构成对申请技术方案的限制。
图1是本申请实施例提供的异构分布式强化学习计算方法的流程示意图;
图2是本申请一个实施例提供的异构分布式强化学习系统的结构示意图;
图3是本申请一个实施例提供的资源分配的流程示意图;
图4是本申请一个实施例提供的确定接口调用方式的流程示意图;
图5是本申请一个实施例提供的获取轨迹状态数据的流程示意图;
图6是本申请另一个实施例提供的更新模型参数的流程示意图;
图7是本申请另一个实施例提供的获取第二种群数据集的流程示意图;
图8是本申请另一个实施例提供的获取轨迹状态数据的流程示意图;
图9是本申请另一个实施例提供的将轨迹状态数据输出给训练评估模块的流程示意图;
图10是本申请另一个实施例提供的异构分布式强化学习计算方法的流程示意图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本申请,并不用于限定本申请。
需要说明的是,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。
强化学习是人工智能主要研究领域之一,近年来随着人工智能硬件芯片、深度学习算法的蓬勃发展取得了一些列令人瞩目的成果,彰显出巨大的科学研究价值和应用潜力,成为国际学术界、工业界研究前沿研究方向和热点。强化学习是采用反馈试错方式与环境持续交互以学习到一个最优策略,这个过程中需要与环境进行大量交互反馈以采集足够多的数据,加以适当的算法进行处理最后得到表现良好的智能体。当智能体面临的场景、环境复杂,智能体策略模型庞大,以及存在大量智能体交互时,对数据、算力的要求使得分布式计算几乎成为唯一求解途径。
相关技术中提出的强化学习的分布式训练系统是目前强化学习分布式训练主要的方案之一,主要有参数服务器、行动器、学习器和回放存储器构成,行动器根据参数服务器得到神经网络参数,其中的代理根据网络参数从预设的动作集中选择与环境交互的动作,产生经验元组传送到回放存储器,学习器从参数服务器得到网络参数,从回放存储器中选择经验元组,计算梯度传回参数服务器更新神经网络参数。
但在大规模计算集群中不同节点、节点内部的计算硬件可能是异构的,如一些节点可能仅有CPU,一些节点是CPU加GPU,一些节点是CPU+推理卡,一些节点是CPU+训练卡;异构体系对计算构成了约束,使得某类计算只能在特定节点和设备上进行,如基于反向传播梯度下降的学习算法只能在训练卡进行计算,无法在推理卡处理。相关技术中,在强化学习的分布式训练系统中并未考虑异构架构带来的复杂性,无法根据任务的计算特性和数据通信要求自动分配推理、训练和环境交互等任务到相关计算节点,也无法在每个节点中根据CPU核数、线程数,以及GPU、推理或训练卡等加速卡数目再次分配计算任务,导致不能实现多层次并行功能,进而导致不能适配大规模异构计算集群。
基于上述情况,本申请实施例提供了一种异构分布式强化学习计算方法、系统及存储介质,能够实现多层次并行功能,适配大规模异构计算集群。
下面结合附图,对本申请实施例作进一步阐述。
本申请第一方面实施例具体提供一种异构分布式强化学习计算方法,如图1所示,异构分布式强化学习计算方法应用于异构分布式强化学习系统,异构分布式强化学习系统包括控制模块、执行模块、数据管理模块及训练评估模块;异构分布式强化学习计算方法包括但不限于以下步骤:
步骤S100,根据执行模块配置的配置信息,对执行模块、数据管理模块及训练评估模块进行异构计算集群的资源分配;其中,资源分配包括分配运行节点和运行节点对应的计算任务;
步骤S200,通过执行模块、数据管理模块及训练评估模块各自分配的运行节点和对应的计算任务,确定目标策略合集;
其中,执行模块用于轮询获取当前的轨迹状态数据,并将轨迹状态数据通过数据管理模块以批量形式输出给训练评估模块;训练评估模块用于对轨迹状态数据进行学习并记录学习进展,直至通过训练评估模块评估学习进展符合预设的停止条件。
需要说明的是,参照图2,异构计算集群中包括的运行节点的类型有:CPU、CPU+GPU、CPU+推理卡及CPU+训练卡。进行异构计算集群的资源分配包括根据算法的计算特性和接口调用方式自动分配推理、训练及环境交互等任务到对应的运行节点,在每一运行节点能够根据CPU核数、线程数以及GPU、推理卡或训练卡等加速卡数目再次分配计算任务,进而实现多层次并行功能。
本申请通过这种方法,采用可扩展、分布式设计,可支持异构计算节点进行强化学习训练,适用于包含CPU、GPU、训练卡、推理卡等多种异构计算硬件的智能计算中心,能够实现多层次并行功能,适配大规模异构计算集群。
相关技术中,未考虑强化学习算法的复杂性,往往只适用于某一类强化学习算法。但不同类别的强化学习算法的结构不同,分类也是多维度的,比如根据是否学习环境可以分为基于模型的和无模型的,根据策略侧重点可以分为基于值函数的和基于策略的,根据学习方法可以分为在线学习、离线学习,根据优化方法可以分为无梯度和基于梯度下降的等,多智能体强化学习更是增加了其中的复杂性,涉及不同的训练范式和执行范式,如中心化和分布式,智能体间可能会涉及通信协助和信用分配,以及异构智能体、基于种群的算法涉及到的不同智能体间的策略相互作用从而带来更复杂的数据依赖关系。基于此,本申请提供的异构分布式强化学习计算方法支持多种类别的强化学习算法,包括但不限于基于值的强化学习算法、基于策略梯度的强化学习算法、多智能体算法,基于种群的强化学习算法及无梯度的进化算法,同时采用模块化、可复用性、灵活的设计,便于研究人员使用和开发新算法。
具体地,参照图2,本申请提供的异构分布式强化学习计算方法应用于异构分布式强化学习系统,异构分布式强化学习系统包括控制模块、执行模块、数据管理模块及训练评估模块,其中,执行模块、数据管理模块及训练评估模块构成了异构分布式强化学习系统的核心,也是强化学习算法的核心;控制模块包括任务分配单元、监控统计单元及日志存储单元,控制模块用于在分布式异构集群环境下进行计算任务分配、进程监控、数据统计和记录;数据管理模块包括参数服务单元、种群信息单元及数据缓存,数据管理模块是用于收集执行模块产生的中间数据,如轨迹状态数据,并将该中间数据存储到特定数据结构里,如优先队列,以供训练评估模块使用;训练评估模块由多个学习者、评估者单元和种群算子单元组成,利用数据管理模块中的数据进行采样学习和优化,更新相关值函数或算法类型及算法参数,并将相关数据同步到数据管理模块中,由数据管理模块更新每个执行单元中的相关参数。
需要说明的是,执行模块可以包括一个执行单元,为加强采样效率,执行模块也可以包括多个执行单元,多个执行单元在不同的线程或进程中并发运行,每个执行单元里有单独的模拟环境和行动者集合,每个行动者之间也可能会进行数据交互,对应于多智能体场景下的通信协助情况。
示例性的,支持异构多智能体强化学习算法的流程包括:异构多智能体主要通过执行单元中多个行动者来完成,每个行动者对应一个智能体,而执行单元中每个行动者的策略可能是不同的,这些行动者之间可以有信息交换,从而完成对各种异构多智能体算法的支持。
需要说明的是,控制模块还用于负责计算和数据单元在异构硬件集群节点中的映射和管理,保障相关计算任务稳定运行。
需要说明的是,参照图10,步骤S100,根据执行模块配置的配置信息,对执行模块、数据管理模块及训练评估模块进行异构计算集群的资源分配之前,需对执行模块、数据管理模块及训练评估模块分别进行初始化。
需要说明的是,在步骤S100中,配置信息包括的是需要到的异构计算集群、算法参数,算法参数中包括算法类型,根据算法类型可以得到与该算法对应的算法的计算特性。当控制模块完成执行模块、数据管理模块、训练评估模块在异构计算集群中的分配,计算集群中的资源调度和作业系统(如K8s或slurm)会完成计算任务到计算硬件的具体映射。
需要说明的是,输出的目标策略合集,执行者中的多个行动者根据该目标策略合集中对应的策略执行任务。
参照图3,可以理解的是,配置信息包括算法参数,步骤S100,包括但不限于以下步骤:
步骤S110,根据算法参数中的至少一种算法类型,确定各算法类型对应的资源映射表;
步骤S120,根据资源映射表中存储的硬件特性,从异构计算集群的计算资源中选取与算法类型对应的运行节点;
步骤S130,根据资源映射表中存储的硬件资源信息,确定算法类型对应的运行节点上运行的计算任务。
需要说明的是,资源映射表中存储了集群中的硬件资源情况和相关计算函数/方法在不同节点中的分配情况。
示例性的,支持在异构计算集群上进行分布式强化学习计算的具体流程包括:异构分布式强化学习系统中控制模块中的任务分配单元维护一张计算资源映射表,该资源映射表记录了强化学习各个算法需要的硬件特性,硬件特性包括各个算法需要在CPU、或GPU、或推理卡、又或者训练卡上计算运行;同时资源映射表存储了异构集群中的硬件资源情况,在启动计算时任务分配单元会自动根据该资源映射表去分配相关的计算任务,从而支持异构计算,即将强化学习相关计算函数/方法在运行节点(CPU/CPU+GPU/CPU+推理卡/CPU+训练卡)完成分配。
参照图4,可以理解的是,配置信息包括算法参数,资源分配还包括计算图,配置信息包括算法参数,步骤S100,包括但不限于以下步骤:
步骤S101,根据算法参数中的至少一种算法类型,确定各算法类型对应的计算图;
步骤S102,根据计算图,确定算法类型对应的计算任务的接口调用方式;其中,接口调用方式为本地或远程调用。
需要说明的是,计算图是维护了算法计算过程中涉及到的数据通信或远程过程调用的函数/方法的关系,对于算法开发者而言,无需关注某函数/方法是在本地进行还是通过远程调用实现,即对于本地式开发和分布式执行,任务分配模块会根据算法中计算特性生成对应的计算图,当程序中调用一个方法进行计算时,会根据该计算图进行本地或远程调用。
参照图5和图10,可以理解的是,当执行模块执行第一算法类型对应的算法时,通过执行模块轮询获取轨迹状态数据,包括但不限于以下步骤:
步骤S201,通过执行模块中的多个行动者从数据管理模块中的参数服务单元获取模型参数;
步骤S202,根据模型参数,对每一行动者的第一自身策略进行更新,得到当前的第二自身策略;
步骤S203,通过多个行动者从模拟环境中获取对应的多个状态数据;
步骤S204,根据每一行动者的第二自身策略将状态数据形成动作反馈并输出给模拟环境,得到轨迹状态数据。
需要说明的是,第一算法类型为非种群类算法。参照图10,执行模块中的执行单元由模拟环境和多个行动者组成,用于完成多个智能体与环境进行交互的计算,得到当前的轨迹状态数据。将模型参数与执行模块中的模拟环境进行交互,得到当前的轨迹状态数据具体指步骤S202至步骤S204。
需要说明的是,由执行单元、数据管理模块和训练评估模块构成的系统是对强化学习算法一种凝练的抽象概括,内嵌了强化学习过程中完整的逻辑,通过不同的组合和扩展可以得到不同的算法,例如:对于多智能体中的独立式和中心式学习模式可通过定义智能体间的信息在学习者是否共享实现,多智能体通信交互只需在执行单元中的行动者加入相关的通信接口;离线算法模型和在线算法模型主要区别在于否利用数据管理服务模块中的经验回放池,同步和异步学习模式则由训练评估模块与数据管理模块之间的更新方式决定。因此,本实施例提供的异构分布式强化学习计算方法可以支持多样化的强化学习算法。
参照图6和图10,可以理解的是,通过训练评估模块对轨迹状态数据进行学习并记录学习进展,包括但不限于以下步骤:
步骤S205,通过训练评估模块中的多个学习者根据轨迹状态数据更新模型参数,并将更新后的模型参数输出给参数服务单元。
需要说明的是,模型参数多为策略参数,例如:若行动者的自身策略为神经网路,则与该行动者对应的模型参数主要包括神经权重。
需要说明的是,将更新后的模型参数输出给参数服务单元后,以使执行单元中的多个行动者从数据管理模块中的参数服务单元获取模型参数,并根据模型参数进行自身策略优化,得到当前的第二自身策略,再根据每一行动者的第二自身策略将对应的状态数据形成动作反馈并输出给模拟环境,得到当前的轨迹状态数据。同时记录当前学习进展,以使训练评估模块评估当前的学习进展是否符合预设的停止条件,若符合,则输出目标策略合集;若当前的学习进展不符合预设的停止条件,则重新返回步骤S200。
参照图7,可以理解的是,当执行模块执行第二算法类型对应的算法时,通过训练评估模块对轨迹状态数据进行学习并记录学习进展,包括但不限于以下步骤:
步骤S210,通过训练评估模块中的评估者单元评估第二算法类型的种群信息,并根据种群信息选择第一种群数据集;
步骤S220,在第一种群数据集中,通过训练评估模块中的种群算子单元产生新种群,得到第二种群数据集并将第二种群数据集输出给数据管理模块的种群信息单元。
需要说明的是,第二类算法为种群类算法。参照图2,训练评估模块包括评估者单元、种群算子单元和多个学习者,评估者单元和种群算子单元可以用来处理涉及种群情况的数据分析以实现对基于种群的算法和进化算法的支持。
示例性的,支持无梯度的进化学习算法的流程为:异构分布式强化学习系统中训练评估模块中有评估者单元和种群算子单元这两个单元,对于无梯度进化学习算法,评估者单元可以对参与进化学习的群体进行评估选出优胜者即第一种群数据集,种群算子单元在第一种群数据集产生新的种群形成第二种群数据集,将第二种群数据集传送给数据管理模块更新相关种群信息,再将该种群信息传给执行单元进一步进行进化学习计算。
示例性的,支持基于种群的强化学习算法的流程为:数据管理模块中包括种群信息单元,训练评估模块中包括种群算子单元和评估者单元,这些单元可以记录种群的信息、评估种群学习效果以及产生新的种群从而可以支持基于种群的强化学习算法。
需要说明的是,在执行步骤S210至步骤S220时,同时记录当前学习进展,以使训练评估模块评估当前的学习进展是否符合预设的停止条件,若符合,则输出目标策略合集;若当前的学习进展不符合预设的停止条件,则重新返回步骤S200。
参照图8,可以理解的是,通过执行模块轮询获取轨迹状态数据,包括但不限于以下步骤:
步骤S221,通过执行模块中的多个行动者从种群信息单元获取第二种群数据集;
步骤S222,将第二种群数据集与执行模块中的模拟环境进行交互,得到当前的轨迹状态数据。
需要说明的是,步骤S222具体包括:根据第二种群数据集,对每一行动者的第三自身策略进行更新,得到当前的第四自身策略,通过多个行动者从模拟环境中获取对应的多个状态数据,根据每一行动者的第四自身策略将状态数据形成动作反馈并输出给模拟环境,得到当前的轨迹状态数据。
参照图9,可以理解的是,将轨迹状态数据通过数据管理模块以批量形式输出给训练评估模块,包括但不限于以下步骤:
步骤S230,将轨迹状态数据输出给数据管理模块,以使数据管理模块将轨迹状态数据存储在数据缓存队列中,并以批量形式将轨迹状态数据输出给训练评估模块。
需要说明的是,本申请提供的异构分布式强化学习计算方法还具有高效性。具体分析为:执行模块、数据管理模块、训练评估模块将强化学习算法中的数据流和不同计算类型进行了解耦处理,分别对应于强化学习计算过程中的采样、数据收集、训练、评估优化等关键步骤,控制模块则处理计算在不同硬件设备的分发,这样的分类分层的模块化设计使得对异构分布式强化学习系统的优化更加具有针对性。
另外,本申请第二方面实施例还提供了一种异构异构分布式强化学习计算,该异构分布式强化学习计算包括:存储器、处理器及存储在存储器上并可在所述处理器上运行的计算机程序。
处理器和存储器可以通过总线或者其他方式连接。
存储器作为一种非暂态计算机可读存储介质,可用于存储非暂态软件程序以及非暂态性计算机可执行程序。此外,存储器可以包括高速随机存取存储器,还可以包括非暂态存储器,例如至少一个磁盘存储器件、闪存器件、或其他非暂态固态存储器件。在一些实施方式中,存储器可选包括相对于处理器远程设置的存储器,这些远程存储器可以通过网络连接至该处理器。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
实现上述第一方面实施例的异构分布式强化学习计算方法所需的非暂态软件程序以及指令存储在存储器中,当被处理器执行时,执行上述实施例中的异构分布式强化学习计算方法,例如,执行以上描述的图1中的方法步骤S100至S200、图3中的方法步骤S110至130、图4中的方法步骤S101至102、图5中的方法步骤S201至204、图6中的方法步骤S205、图7中的方法步骤S210至220、图8中的方法步骤S221至222、图9中的方法步骤S230。
以上所描述的设备实施例仅仅是示意性的,其中作为分离部件说明的单元可以是或者也可以不是物理上分开的,即可以落入一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
此外,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个处理器或控制模块执行,例如,被上述设备实施例中的一个处理器执行,可使得上述处理器执行上述第一方面实施例中的异构分布式强化学习计算方法,例如,执行以上描述的图1中的方法步骤S100至S200、图3中的方法步骤S110至130、图4中的方法步骤S101至102、图5中的方法步骤S201至204、图6中的方法步骤S205、图7中的方法步骤S210至220、图8中的方法步骤S221至222、图9中的方法步骤S230。
本领域普通技术人员可以理解,上文中所公开方法中的全部或某些步骤、系统可以被实施为软件、固件、硬件及其适当的组合。某些物理组件或所有物理组件可以被实施为由处理器,如中央处理器、数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
以上是对本申请的较佳实施进行了具体说明,但本申请并不局限于上述实施方式,熟悉本领域的技术人员在不违背本申请精神的前提下还可作出种种的等同变形或替换,这些等同的变形或替换均包含在本申请权利要求所限定的范围内。
Claims (10)
1.一种异构分布式强化学习计算方法,其特征在于,所述方法应用于异构分布式强化学习系统,所述异构分布式强化学习系统包括控制模块、执行模块、数据管理模块及训练评估模块;所述方法包括:
根据所述执行模块配置的配置信息,对所述执行模块、所述数据管理模块及所述训练评估模块进行异构计算集群的资源分配;其中,所述资源分配包括分配运行节点和所述运行节点对应的计算任务;
通过所述执行模块、所述数据管理模块及所述训练评估模块各自分配的运行节点和对应的计算任务,确定目标策略合集;
其中,所述执行模块用于轮询获取当前的轨迹状态数据,并将所述轨迹状态数据通过所述数据管理模块以批量形式输出给所述训练评估模块;所述训练评估模块用于对所述轨迹状态数据进行学习并记录学习进展,直至通过所述训练评估模块评估所述学习进展符合预设的停止条件。
2.根据权利要求1所述的异构分布式强化学习计算方法,其特征在于,所述配置信息包括算法参数,所述根据所述执行模块配置的配置信息,对所述执行模块、所述数据管理模块及所述训练评估模块进行异构计算集群的资源分配,包括:
根据所述算法参数中的至少一种算法类型,确定各所述算法类型对应的资源映射表;
根据所述资源映射表中存储的硬件特性,从所述异构计算集群的计算资源中选取与所述算法类型对应的运行节点;
根据所述资源映射表中存储的硬件资源信息,确定所述算法类型对应的运行节点上运行的计算任务。
3.根据权利要求1所述的异构分布式强化学习计算方法,其特征在于,所述配置信息包括算法参数,所述资源分配还包括计算图,所述根据所述执行模块配置的配置信息,对所述执行模块、所述数据管理模块及所述训练评估模块进行异构计算集群的资源分配,包括:
根据所述算法参数中的至少一种算法类型,确定各所述算法类型对应的计算图;
根据所述计算图,确定所述算法类型对应的计算任务的接口调用方式;其中,所述接口调用方式为本地或远程调用。
4.根据权利要求1所述的异构分布式强化学习计算方法,当所述执行模块执行第一算法类型对应的算法时,通过所述执行模块轮询获取轨迹状态数据,包括:
通过所述执行模块中的多个行动者从所述数据管理模块中的参数服务单元获取模型参数;
根据所述模型参数,对每一所述行动者的第一自身策略进行更新,得到当前的第二自身策略;
通过多个所述行动者从模拟环境中获取对应的多个状态数据;
根据每一所述行动者的第二自身策略将所述状态数据形成动作反馈并输出给模拟环境,得到轨迹状态数据。
5.根据权利要求4所述的异构分布式强化学习计算方法,其特征在于,通过所述训练评估模块对所述轨迹状态数据进行学习并记录学习进展,包括:
通过所述训练评估模块中的多个学习者根据所述轨迹状态数据更新所述模型参数,并将更新后的所述模型参数输出给所述参数服务单元。
6.根据权利要求1所述的异构分布式强化学习计算方法,其特征在于,当所述执行模块执行第二算法类型对应的算法时,通过所述训练评估模块对所述轨迹状态数据进行学习并记录学习进展,包括:
通过所述训练评估模块中的评估者单元评估所述第二算法类型的种群信息,并根据所述种群信息选择第一种群数据集;
在所述第一种群数据集中,通过所述训练评估模块中的种群算子单元产生新种群,得到第二种群数据集并将所述第二种群数据集输出给所述数据管理模块的种群信息单元。
7.根据权利要求6所述的异构分布式强化学习计算方法,其特征在于,通过所述执行模块轮询获取轨迹状态数据,包括:
通过所述执行模块中的多个行动者从所述种群信息单元获取所述第二种群数据集;
将所述第二种群数据集与所述执行模块中的模拟环境进行交互,得到当前的轨迹状态数据。
8.根据权利要求1所述的异构分布式强化学习计算方法,其特征在于,所述将所述轨迹状态数据通过所述数据管理模块以批量形式输出给所述训练评估模块,包括:
将所述轨迹状态数据输出给所述数据管理模块,以使所述数据管理模块将所述轨迹状态数据存储在数据缓存队列中,并以批量形式将所述轨迹状态数据输出给所述训练评估模块。
9.一种异构分布式强化学习计算,其特征在于,包括:存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现如权利要求1至8中任一项所述的异构分布式强化学习计算方法。
10.一种计算机可读存储介质,其特征在于:所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于执行如权利要求1至8中任一项所述的异构分布式强化学习计算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211665817.1A CN115934344A (zh) | 2022-12-23 | 2022-12-23 | 异构分布式强化学习计算方法、系统及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211665817.1A CN115934344A (zh) | 2022-12-23 | 2022-12-23 | 异构分布式强化学习计算方法、系统及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115934344A true CN115934344A (zh) | 2023-04-07 |
Family
ID=86555407
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211665817.1A Pending CN115934344A (zh) | 2022-12-23 | 2022-12-23 | 异构分布式强化学习计算方法、系统及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115934344A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116450486A (zh) * | 2023-06-16 | 2023-07-18 | 浪潮电子信息产业股份有限公司 | 多元异构计算系统内节点的建模方法、装置、设备及介质 |
CN116755862A (zh) * | 2023-08-11 | 2023-09-15 | 之江实验室 | 一种算子优化调度模型的训练方法、装置、介质及设备 |
-
2022
- 2022-12-23 CN CN202211665817.1A patent/CN115934344A/zh active Pending
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 | 浪潮电子信息产业股份有限公司 | 多元异构计算系统内节点的建模方法、装置、设备及介质 |
CN116755862A (zh) * | 2023-08-11 | 2023-09-15 | 之江实验室 | 一种算子优化调度模型的训练方法、装置、介质及设备 |
CN116755862B (zh) * | 2023-08-11 | 2023-12-19 | 之江实验室 | 一种算子优化调度模型的训练方法、装置、介质及设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109947567B (zh) | 一种多智能体强化学习调度方法、系统及电子设备 | |
Guo et al. | Cloud resource scheduling with deep reinforcement learning and imitation learning | |
CN115934344A (zh) | 异构分布式强化学习计算方法、系统及存储介质 | |
Gu et al. | Liquid: Intelligent resource estimation and network-efficient scheduling for deep learning jobs on distributed GPU clusters | |
CN112416585B (zh) | 面向深度学习的gpu资源管理与智能化调度方法 | |
CN111538586A (zh) | 集群gpu资源管理调度系统、方法以及计算机可读存储介质 | |
CN112799817A (zh) | 一种微服务资源调度系统和方法 | |
CN113806018B (zh) | 基于神经网络和分布式缓存的Kubernetes集群资源混合调度方法 | |
CN111708641B (zh) | 一种内存管理方法、装置、设备及计算机可读存储介质 | |
CN111669291A (zh) | 基于深度强化学习的虚拟化网络服务功能链部署方法 | |
CN110795226B (zh) | 利用计算机系统处理任务的方法、电子设备和存储介质 | |
CN112329948A (zh) | 一种多智能体策略预测方法及装置 | |
CN113946431B (zh) | 一种资源调度方法、系统、介质及计算设备 | |
CN104050043A (zh) | 基于共享缓存感知的虚拟机调度方法和装置 | |
CN113807714B (zh) | 资源分配的方法、装置、设备、存储介质及程序产品 | |
CN114546608A (zh) | 一种基于边缘计算的任务调度方法 | |
CN115686846B (zh) | 边缘计算中融合图神经网络和强化学习的容器集群在线部署方法 | |
CN115543626A (zh) | 采用异构计算资源负载均衡调度的电力缺陷图像仿真方法 | |
Han et al. | EdgeTuner: Fast scheduling algorithm tuning for dynamic edge-cloud workloads and resources | |
CN116047934A (zh) | 一种无人机集群的实时仿真方法、系统以及电子设备 | |
CN116633801A (zh) | 资源调度方法、装置、系统及相关设备 | |
Funika et al. | Automated cloud resources provisioning with the use of the proximal policy optimization | |
US10484249B1 (en) | Dynamic distribution of simulation load | |
CN116367190A (zh) | 一种面向6g移动网络的数字孪生功能虚拟化方法 | |
CN116932198A (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 |