当前位置: 首页 > 专利查询>上海大学专利>正文

一种基于参数服务器异步更新SparkMLlib中线性分类模型参数的方法技术

技术编号:29928338 阅读:33 留言:0更新日期:2021-09-04 18:52
本发明专利技术公开了一种基于参数服务器异步更新Spark MLlib中线性分类模型参数的方法,结合Spark和参数服务器的特征,首先设置和分配Spark和参数服务器启动资源,然后启动服务器应用程序和Spark应用程序来执行相关操作。在服务器应用程序中,首先初始化执行环境和相关参数,然后接收来自Spark应用程序中Executor计算的梯度信息来更新模型参数。本发明专利技术通过引入参数服务器的方式,将线性分类模型参数划分到不同的服务节点中,并通过设置时钟的方式实现异步传输,服务节点只需获取部分工作节点的梯度信息即可对模型参数进行更新。本发明专利技术通过添加服务器节点来减轻Spark中Driver节点的计算负载,并通过异步传输方式来降低集群中慢节点对算法性能的影响。点对算法性能的影响。点对算法性能的影响。

【技术实现步骤摘要】
Speech Technology,2020:1

8)。现有科技文献也旨在从Spark MLlib中获益,在现有的MLlib基础上扩展机器学习。以上研究均是基于Spark同步框架下的研究,本专利技术旨在利用参数服务器在维护模型参数时的优势,将其扩展到Spark MLlib中的线性分类模型参数的更新中。
[0005]Spark的机器学习库中的线性分类算法分布式求解问题的核心思想是模型集中,计算分布。在利用SGD/L

BFGS等分布式优化算法进行模型训练时,每个物理节点求解本地数据集的损失函数值和梯度值,并将这些信息聚合到模型所在的节点上,然后利用这些信息更新模型参数。在这一过程中,Driver进程收集梯度信息并更新模型参数,之后将模型参数分发到各个子节点进行下一次迭代直到收敛。因此在Spark MLlib中求解一个线性分类分布式问题的一次迭代过程一般包括以下几个步骤:
[0006]1)初始化:初始化计算环境和初始化模型参数。
[0007]2)广播:Driver进程将模型参数以广播的形式分发给所有的执行器。
[0008本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于参数服务器异步更新Spark MLlib中线性分类模型参数的方法,其特征在于,包括以下步骤:(1)在Spark框架上构建参数服务器模块;(2)初始化参数:在服务器应用程序中,初始化全局同步时钟和全局模型参数;(3)数据预处理:将数据集按照工作节点数量进行分区,每个工作节点保存一份数据;(4)梯度求解:工作节点通过pull操作获取服务器节点更新的全局模型参数,根据全局模型参数和数据集进行迭代计算,得到梯度信息,并将梯度信息通过push操作推送到指定的服务器节点上;(5)模型参数更新:服务器节点接收来自工作节点计算的梯度信息,然后更新得到全局模型参数;(6)服务器端判断算法是否满足迭代停止条件,若满足则停止计算,反之重复步骤(4)和步骤(5)。2.根据权利要求1所述的一种基于参数服务器异步更新Spark MLlib中线性分类模型参数的方法,其特征在于,所述步骤(1)的具体步骤如下:(1.1)编写参数服务器执行环境类PSContext;(1.2)实现在Spark环境下模型类:MLModel类和PSModel类;(1.3)实现Worker端和服务器端之间通信操作类,即pull和push操作。3.根据权利要求1所述基于参数服务器异步更新Spark MLlib中线性分类模型参数的方法,其特征在于,所述步骤(2)的详细步骤如下:(2.1)设置同步时钟:设置全局同步时钟t,设置训练迭代的最大次数T,t<T,并初始化全局同步时钟t=0;(2.2)初始化全局模型参数:当t=0时,初始化全局模型参数,在开始迭代时,工作节点通过pull操作获取初始化后的全局模型参数。4.根据权利要求1所述基于参数服务器异步更新Spark MLlib中线性分类模型参数的方法,其特征在于,所述步骤(3)的详细步骤如下:(3.1)数据预处理:从分布式文件系统中获取数据,并根据工作节点的数量和所分配的内存大小将数据等分成M份,然后分发给M个工作节点,工作节点使用该数据集进行梯度值的计算;(3.2)在程序真正执行时将本地原始数据集按行解析成LabeledPoint类型的数据格式,该数据格式可被优化算法直接使用。5.根据权利要求1所述基于参数服务器异步更新Spark MLlib中线性分类模型参数的方法,其特征在于,所述步骤(4)的详细步骤如下:(4.1)拉取全局模型参数:每个工作节点根据时钟信息判断...

【专利技术属性】
技术研发人员:李中正王冬霞
申请(专利权)人:上海大学
类型:发明
国别省市:

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

1