一种SGD算法优化系统及方法技术方案

技术编号:14468379 阅读:53 留言:0更新日期:2017-01-20 23:44
本发明专利技术公开了一种SGD算法优化系统及方法,该系统包括:多个基于FPGA的分布式计算节点和一个基于CPU的中心计算节点,其中,各分布式计算节点用于通过对应的FPGA中的并行数据通路对SGD算法中的待处理数据进行并行计算;中心计算节点用于对数据处理任务进行分配和调度。中心计算节点可以根据每个分布式计算节点的结构特点来为其分配不同的计算任务,提高了分布式计算节点的计算性能、能效比和计算实时性,各分布式计算节点之间无需进行数据交换,减少了计算集群的网络开销。分布式计算节点基于FPGA,中心计算节点基于CPU,这就形成了异构计算平台,通过对SGD算法进行并行化设计,对Spark框架下的SGD算法进行了极大的优化,提高SGD算法处理海量数据的整体性能。

【技术实现步骤摘要】

本专利技术涉及大数据处理领域,特别是涉及一种SGD算法优化系统及方法
技术介绍
随着信息技术的发展,目前已经进入了大数据时代。许多机器学习算法可以转化为凸函数优化问题,即为一个回归函数找到最小值的任务,其最简单的方法就是梯度下降。而随机梯度下降(SGD)算法是机器学习算法中用于凸函数优化问题的典型算法。在Spark大数据处理框架中,SGD算法的处理思想是:首先随机初始化函数的梯度值和权重值,并运用参数指定全集数据的一个随机抽样子集,然后计算子集中数据点的梯度的平均值,即得到一个随机子梯度,利用计算的梯度值更新函数的权重值。然而,在Spark大数据平台下,SGD算法的数据集抽样和梯度计算采用并行化操作,使得各计算节点服务器需要承担较大的数据计算量,且分布式计算环境下,各计算节点间需要进行数据交换(shuffle操作)来更新随机梯度值和权重值,增大了计算集群的网络开销。因此,如何对Spark框架下的SGD算法进行优化,提高SGD算法处理海量数据的整体性能,是本领域技术人员目前需要解决的技术问题。
技术实现思路
本专利技术的目的是提供一种SGD算法优化系统及方法,可以对Spark框架下的SGD算法进行优化,提高SGD算法处理海量数据的整体性能。为解决上述技术问题,本专利技术提供了如下技术方案:一种SGD算法优化系统,包括:多个基于FPGA的分布式计算节点和一个基于CPU的中心计算节点,其中,各所述分布式计算节点用于通过对应的FPGA中的并行数据通路对SGD算法中的待处理数据进行并行计算;所述中心计算节点用于对数据处理任务进行分配和调度。优选地,还包括:OpenCL编程模型模块,用于对各所述分布式计算节点和所述中心计算节点进行算法调试。优选地,所述分布式计算节点包括:梯度计算单元,用于对所述SGD算法中的待处理数据的样本点进行子梯度计算;权值更新计算单元,用于对所述SGD算法中的待处理数据的样本点进行权重值更新计算。优选地,所述中心计算节点包括:计算结果合并收集单元,用于对各所述分布式计算节点的子梯度计算结果和权重值更新计算结果进行收集合并;广播单元,用于将所述计算结果合并收集单元收集合并的结果信息广播至各所述分布式计算节点。优选地,还包括:数据获取模块,用于获取所述SGD算法中的信息数据,并将符合预设的并行计算条件且计算量超过预设阈值的信息数据作为待处理数据引入至各所述分布式计算节点。一种SGD算法优化方法,包括:获取SGD算法中的待处理数据;通过FPGA加速设备以多条并行数据通路对所述待处理数据进行并行计算;获取所述并行计算的计算结果,并反馈对应的计算结果反馈信息控制所述FPGA加速设备对所述待处理数据进行并行计算。优选地,所述获取SGD算法中的待处理数据,包括:随机初始化SGD算法中函数的梯度值和权重值;运用参数指定所述SGD算法的全集数据的一个随机抽样子集,记为所述待处理数据。优选地,所述通过FPGA加速设备以多条并行数据通路对所述待处理数据进行并行计算,包括:通过基于OpenCL标准的FPGA加速设备,以多条并行数据通路计算所述随机抽样子集中的数据点的梯度的平均值,记为子梯度值;根据所述子梯度值更新所述函数的权重值。优选地,所述获取所述并行计算的计算结果,并反馈对应的计算结果反馈信息控制所述FPGA加速设备对所述待处理数据进行并行计算,包括:对各所述并行数据通路计算所得的子梯度值的计算结果和权重值的更新结果进行收集合并;将收集合并后所得的新的梯度值和权重值反馈至所述FPGA加速设备,进行迭代计算,直至达到最高迭代次数限制或权值收敛。与现有技术相比,上述技术方案具有以下优点:本专利技术所提供的一种SGD算法优化系统,包括:多个基于FPGA的分布式计算节点和一个基于CPU的中心计算节点,其中,各分布式计算节点用于通过对应的FPGA中的并行数据通路对SGD算法中的待处理数据进行并行计算;中心计算节点用于对数据处理任务进行分配和调度。由于采用中心计算节点来对数据处理任务进行分配和调度,可以根据每个分布式计算节点的结构特点来为其分配不同的计算任务,提高了分布式计算节点的计算性能、能效比和计算实时性,各分布式计算节点之间无需进行数据交换,减少了计算集群的网络开销。分布式计算节点基于FPGA,中心计算节点基于CPU,这就形成了异构计算平台,通过对SGD算法进行并行化设计,对Spark框架下的SGD算法进行了极大的优化,提高SGD算法处理海量数据的整体性能。附图说明为了更清楚地说明本专利技术实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本专利技术的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本专利技术一种具体实施方式所提供的SGD算法优化系统结构示意图;图2为本专利技术一种具体实施方式所提供的SGD算法优化方法流程图。具体实施方式本专利技术的核心是提供一种SGD算法优化系统及方法,可以对Spark框架下的SGD算法进行优化,提高SGD算法处理海量数据的整体性能。为了使本专利技术的上述目的、特征和优点能够更为明显易懂,下面结合附图对本专利技术的具体实施方式做详细的说明。在以下描述中阐述了具体细节以便于充分理解本专利技术。但是本专利技术能够以多种不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本专利技术内涵的情况下做类似推广。因此本专利技术不受下面公开的具体实施的限制。请参考图1,图1为本专利技术一种具体实施方式所提供的SGD算法优化系统结构示意图。本专利技术的一种具体实施方式提供了一种SGD算法优化系统,包括:多个基于FPGA的分布式计算节点1和一个基于CPU的中心计算节点2,其中,各分布式计算节点1用于通过对应的FPGA中的并行数据通路对SGD算法中的待处理数据进行并行计算;中心计算节点2用于对数据处理任务进行分配和调度。在本实施方式中,由于采用中心计算节点来对数据处理任务进行分配和调度,可以根据每个分布式计算节点的结构特点来为其分配不同的计算任务,提高了分布式计算节点的计算性能、能效比和计算实时性,各分布式计算节点之间无需进行数据交换,减少了计算集群的网络开销。分布式计算节点基于FPGA,中心计算节点基于CPU,这就形成了异构计算平台,通过对SGD算法进行并行化设计,对Spark框架下的SGD算法进行了极大的优化,提高SGD算法处理海量数据的整体性能。在上述实施方式的基础上,本专利技术一种实施方式中,该优化系统还包括:OpenCL编程模型模块,用于对各分布式计算节点和中心计算节点进行算法调试。其中,优选地,分布式计算节点包括:梯度计算单元,用于对SGD算法中的待处理数据的样本点进行子梯度计算;权值更新计算单元,用于对SGD算法中的待处理数据的样本点进行权重值更新计算。中心计算节点包括:计算结果合并收集单元,用于对各分布式计算节点的子梯度计算结果和权重值更新计算结果进行收集合并;广播单元,用于将计算结果合并收集单元收集合并的结果信息广播至各分布式计算节点,进行迭代,直至达到最高迭代次数限制或者权值收敛。进一步地,还包括:数据获取模块,用于获取SGD算法中的信息数据,并将符合预设的并行计算条件且计算量超过预设阈值的信息数据作为待本文档来自技高网...

