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

面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法技术

技术编号:30824131 阅读:46 留言:0更新日期:2021-11-18 12:15
本发明专利技术公开了一种面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法。首先通过对模型的梯度向量与上一次迭代的梯度向量作差,并降序排序。由于数据的稀疏性会导致模型参数的稀疏性,并且根据模型相应维度参数收敛之后就不再变化这一条件,得出重要的模型参数“键

【技术实现步骤摘要】
面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法


[0001]本专利技术涉及一种高效地通信量传输方法,具体涉及一种面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法,涉及机器学习、大数据处理和并行计算领域。

技术介绍

[0002]随着互联网产业的发展,产生的数据越来越多,为了使用机器学习算法挖掘数据中潜在的有用信息,单台机器的硬件限制已经无法应对大规模机器学习问题。分布式是大规模机器学习问题的一种解决方案,对于基于迭代方式的优化算法解决大规模分布式机器学习问题,会有节点间子模型的同步操作,随着节点数量的增多、模型维度的扩增,这一趋势将瓶颈从计算转移到通信,特别是在通信受限的场景中,比如IoT设备,智能手机和无线传感器等。
[0003]对于先进的模型来说,有数千万维参数已经不罕见,使用单精度(每维32bit)传输一个1000万维参数/梯度就需要40MB。为了减轻通信开销,对于优化算法中的参数/梯度压缩受到越来越多的关注。有些方法通过传输每次迭代中参数/梯度信息变化较大的参数获得高效通信,特别针对高维度稀疏数据集,有些维度的参数/梯度如果收敛,该位置在迭代过程中就不会再变,进而参数就不需要频繁传递,通过传输稀疏的参数集,可以大大降低通信的负载,对于通信受限的网络有很好的效果。
[0004]模型参数在迭代过程中变化,如何设计调整参数的稀疏性、保证目标函数改进和通信成本之间比率的平衡,是解决稀疏参数传递的一个好方法。对于通信受限的网络,需要更少的功耗开销,通过浮点(32bit)转定点(8bit),同时减少内存和通信占用,在保证精度在可接受的范围内,这些方法是有价值的。

技术实现思路

[0005]本专利技术针对现有技术的不足,提出一种面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法,减少分布机器学习算法同步的通信量传输开销。
[0006]为达到上述目的,本专利技术采用下述技术方案:
[0007]一种面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法,其特征在于,包括如下过程:
[0008]A.过滤不重要的模型参数方法设计;
[0009]B.自适应稀疏参数模型建模;
[0010]C.稀疏模型量化传输。
[0011]所述步骤A中过滤不重要的模型参数方法设计如下:
[0012]A

1.栈上开辟内存,并定义容器排序算法:
[0013]在栈上开辟d个数据结构为单精度浮点的空间,计算模型参数梯度值,将相关信息保存到vector容器original_gradients中,用于存放稀疏参数量化前的梯度向量,
original_gradients的具体定义如下:
[0014]typedefstd::pair<int,float>PAIR//将pair对插入vector中;
[0015]std::vector<PAIR>original_gradients//vector容器存放模型梯度;
[0016]original_gradients是一个vector容器,当需要对容器中元素进行排序,并输出“键

值”对形式,保证索引和值一一对应时,使用pair对,将pair对插入vector中;
[0017]定义迭代梯度向量vector容器空间gradients_new和上一次迭代梯度向量vector容器空间gradients_old,将计算好的梯度向量gradients_new与上次迭代梯度gradients_old逐项相减,并存储到original_gradients向量空间;
[0018]A

2.对容器original_gradients中参数排序:
[0019]使用c++标准模板库中sort()函数,对普通数组或者容器中指定范围的元素进行排序;这里需要使用sort()函数的一个自定义排序技巧,sort()函数中加入第三个参数cmp;参数排序选择降序排列,定义cmp函数如下所示:
[0020]bool cmp(const PAIR&x,const PAIR&y){
[0021] return abs(x.second)>abs(y.second);
[0022]}
[0023]通过排序之后的梯度存储到topk_gradients容器中,该容器创建方式和original_gradients容器创建方法相同。
[0024]所述稀疏模型传输包括稀疏参数的选择、传输参数模式的动态选择,所述步骤B中的自适应稀疏模型建模方法如下:
[0025]B

