提供了一种针对数据记录执行机器学习的分布式系统及其方法,所述系统包括:多个计算装置,其中,每个计算装置针对各自的数据记录来执行同样的关于机器学习的数据流式计算;参数服务器,用于维护机器学习模型的参数,其中,在执行训练机器学习模型的数据流式计算时,计算装置利用从参数服务器获取的参数来针对各自的数据记录执行同样的关于机器学习模型训练的运算,参数服务器根据计算装置的运算结果来更新所述参数;并且/或者,在执行利用机器学习模型进行预估的数据流式计算时,计算装置利用从参数服务器获取的参数来针对各自的数据记录执行同样的关于机器学习模型预估的运算。由此,可实现计算装置之间的同质化,减少网络传输开销。
【技术实现步骤摘要】
针对数据记录执行机器学习的分布式系统及其方法
本专利技术的示例性实施例总体说来涉及人工智能领域,更具体地说,涉及一种针对数据记录执行机器学习的分布式系统以及利用所述分布式系统来针对数据记录执行机器学习的方法。
技术介绍
随着数据规模的迅速增长,机器学习被广泛应用于各种领域以挖掘数据的价值。然而,为了执行机器学习,一般物理机的内存已经远远不足,为此,实践中往往需要利用分布式机器学习平台来完成机器学习模型的训练或相应的预估。在现有的分布式机器学习系统中(例如,谷歌的深度学习框架TensorFlow中),通常存在一个或多个控制节点,这些控制节点负责调度系统中的其他计算节点的任务和计算资源,其中,每个计算节点会执行一部分计算任务,也就是说,各个计算节点之间执行的计算任务并不相同。相应地,就整个计算任务而言,相邻步骤可能会需要在不同的物理机器上执行,这就需要网络传输来使数据在各个计算节点和/或控制节点之间流动,此种方式将导致巨大的读写开销,而高速网卡(例如,万兆网卡)的成本高昂,并不能被广泛应用于分布式机器学习系统中。进一步地,在上述分布式机器学习系统中,如果想要实现基于某个机器学习算法的多配置运行或多次运行,或者,如果想要同时运行多个机器学习算法,则需要对算法的内部进行修改,或者实现外部逻辑的多次调用,这两种方式都将耗费较大的实际计算量。
技术实现思路
本专利技术的示例性实施例旨在克服现有的分布式机器学习系统在执行机器学习时网络开销和运算量较大的缺陷。根据本专利技术的示例性实施例,提供一种用于针对数据记录执行机器学习的分布式系统,包括:多个计算装置,其中,每个计算装置被配置为针对各自的数据记录来执行同样的关于机器学习的数据流式计算;参数服务器,用于维护机器学习模型的参数,其中,在执行训练机器学习模型的数据流式计算时,计算装置利用从参数服务器获取的参数来针对各自的数据记录执行同样的关于机器学习模型训练的运算,并且,参数服务器根据计算装置的运算结果来更新所述参数;并且/或者,在执行利用机器学习模型进行预估的数据流式计算时,计算装置利用从参数服务器获取的参数来针对各自的数据记录执行同样的关于机器学习模型预估的运算。可选地,在所述分布式系统中,所述参数服务器具有分布式结构,其中,在所述分布式结构下,每一部分参数服务器与相应的计算装置集成为一体。可选地,在所述分布式系统中,在执行训练机器学习模型的数据流式计算时,针对数据记录的每一轮迭代来进行灾备。可选地,在所述分布式系统中,所述数据流式计算表示为至少一个由处理步骤组成的有向无环图。可选地,在所述分布式系统中,计算装置通过合并不同有向无环图中相同的处理步骤来执行数据流式计算。可选地,在所述分布式系统中,参数服务器按照键值对来保存机器学习模型的参数,并且,具有相同键的键值对被保存为单个键对应于多个值的形式。根据本专利技术的另一示例性实施例,提供一种利用分布式系统来针对数据记录执行机器学习的方法,其中,所述分布式系统中的多个计算装置之中的每个计算装置被配置为针对各自的数据记录来执行同样的关于机器学习的数据流式计算,所述方法包括:由多个计算装置之中的每个计算装置获取各自的数据记录;由计算装置从分布式系统中的参数服务器获取机器学习模型的参数;其中,在执行训练机器学习模型的数据流式计算时,由计算装置利用获取的参数来针对各自的数据记录执行同样的关于机器学习模型训练的运算,并且,由参数服务器根据计算装置的运算结果来更新所述参数;并且/或者,在执行利用机器学习模型进行预估的数据流式计算时,由计算装置利用获取的参数来针对各自的数据记录执行同样的关于机器学习模型预估的运算。可选地,在所述方法中,所述参数服务器具有分布式结构,其中,在所述分布式结构下,每一部分参数服务器与相应的计算装置集成为一体。可选地,在所述方法中,在执行训练机器学习模型的数据流式计算时,针对数据记录的每一轮迭代来进行灾备。可选地,在所述方法中,所述数据流式计算表示为至少一个由处理步骤组成的有向无环图。可选地,在所述方法中,计算装置通过合并不同有向无环图中相同的处理步骤来执行数据流式计算。可选地,在所述方法中,参数服务器按照键值对来保存机器学习模型的参数,并且,具有相同键的键值对被保存为单个键对应于多个值的形式。在根据本专利技术示例性实施例的分布式机器学习系统及其方法中,每个计算装置被配置为执行同样的数据流式计算,从而实现了计算装置之间的同质化,这减少了网络传输开销,能够更好地应用于大规模的机器学习模型。附图说明从下面结合附图对本专利技术实施例的详细描述中,本专利技术的这些和/或其他方面和优点将变得更加清楚并更容易理解,其中:图1示出根据本专利技术示例性实施例的用于针对数据记录执行机器学习的分布式系统的框图;图2示出根据本专利技术另一示例性实施例的用于针对数据记录执行机器学习的分布式系统的框图;图3示出根据本专利技术示例性实施例的参数服务器的框图;图4示出根据本专利技术示例性实施例的计算装置的框图;图5示出根据本专利技术示例性实施例的分布式机器学习系统执行机器学习模型训练的方法的流程图;图6示出根据本专利技术另一示例性实施例的分布式机器学习系统执行机器学习模型训练的方法的流程图;图7示出根据本专利技术示例性实施例的分布式机器学习系统执行机器学习模型预估的方法的流程图;图8示出根据本专利技术示例性实施例的通过合并有向无环图来执行数据流式计算的示例;以及图9示出根据本专利技术示例性实施例的按照键值对来保存机器学习模型的参数的示例。具体实施方式为了使本领域技术人员更好地理解本专利技术,下面结合附图和具体实施方式对本专利技术的示例性实施例作进一步详细说明。机器学习是人工智能研究发展到一定阶段的必然产物,其致力于通过计算的手段,利用经验来改善系统自身的性能。在计算机系统中,“经验”通常以“数据”形式存在,通过机器学习算法,可从数据中产生“模型”,该模型可表示为特定参数下的某种算法函数,也就是说,将经验数据提供给机器学习算法,就能基于这些经验数据产生模型(即,基于数据而学习到函数的参数),在面对新的情况时,模型会提供相应的判断,即,预估结果。机器学习可被实现为“有监督学习”、“无监督学习”或“半监督学习”的形式,应注意,本专利技术的示例性实施例对具体机器学习算法并不进行特定限制。此外,还应注意,在训练机器学习模型的过程中,还可利用统计算法、业务规则和/或专家知识等,以进一步提高机器学习的效果。具体说来,本专利技术的示例性实施例涉及分布式机器学习系统,该分布式机器学习系统可由参数服务器和计算装置组成,其中,多个计算装置分布地针对各自的数据记录执行相同的机器学习任务,相应地,参数服务器通过与各个计算装置进行交互来维护机器学习模型的参数。应注意,这里所说的计算装置和/或参数服务器均由其所执行的处理或所实现的功能来限定,既可指示物理实体,也可指示虚拟实体,例如,计算装置可指示实际的计算机器,也可指示部署在该计算机器上的逻辑实体,同样,参数服务器既可指示实际的计算机器,也可作为一个或多个逻辑实体而与计算装置部署在同样或不同的计算机器上,甚至可以直接由某些计算装置来充当。图1示出根据本专利技术示例性实施例的用于针对数据记录执行机器学习的分布式系统的框图。具体说来,图1所示的分布式机器学习系统可包括参数服务器2000和多本文档来自技高网...

