用于执行机器学习的分布式系统及其方法技术方案

技术编号:25439018 阅读:29 留言:0更新日期:2020-08-28 22:27
提供一种用于执行机器学习的分布式系统及其方法。所述分布式系统包括:参数服务器,用于维护多个机器学习模型的参数,其中,所述参数具有键值对的形式,所述参数服务器按照单个键对应于多个值的形式来保存具有相同键的多个键值对;以及多个计算装置,被配置为并行地执行关于所述多个机器学习模型的算法。根据所述分布式系统及其方法,能够有效减少在同时进行关于多个机器学习模型的训练和/或预估时参数服务器的存储开销。

【技术实现步骤摘要】
用于执行机器学习的分布式系统及其方法本申请是申请日为2017年8月30日、申请号为201710762586.9、题为“用于执行机器学习的分布式系统及其方法”的专利申请的分案申请。
本专利技术的示例性实施例总体说来涉及人工智能领域,更具体地讲,涉及一种用于执行机器学习的分布式系统以及利用所述分布式系统来执行机器学习的方法。
技术介绍
随着数据规模的迅速增长,机器学习被广泛应用于各种领域以挖掘数据的价值。然而,为了执行机器学习,一般物理机的内存已经远远不足,为此,实践中往往需要利用分布式机器学习系统来完成机器学习模型的训练或相应的预估。在现有的分布式机器学习系统中,通常由多个计算装置并行地执行关于同一机器学习模型的训练或预估,由参数服务器来存储该机器学习模型的参数,并支持各个计算装置对该机器学习模型的参数的读写。参数服务器具有支持海量维度、高并发度、负载均衡等优点,但也存在内存占用大、运算量大、网络带宽占用大等缺点。通常一个参数服务器仅用于存储一个机器学习模型的参数,如果想要同时进行关于多个机器学习模型的训练和/或预估,则需要参数服务器存储多个机器学习模型的参数,那么存储开销也会呈线性增长。
技术实现思路
本专利技术的示例性实施例在于提供一种用于执行机器学习的分布式系统及其方法,以解决在同时执行多个机器学习模型的运算时参数服务器的存储开销过大的问题。根据本专利技术的示例性实施例,提供一种用于执行机器学习的分布式系统,包括:参数服务器,用于维护多个机器学习模型的参数,其中,所述参数具有键值对的形式,所述参数服务器按照单个键对应于多个值的形式来保存具有相同键的多个键值对;以及多个计算装置,被配置为并行地执行关于所述多个机器学习模型的算法,其中,所述算法为关于机器学习模型的训练算法或关于机器学习模型的预估算法,其中,所述参数服务器将计算装置为了执行关于机器学习模型的训练算法而需要读取的参数提供给所述计算装置,以使所述计算装置利用读取的参数来执行所述训练算法,并且,所述参数服务器根据所述计算装置执行所述训练算法的结果来更新所述机器学习模型的参数;并且/或者,所述参数服务器将计算装置为了执行关于机器学习模型的预估算法而需要读取的参数提供给所述计算装置,以使所述计算装置利用读取的参数来执行所述预估算法。可选地,所述参数服务器包括至少一个服务器端和多个客户端,其中,客户端与计算装置一一对应,并且,对应的客户端和计算装置集成为一体,其中,所述至少一个服务器端用于保存所述多个机器学习模型的参数;每个客户端用于与一个或多个服务器端之间传送关于至少一个机器学习模型的算法所涉及的参数的参数操作指令,其中,与所述每个客户端对应的计算装置被配置为执行关于所述至少一个机器学习模型的算法,其中,在所述参数操作指令中,相同键被压缩和/或合并。可选地,所述参数服务器使用映射数据结构来存储键值对。可选地,所述参数服务器按照数据分片来存储键值对。可选地,服务器端、客户端与计算装置一一对应,并且,对应的服务器端、客户端和计算装置集成为一体。可选地,相同键通过分桶方式或排序方式被合并。可选地,客户端与对应的计算装置之间针对每个算法,采用单独的句柄来进行交互。根据本专利技术的另一示例性实施例,提供一种利用分布式系统来执行机器学习的方法,其中,所述分布式系统中的参数服务器用于维护多个机器学习模型的参数,其中,所述参数具有键值对的形式;所述分布式系统中的多个计算装置被配置为并行地执行关于所述多个机器学习模型的算法,其中,所述算法为关于机器学习模型的训练算法或关于机器学习模型的预估算法,所述方法包括:所述参数服务器将计算装置为了执行关于机器学习模型的训练算法而需要读取的参数提供给所述计算装置,所述计算装置利用读取的参数来执行所述训练算法,所述参数服务器根据所述计算装置执行所述训练算法的结果来更新所述机器学习模型的参数;并且/或者,所述参数服务器将计算装置为了执行关于机器学习模型的预估算法而需要读取的参数提供给所述计算装置,所述计算装置利用读取的参数来执行所述预估算法,其中,所述参数服务器按照单个键对应于多个值的形式来保存具有相同键的多个键值对。可选地,所述参数服务器包括至少一个服务器端和多个客户端,其中,客户端与计算装置一一对应,并且,对应的客户端和计算装置集成为一体,其中,所述至少一个服务器端用于保存所述多个机器学习模型的参数;每个客户端用于与一个或多个服务器端之间传送关于至少一个机器学习模型的算法所涉及的参数的参数操作指令,其中,与所述每个客户端对应的计算装置被配置为执行关于所述至少一个机器学习模型的算法,其中,在所述参数操作指令中,相同键被压缩和/或合并。可选地,所述参数服务器使用映射数据结构来存储键值对。可选地,所述参数服务器按照数据分片来存储键值对。可选地,服务器端、客户端与计算装置一一对应,并且,对应的服务器端、客户端和计算装置集成为一体。可选地,相同键通过分桶方式或排序方式被合并。可选地,客户端与对应的计算装置之间针对每个算法,采用单独的句柄来进行交互。在根据本专利技术示例性实施例的用于执行机器学习的分布式系统及其方法中,通过参数服务器来维护多个机器学习模型的参数,并且,参数服务器按照单个键对应于多个值的形式来保存具有相同键的多个键值对,从而能够有效减少在同时进行关于多个机器学习模型的训练和/或预估时参数服务器的存储开销。进一步地,还能够有效减少参数服务器的运算量和网络传输开销。将在接下来的描述中部分阐述本专利技术总体构思另外的方面和/或优点,还有一部分通过描述将是清楚的,或者可以经过本专利技术总体构思的实施而得知。附图说明通过下面结合示例性地示出实施例的附图进行的描述,本专利技术示例性实施例的上述和其他目的和特点将会变得更加清楚,其中:图1示出根据本专利技术示例性实施例的用于执行机器学习的分布式系统的框图;图2示出根据本专利技术示例性实施例的保存机器学习模型的参数的示例;图3示出根据本专利技术的另一示例性实施例的用于执行机器学习的分布式系统的框图;图4示出根据本专利技术的另一示例性实施例的用于执行机器学习的分布式系统的框图;图5示出根据本专利技术示例性实施例的客户端与关于机器学习模型的算法交互的示例;图6示出根据本专利技术示例性实施例的利用分布式系统来执行机器学习的方法的流程图;图7示出根据本专利技术的另一示例性实施例的利用分布式系统来执行机器学习的方法的流程图;图8示出根据本专利技术示例性实施例的客户端向服务器端请求计算装置为了执行关于机器学习模型的算法而需要读取的参数的方法的流程图;图9示出根据本专利技术示例性实施例的客户端从服务器端获取计算装置需要读取的参数的方法的流程图。具体实施方式现将详细参照本专利技术的实施例,所述实施例的示例在附图中示出,其中,相同的标号始终指的是相同的部件。以下将通过参照附图来说明所述实施例,以便解释本专利技术。本专利技术的示例性实施例所涉及的用于本文档来自技高网...

