The invention discloses a distributed computing system, method and storage medium; the distributed computing system comprises at least two computing nodes and at least two parameter service nodes; the computing node initializes the vector of the user in the user matrix according to the user included in the subset of training data, and obtains the initialized vector structure. The user sub-matrix is generated; the computing node iteratively calculates the user sub-matrix and the item sub-matrix according to the subset of training data and the item sub-matrix obtained from the parameter service node. After each iteration, the item sub-matrix is transferred to the corresponding parameter service node; and the direction of the initial part of the item is initialized by the parameter service node. The parameter service node updates the item sub-matrix stored by the parameter service node according to the item sub-matrix transmitted by the calculation node. By implementing the present invention, the computational task can be accomplished in an intensive manner.
【技术实现步骤摘要】
分布式计算系统、方法及存储介质
本专利技术涉及计算机技术,尤其涉及一种分布式计算系统、方法及存储介质。
技术介绍
人工智能得到快速发展,广泛应用到各种行业中。以商品推荐的应用场景为例,根据用户的行为数据,采用机器学习的方法训练出预测用户对不同商品的评分的模型,从而能够计算出用户对不同商品的评分的排序,选取评分高的商品向用户推荐,能够帮助用户迅速定位感兴趣的商品,实现精准、高效地产品营销。例如,目前的商品推荐依赖于大数据处理技术,需要对采集的海量的行为数据进行分析处理,以训练具有评分预测性能的模型,这对承担训练任务的计算系统的资源(包括内存资源、通信资源等)开销提出很高的要求。然而,相关技术提供的计算系统中单个节点的资源有限,且计算系统的升级往往具有滞后性,单个节点的资源有限的现状与模型训练的计算需要高资源开销之间的矛盾,成为难以解决的技术问题。
技术实现思路
本专利技术实施例提供一种分布式计算系统、方法及存储介质,能够以资源集约的方式完成计算任务。本专利技术实施例的技术方案是这样实现的:第一方面,本专利技术实施例提供一种分布式计算系统,包括:至少两个计算节点和至少两个参数服务节点;其中,所述计算节点,用于根据训练数据的子集包括的用户,初始化用户矩阵中对应所述用户的向量,得到由所初始化的向量构成的用户子矩阵;所述计算节点,用于根据所述训练数据的子集、从所述参数服务节点获取的项目子矩阵,迭代计算所述用户子矩阵、以及所述项目子矩阵,将每次迭代计算之后得到的项目子矩阵传输至相应的参数服务节点;所述参数服务节点,用于初始化部分项目对应的向量,得到由所初始化的向量构成的项 ...
【技术保护点】
1.一种分布式计算系统,其特征在于,包括:至少两个计算节点和至少两个参数服务节点;其中,所述计算节点,用于根据训练数据的子集包括的用户,初始化用户矩阵中对应所述用户的向量,得到由所初始化的向量构成的用户子矩阵;所述计算节点,用于根据所述训练数据的子集、从所述参数服务节点获取的项目子矩阵,迭代计算所述用户子矩阵、以及所述项目子矩阵,将每次迭代计算之后得到的项目子矩阵传输至相应的参数服务节点;所述参数服务节点,用于初始化部分项目对应的向量,得到由所初始化的向量构成的项目子矩阵,所述部分项目为所述训练数据包括的项目中的部分项目;所述参数服务节点,用于根据所述计算节点传输的项目子矩阵,更新所述参数服务节点所存储的项目子矩阵。
【技术特征摘要】
1.一种分布式计算系统,其特征在于,包括:至少两个计算节点和至少两个参数服务节点;其中,所述计算节点,用于根据训练数据的子集包括的用户,初始化用户矩阵中对应所述用户的向量,得到由所初始化的向量构成的用户子矩阵;所述计算节点,用于根据所述训练数据的子集、从所述参数服务节点获取的项目子矩阵,迭代计算所述用户子矩阵、以及所述项目子矩阵,将每次迭代计算之后得到的项目子矩阵传输至相应的参数服务节点;所述参数服务节点,用于初始化部分项目对应的向量,得到由所初始化的向量构成的项目子矩阵,所述部分项目为所述训练数据包括的项目中的部分项目;所述参数服务节点,用于根据所述计算节点传输的项目子矩阵,更新所述参数服务节点所存储的项目子矩阵。2.如权利要求1所述的分布式计算系统,其特征在于,还包括:控制节点,用于以用户为维度,划分所述训练数据包括的针对多个所述项目的评分,得到所述训练数据的多个子集,将所述多个子集分配给所述至少两个计算节点。3.如权利要求1所述的分布式计算系统,其特征在于,还包括:控制节点,用于当所述计算节点迭代计算的中止条件满足时,组合各所述计算节点存储的用户子矩阵,得到用户矩阵;组合各所述参数服务节点存储的项目子矩阵,得到项目矩阵;所述控制节点,还用于根据所述用户矩阵中对应目标用户的向量,与所述项目矩阵中对应目标项目的向量的乘积,得到所述目标用户针对所述目标项目的评分。4.如权利要求1所述的分布式计算系统,其特征在于,所述计算节点,具体用于根据所分配到的所述子集,确定所述子集中包括的已评分项目,从所述参数服务节点存储的所述项目子矩阵中,获取所述已评分项目对应的向量;所述计算节点,具体用于迭代计算所述用户子矩阵中部分用户对应的向量、以及所述项目子矩阵中对应所述已评分项目的向量,所述部分用户为所述子集包括的用户中针对所述已评分项目产生评分行为的用户;所述计算节点,具体用于将每次迭代计算后得到的与所述已评分项目对应的向量,传输至相应的参数服务节点。5.如权利要求4所述的分布式计算系统,其特征在于,所述计算节点,具体用于从所述参数服务节点存储的所述项目子矩阵中,分批次获取所述已评分项目对应的向量;所述计算节点,具体用于迭代计算所述用户子矩阵中相应批次用户对应的向量、以及相应批次的已评分项目对应的向量,所述相应批次用户为所述部分用户中针对所述批次的已评分项目产生评分行为的用户;所述计算节点,具体用于将每次迭代计算后得到的与相应批次的已评分项目对应的向量,传输至相应的参数服务节点。6.如权利要求5所述的分布式计算系统,其特征在于,所述计算节点,还用于根据所述计算节点的内存空间,确定所述批次的数量,其中,每个所述批次的已评分项目对应的向量占用的存储空间,小于所述计算节点的内存空间。7.如权利要求4所述的分布式计算系统,其特征在于,所述参数服务节点,具体用于根据所述计算节点传输的与所述已评分项目对应的向量,更新所述参数服务节点存储的所述项目子矩阵。8.如权利要求1至7任一项所述的分布式计算系统,其特征在于,所述计算节点,具体用于将评分预测值与所述训练数据的子集中包括的评分实际值作差,得到预测差值;所述计算节点,具体用于将所述预测差值与所述项目子矩阵的乘积,与所述用户子矩阵叠加,得到更新的用户子矩阵;所述计算节点,具体用于将所述预测差值与所述更新的用户子矩阵的乘积,与所述项目子矩阵叠加,得到更新的项目子矩阵。9.一种分布式计算方法,其特征在于,应用于包括至少两个计算节点和至少两个参数服务节点的分布式计算系统;包括:所述计算节点根据训练数据的子集包括的用户,初始化用户矩阵中对应所述用户的向量,得到...
【专利技术属性】
技术研发人员:谭蕴琨,余乐,刘煜宏,蒋杰,
申请(专利权)人:腾讯科技深圳有限公司,
类型:发明
国别省市:广东,44
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。