【技术保护点】
一种用于针对数据记录执行机器学习的分布式系统,包括:多个计算装置,其中,每个计算装置被配置为针对各自的数据记录来执行同样的关于机器学习的数据流式计算;参数服务器,用于维护机器学习模型的参数,其中,在执行训练机器学习模型的数据流式计算时,计算装置利用从参数服务器获取的参数来针对各自的数据记录执行同样的关于机器学习模型训练的运算,并且,参数服务器根据计算装置的运算结果来更新所述参数;并且/或者,在执行利用机器学习模型进行预估的数据流式计算时,计算装置利用从参数服务器获取的参数来针对各自的数据记录执行同样的关于机器学习模型预估的运算。
【技术特征摘要】
1.一种用于针对数据记录执行机器学习的分布式系统,包括:多个计算装置,其中,每个计算装置被配置为针对各自的数据记录来执行同样的关于机器学习的数据流式计算;参数服务器,用于维护机器学习模型的参数,其中,在执行训练机器学习模型的数据流式计算时,计算装置利用从参数服务器获取的参数来针对各自的数据记录执行同样的关于机器学习模型训练的运算,并且,参数服务器根据计算装置的运算结果来更新所述参数;并且/或者,在执行利用机器学习模型进行预估的数据流式计算时,计算装置利用从参数服务器获取的参数来针对各自的数据记录执行同样的关于机器学习模型预估的运算。2.如权利要求1所述的分布式系统,其中,所述参数服务器具有分布式结构,其中,在所述分布式结构下,每一部分参数服务器与相应的计算装置集成为一体。3.如权利要求1所述的分布式系统,其中,在执行训练机器学习模型的数据流式计算时,针对数据记录的每一轮迭代来进行灾备。4.如权利要求1所述的分布式系统,其中,所述数据流式计算表示为至少一个由处理步骤组成的有向无环图。5.如权利要求4所述的分布式系统,其中,计算装置通过合并不同有向无环图中相同的处理步骤来执行数据流式计算。6.如权利要求1所述的分布式系统,其中,参数服务器按照键值对来保存机器学习模型的参数,并且,具有相同键的键值对被保存为单个键对应于多个值的形式。7.一种利用分布式系统来针对数据记...
【专利技术属性】
技术研发人员:戴文渊,陈雨强,杨强,焦英翔,涂威威,石光川,
申请(专利权)人:第四范式北京技术有限公司,
类型:发明
国别省市:北京,11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。