【技术保护点】
1.一种参数服务器,其中,/n所述参数服务器,用于维护多个机器学习模型的参数,其中,所述参数具有键值对的形式,所述参数服务器按照单个键对应于多个值的形式来保存具有相同键的多个键值对;/n其中,所述参数服务器将计算装置为了执行关于机器学习模型的训练算法而需要读取的参数提供给所述计算装置,以使所述计算装置利用读取的参数来执行所述训练算法,并且,所述参数服务器根据所述计算装置执行所述训练算法的结果来更新所述机器学习模型的参数;并且/或者,所述参数服务器将计算装置为了执行关于机器学习模型的预估算法而需要读取的参数提供给所述计算装置,以使所述计算装置利用读取的参数来执行所述预估算法。/n

【技术特征摘要】
1.一种参数服务器,其中,
所述参数服务器,用于维护多个机器学习模型的参数,其中,所述参数具有键值对的形式,所述参数服务器按照单个键对应于多个值的形式来保存具有相同键的多个键值对;
其中,所述参数服务器将计算装置为了执行关于机器学习模型的训练算法而需要读取的参数提供给所述计算装置,以使所述计算装置利用读取的参数来执行所述训练算法,并且,所述参数服务器根据所述计算装置执行所述训练算法的结果来更新所述机器学习模型的参数;并且/或者,所述参数服务器将计算装置为了执行关于机器学习模型的预估算法而需要读取的参数提供给所述计算装置,以使所述计算装置利用读取的参数来执行所述预估算法。


2.根据权利要求1所述的参数服务器,其中,所述参数服务器包括至少一个服务器端和多个客户端,其中,客户端与计算装置一一对应,并且,对应的客户端和计算装置集成为一体,
其中,所述至少一个服务器端用于保存所述多个机器学习模型的参数;每个客户端用于与一个或多个服务器端之间传送关于至少一个机器学习模型的算法所涉及的参数的参数操作指令,其中,与所述每个客户端对应的计算装置被配置为执行关于所述至少一个机器学习模型的算法,
其中,在所述参数操作指令中,相同键被压缩和/或合并。


3.根据权利要求1所述的参数服务器,其中,所述参数服务器使用映射数据结构来存储键值对。


4.根据权利要求1所述的参数服务器,其中,所述参数服务器按照数据分片来存储键值对。


5.根据权利要求2所述的参数服务器,其中,服务器端、客户端与计算装置一一对应,并且,对应的服务器端、客户端和计算装置集成为一体。


6.根据权利要求2所述的参数服务器,其中,相同键通过分桶方式或排序方式被合并。


7.根据权利要求2所述的参数服务器,其中,客户端与...

【专利技术属性】
技术研发人员:戴文渊杨强陈雨强刘一鸣石光川
申请(专利权)人:第四范式北京技术有限公司
类型:发明
国别省市:北京;11

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

1