【技术实现步骤摘要】
Speech Technology,2020:1
‑
8)。现有科技文献也旨在从Spark MLlib中获益,在现有的MLlib基础上扩展机器学习。以上研究均是基于Spark同步框架下的研究,本专利技术旨在利用参数服务器在维护模型参数时的优势,将其扩展到Spark MLlib中的线性分类模型参数的更新中。
[0005]Spark的机器学习库中的线性分类算法分布式求解问题的核心思想是模型集中,计算分布。在利用SGD/L
‑
BFGS等分布式优化算法进行模型训练时,每个物理节点求解本地数据集的损失函数值和梯度值,并将这些信息聚合到模型所在的节点上,然后利用这些信息更新模型参数。在这一过程中,Driver进程收集梯度信息并更新模型参数,之后将模型参数分发到各个子节点进行下一次迭代直到收敛。因此在Spark MLlib中求解一个线性分类分布式问题的一次迭代过程一般包括以下几个步骤:
[0006]1)初始化:初始化计算环境和初始化模型参数。
[0007]2)广播:Driver进程将模型参数以广播的形式分发给所有的执行器。 ...
【技术保护点】
【技术特征摘要】
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)拉取全局模型参数:每个工作节点根据时钟信息判断...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。