【技术保护点】
一种SGD算法优化系统,其特征在于,包括:多个基于FPGA的分布式计算节点和一个基于CPU的中心计算节点,其中,各所述分布式计算节点用于通过对应的FPGA中的并行数据通路对SGD算法中的待处理数据进行并行计算;所述中心计算节点用于对数据处理任务进行分配和调度。

【技术特征摘要】
1.一种SGD算法优化系统,其特征在于,包括:多个基于FPGA的分布式计算节点和一个基于CPU的中心计算节点,其中,各所述分布式计算节点用于通过对应的FPGA中的并行数据通路对SGD算法中的待处理数据进行并行计算;所述中心计算节点用于对数据处理任务进行分配和调度。2.根据权利要求1所述的系统,其特征在于,还包括:OpenCL编程模型模块,用于对各所述分布式计算节点和所述中心计算节点进行算法调试。3.根据权利要求2所述的系统,其特征在于,所述分布式计算节点包括:梯度计算单元,用于对所述SGD算法中的待处理数据的样本点进行子梯度计算;权值更新计算单元,用于对所述SGD算法中的待处理数据的样本点进行权重值更新计算。4.根据权利要求3所述的系统,其特征在于,所述中心计算节点包括:计算结果合并收集单元,用于对各所述分布式计算节点的子梯度计算结果和权重值更新计算结果进行收集合并;广播单元,用于将所述计算结果合并收集单元收集合并的结果信息广播至各所述分布式计算节点。5.根据权利要求1至4任一项所述的系统,其特征在于,还包括:数据获取模块,用于获取所述SGD算法中的信息数据,并将符合预设的并行计算条件且计算量超过预设阈值的信息数据作为待处理数据引入至各所述分布式计算节点。6.一种S...

【专利技术属性】
技术研发人员:王丽陈继承王洪伟
申请(专利权)人:浪潮北京电子信息产业有限公司
类型:发明
国别省市:北京;11

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

1