1.自适应稀疏参数建模:
[0026]当参数稀疏传输时,通信过程中需要尽量高效地使用每一维参数,希望对每个通信项的目标函数进行改进;通过最大化以下比例:
[0027][0028]其中,Improvement(K)是指使用前K大梯度条件下对目标函数的改进,Cost(K)指使用该条件下,传输通信量的成本;
[0029]B

2.动态稀疏自适应调优:
[0030]引理1.假设是L

smooth,且γ=1/L,对于其中其中引入测度μ(K),得出函数值改进的大小:
[0031][0032]其中:
[0033][0034]其中表示从original_gradients取前K大稀疏梯度元素;通过引理1进而推导出稀疏梯度方法新的收敛界,在分布式环境下,通过使用Improvement(K)=μ(K)定义动态稀疏自适应调优:
[0035][0036][0037]i指节点索引,N指节点数量,μ
i
(K)表示第i个节点目标函数改进,C
i
(K)表示第i个节点通信消耗;首先找到稀疏阈值K,通过最优化通信效率,简写Cost(K)=C(K),然后最大化μ
i
(K)/C
i
(K),表示第i个节点取前K大稀疏梯度元素,x
i+
和x
i
分别表示迭代更新后的参数和更新前的参数;
[0038]B

3.Improvement(K)计算:
[0039]通过公式(3)计算出第i个节点梯度向量欧氏距离,开方得出对于排序好的d维梯度向量topk_gradients,令K=1~d依次循环,从大到小计算并累加到单精度变量norm_topk中;
[0040]B

4.Cost(K)计算:
[0041]第i个节点通信负载计算方式如下所示:
[0042][0043]其中,log2d代表d维参数/梯度向量在稀疏传递中“键”所占的比特数,FPP表示浮点精度,例如FPP=32 or FPP=64,分别表示单精度浮点数和双精度浮点数;假设通信成本等于通信本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法,其特征在于,包括如下过程:A.过滤不重要的模型参数方法设计;B.自适应稀疏参数模型建模;C.稀疏模型量化传输。2.根据权利要求1所述的面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法,其特征在于,所述步骤A中过滤不重要的模型参数方法设计如下:A

1.栈上开辟内存,并定义容器排序算法:在栈上开辟d个数据结构为单精度浮点的空间,计算模型参数梯度值,将相关信息保存到vector容器original_gradients中,用于存放稀疏参数量化前的梯度向量,original_gradients的具体定义如下:typedef std::pair<int,float>PAIR//将pair对插入vector中;std::vector<PAIR>original_gradients//vector容器存放模型梯度;original_gradients是一个vector容器,当需要对容器中元素进行排序,并输出“键

值”对形式,保证索引和值一一对应时,使用pair对,将pair对插入vector中;定义迭代梯度向量vector容器空间gradients_new和上一次迭代梯度向量vector容器空间gradients_old,将计算好的梯度向量gradients_new与上次迭代梯度gradients_old逐项相减,并存储到original_gradients向量空间;A

2.对容器original_gradients中参数排序:使用c++标准模板库中sort()函数,对普通数组或者容器中指定范围的元素进行排序;这里需要使用sort()函数的一个自定义排序技巧,sort()函数中加入第三个参数cmp;参数排序选择降序排列,定义cmp函数如下所示:bool cmp(const PAIR&x,const PAIR&y){return abs(x.second)>abs(y.second);}通过排序之后的梯度存储到topk_gradients容器中,该容器创建方式和original_gradients参数创建方法相同。3.根据权利要求1所述的面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法,其特征在于,所述稀疏参数的通信包括稀疏参数的选择、传输参数模式的动态选择,所述步骤B中的自适应稀疏参数模型建模方法如下:B

1.自适应稀疏参数建模:当参数稀疏传输时,通信过程中需要尽量高效地使用每一维参数,希望对每个通信项的目标函数进行改进;通过最大化以下比例:其中,Improvement(K)是指使用前K大梯度条件下对目标函数的改进,Cost(K)指使用该条件下,传输通信量的成本;B

2.动态稀疏自适应调优:
引理1.假设是L

smooth,且γ=1/L,对于其中其中引入测度μ(K),得出函数值改进的大小:其中:其中表示从original_gradients取前K大稀疏梯度元素;通过引理1进而推导出稀疏梯度方法新的收敛界,在分布式环境下,...

【专利技术属性】
技术研发人员:王国政雷咏梅
申请(专利权)人:上海大学
类型:发明
国别省市:

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

1