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

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

Info

Publication number
CN113660113A
CN113660113A CN202110851560.8A CN202110851560A CN113660113A CN 113660113 A CN113660113 A CN 113660113A CN 202110851560 A CN202110851560 A CN 202110851560A CN 113660113 A CN113660113 A CN 113660113A
Authority
CN
China
Prior art keywords
sparse
parameter
communication
model
gradients
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110851560.8A
Other languages
English (en)
Other versions
CN113660113B (zh
Inventor
王国政
雷咏梅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
University of Shanghai for Science and Technology
Original Assignee
University of Shanghai for Science and Technology
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by University of Shanghai for Science and Technology filed Critical University of Shanghai for Science and Technology
Priority to CN202110851560.8A priority Critical patent/CN113660113B/zh
Publication of CN113660113A publication Critical patent/CN113660113A/zh
Application granted granted Critical
Publication of CN113660113B publication Critical patent/CN113660113B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Computation (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Artificial Intelligence (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法。首先通过对模型的梯度向量与上一次迭代的梯度向量作差,并降序排序。由于数据的稀疏性会导致模型参数的稀疏性,并且根据模型相应维度参数收敛之后就不再变化这一条件,得出重要的模型参数“键‑值”对。根据自适应稀疏参数模型,选取最优的K值,使目标函数提升与通信成本率更高,进而提升通信效率。在此基础上,依据动态选择稀疏/稠密通信模式进行高效通信,如果选择稀疏通信模式,可以对稀疏参数元素进行量化操作,使高bit参数降为低bit参数,在不影响算法收敛性的前提下,使得通信传输更加高效。

Description

面向分布式机器学习的自适应稀疏参数模型设计与量化传输 方法
技术领域
本发明涉及一种高效地通信量传输方法,具体涉及一种面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法,涉及机器学习、大数据处理和并行计算领域。
背景技术
随着互联网产业的发展,产生的数据越来越多,为了使用机器学习算法挖掘数据中潜在的有用信息,单台机器的硬件限制已经无法应对大规模机器学习问题。分布式是大规模机器学习问题的一种解决方案,对于基于迭代方式的优化算法解决大规模分布式机器学习问题,会有节点间子模型的同步操作,随着节点数量的增多、模型维度的扩增,这一趋势将瓶颈从计算转移到通信,特别是在通信受限的场景中,比如IoT设备,智能手机和无线传感器等。
对于先进的模型来说,有数千万维参数已经不罕见,使用单精度(每维32bit)传输一个1000万维参数/梯度就需要40MB。为了减轻通信开销,对于优化算法中的参数/梯度压缩受到越来越多的关注。有些方法通过传输每次迭代中参数/梯度信息变化较大的参数获得高效通信,特别针对高维度稀疏数据集,有些维度的参数/梯度如果收敛,该位置在迭代过程中就不会再变,进而参数就不需要频繁传递,通过传输稀疏的参数集,可以大大降低通信的负载,对于通信受限的网络有很好的效果。
模型参数在迭代过程中变化,如何设计调整参数的稀疏性、保证目标函数改进和通信成本之间比率的平衡,是解决稀疏参数传递的一个好方法。对于通信受限的网络,需要更少的功耗开销,通过浮点(32bit)转定点(8bit),同时减少内存和通信占用,在保证精度在可接受的范围内,这些方法是有价值的。
发明内容
本发明针对现有技术的不足,提出一种面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法,减少分布机器学习算法同步的通信量传输开销。
为达到上述目的,本发明采用下述技术方案:
一种面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法,其特征在于,包括如下过程:
A.过滤不重要的模型参数方法设计;
B.自适应稀疏参数模型建模;
C.稀疏模型量化传输。
所述步骤A中过滤不重要的模型参数方法设计如下:
A-1.栈上开辟内存,并定义容器排序算法:
在栈上开辟d个数据结构为单精度浮点的空间,计算模型参数梯度值,将相关信息保存到vector容器original_gradients中,用于存放稀疏参数量化前的梯度向量,original_gradients的具体定义如下:
typedefstd::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容器创建方法相同。
所述稀疏模型传输包括稀疏参数的选择、传输参数模式的动态选择,所述步骤B中的自适应稀疏模型建模方法如下:
B-1.自适应稀疏参数建模:
当参数稀疏传输时,通信过程中需要尽量高效地使用每一维参数,希望对每个通信项的目标函数进行改进;通过最大化以下比例:
Figure BDA0003182705190000021
其中,Improvement(K)是指使用前K大梯度条件下对目标函数的改进,Cost(K)指使用该条件下,传输通信量的成本;
B-2.动态稀疏自适应调优:
引理1.假设
Figure BDA0003182705190000022
是L-smooth,且γ=1/L,对于
Figure BDA0003182705190000023
其中
Figure BDA0003182705190000024
Figure BDA0003182705190000031
引入测度μ(K),得出函数值改进的大小:
Figure BDA0003182705190000032
其中:
Figure BDA0003182705190000033
其中
Figure BDA0003182705190000034
表示从original_gradients取前K大稀疏梯度元素;通过引理1进而推导出稀疏梯度方法新的收敛界,在分布式环境下,通过使用Improvement(K)=μ(K)定义动态稀疏自适应调优:
Figure BDA0003182705190000035
Figure BDA0003182705190000036
i指节点索引,N指节点数量,μi(K)表示第i个节点目标函数改进,Ci(K)表示第i个节点通信消耗;首先找到稀疏阈值K,通过最优化通信效率,简写Cost(K)=C(K),然后最大化μi(K)/Ci(K),
Figure BDA0003182705190000037
表示第i个节点取前K大稀疏梯度元素,xi+和xi分别表示迭代更新后的参数和更新前的参数;
B-3.Improvement(K)计算:
通过公式(3)计算出第i个节点梯度向量欧氏距离,开方得出
Figure BDA0003182705190000038
对于排序好的d维梯度向量topk_gradients,令K=1~d依次循环,从大到小计算
Figure BDA0003182705190000039
并累加到单精度变量norm_topk中;
B-4.Cost(K)计算:
第i个节点通信负载计算方式如下所示:
Figure BDA00031827051900000310
其中,log2d代表d维参数/梯度向量在稀疏传递中“键”所占的比特数,FPP表示浮点精度,例如FPP=32 or FPP=64,分别表示单精度浮点数和双精度浮点数;假设通信成本等于通信负载Ci(K)=Pi(K);
B-5.计算最优稀疏传输K值:
根据公式(1)中所提到的模型,通过公式(4)计算Efficiency(K),并存储到自定义vector容器空间,选取容器空间中最大的元素作为稀疏K值。
B-6.动态选择传输数据:
对于大规模稀疏数据集,在分布式环境下,需要对样本切成若干数据集,由于数据的稀疏性,可能使得该数据集下所求得的模型向量中有大量参数/梯度为零。在分布式优化算法中,每次迭代算法都需要对所有模型参数/梯度进行同步,而这些为零的值,对模型的更新没有影响,反而会占用多余的带宽,使得算法通信效率变低。此外,由于模型不同维度的收敛速度不同,对于那些已经收敛的模型维度,在算法同步通信时,也会占用一定的带宽,因此,对于模型向量中无用的维度,或者已经收敛的维度,不进行传输,采用稀疏通信从而减少通信量,提高算法的通信效率。
如果进行稀疏传输,需要传输“键-值”对,如果存储一个键(参数索引)所要占用的比特数为bk,存储一个模型参数所需要的比特数为bv,则存储K个稀疏数据所占用的比特数为K(bk+bv),而存储d个模型参数所占用的字节数为dbv,当K>dbv/(bk+bv)时,采用稀疏模型通信比采用稠密模型通信占用更多的比特数,在通信中,可以动态选择通信模式,如果K>dbv/(bk+bv),采用稀疏模型通信,也就是短消息传输,否则,采用稠密模型通信。
所述步骤C,稀疏传输量化技术如下:
模型参数量化是机器学习算法优化的一种手段,其通过将float32数据结构的数据转变为int8格式,一方面降低内存和通信开销,一方面在低精度运算上提升预测效率。量化就是将浮点数转化为定点数,一般模型参数的计算都采用浮点数计算,浮点数的计算会消耗比较大的计算资源,如果在不影响模型精度的情况下,通过使用简单数值计算,计算速度会快很多,消耗的计算资源也会大大减少。量化主要对比特进行压缩,如采用单精度可以使用整型表示,大大减少了内存或者通信传输消耗。
量化的方法类似于离差标准化的归一化方法,对原始数据进行线性变换,并将结果映射到一定的范围内,本专利方法对输入数组进行零填充(zero-padding),实数值0对应的量化值称为零点(zero-point)。如果用0对应的量化值进行填充,与实际的值0不完全对应,会导致结果不准确,引入偏差。本专利采用int8格式进行传输,首先算出量化最大最小值bit_max,bit_min,得出量化范围在-128~127。其次对稀疏的模型参数进行量化,选取模型向量的最大最小参数parameter_max、parameter_min,计算出量化间隔,并得出初始化零点initial_zero_point。根据初始化零点,对向量参数在量化范围定位。依次计算出要传输的K个参数量化的值。具体如下:
C-1.确定量化范围:
对稀疏的参数进行量化,选取参数向量的最大最小值parameter_max、parameter_min,通过
Figure BDA0003182705190000041
计算出量化间隔,并得出初始化零点initial_zero_point,根据初始化零点,对向量参数在量化范围定位;
C-2.稀疏参数量化:
依次计算出前K个参数量化后的值,到此,稀疏传输的参数经过量化操作,从32bit降到8bit,在通信受限的网络中,在不影响算法的收敛性同时,降低传输的通信量,保证模型参数的高效传输。
与现有技术相比较,本发明具有如下显而易见的突出实质性特点和显著的优点:
1、本发明根据目标函数的提升与通信成本的关系,对稀疏参数传输方法的实施提供了理论支撑,针对分布式集群系统中,节点间与节点内通信机制的不同,减少稀疏参数传输的通信开销是很有意义的研究。
2、对于通信受限的网络,量化技术不仅能够提高处理器的计算速度,也可以在不损失太多精度情况下,提高通信效率。
附图说明
图1是本发明中的程序流程图。
图2是通过自适应稀疏参数模型对要传输参数的选择示意图。
图3是对要传输的K个参数量化示意图。
具体实施方式
下面结合说明书附图和优选实施例对本发明做进一步详细的说明。
参见图1,一种面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法,包括如下过程:
A.过滤不重要的模型参数方法设计;
B.自适应稀疏参数模型建模;
C.稀疏传输量化。
本方法实施过滤不重要模型参数,通过自适应稀疏参数模型建模,实现了面向分布式机器学习的自适应稀疏参数量化通信。
所述步骤A中过滤不重要的模型参数方法设计如下:
A-1.栈上开辟内存,并定义容器排序算法:
在栈上开辟d个数据结构为单精度浮点的空间,计算模型参数梯度值,将相关信息保存到vector容器original_gradients中,用于存放稀疏参数量化前的梯度向量,original_gradients的具体定义如下:
typedefstd::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参数创建方法相同。
所述步骤B中的自适应稀疏参数模型建模方法,如图2所示,第一步是对更新的梯度向量gradients_new与上一次更新的参数向量gradients_old相应索引位置的差值,并存储到vector容器original_gradients中,第二步是对original_gradients中的元素降序排列,第三步是使用自适应稀疏参数模型计算出最优的K值。传输这K个索引对应的元素会使得Efficiency(K)最大,通信效率也最高。
B-1.自适应稀疏参数建模:
当参数稀疏传输时,通信过程中需要尽量高效地使用每一维参数,希望对每个通信项的目标函数进行改进;通过最大化以下比例:
Figure BDA0003182705190000061
其中,Improvement(K)是指使用前K大梯度条件下对目标函数的改进,Cost(K)指使用该条件下,传输通信量的成本;
B-2.动态稀疏自适应调优:
引理1.假设
Figure BDA0003182705190000062
是L-smooth,且γ=1/L,对于
Figure BDA0003182705190000063
其中
Figure BDA0003182705190000064
Figure BDA0003182705190000065
引入测度μ(K),得出函数值改进的大小:
Figure BDA0003182705190000066
其中:
Figure BDA0003182705190000071
其中
Figure BDA0003182705190000072
表示从original_gradients取前K大稀疏梯度元素;通过引理1进而推导出稀疏梯度方法新的收敛界,在分布式环境下,通过使用Improvement(K)=μ(K)定义动态稀疏自适应调优:
Figure BDA0003182705190000073
Figure BDA0003182705190000074
i指节点索引,N指节点数量,μi(K)表示第i个节点目标函数改进,Ci(K)表示第i个节点通信消耗。首先找到稀疏阈值K,通过最优化通信效率,简写Cost(K)=C(K),然后最大化μi(K)/Ci(K),
Figure BDA0003182705190000075
表示第i个节点取前K大稀疏梯度元素,xi+和xi分别表示迭代更新后的参数和更新前的参数;
B-3.Improvement(K)计算:
通过公式(3)计算出第i个节点梯度向量欧氏距离,开方得出
Figure BDA0003182705190000076
对于排序好的d维梯度向量topk_gradients,令K=1~d依次循环,从大到小计算
Figure BDA0003182705190000077
并累加到单精度变量norm_topk中;
B-4.Cost(K)计算:
第i个节点通信负载计算方式如下所示:
Figure BDA0003182705190000078
其中,log2 d代表d维参数/梯度向量在稀疏传递中“键”所占的比特数,FPP表示浮点精度,例如FPP=32 or FPP=64,分别表示单精度浮点数和双精度浮点数;假设通信成本等于通信负载Ci(K)=Pi(K);
B-5.计算最优稀疏传输K值:
根据公式(1)中所提到的模型,通过公式(4)计算Efficiency(K),并存储到自定义vector容器空间,选取容器空间中最大的元素作为稀疏K值;
B-6.动态选择传输数据:
如果存储一个索引所要占用的比特数为bk,存储一个模型参数所需要的比特数为bv,则存储K个稀疏数据所占用的比特数为K(bk+bv),而存储d个模型参数所占用的字节数为dbv,当K>dbv/(bk+bv)时,采用稀疏参数通信比采用稠密模型占用更多的比特数,在通信中,动态选择通信模式,如果K>dbv/(bk+bv),采用短消息形式的稀疏数据通信,否则,采用稠密数据通信。
所述步骤C稀疏传输量化如下,如图3所示,从32bit浮点型数据结构变为8bit整型,分别选取K个元素中最小与最大元素映射到-128和127,其他中间元素成比例映射到-128~127之间。
C-1.确定量化范围:
对稀疏的参数进行量化,选取参数向量的最大最小值parameter_max、parameter_min,通过
Figure BDA0003182705190000081
计算出量化间隔,并得出初始化零点initial_zero_point,根据初始化零点,对向量参数在量化范围定位;
C-2.稀疏参数量化:
依次计算出K个参数量化后的值,到此,稀疏传输的参数经过量化操作,从32bit降到8bit,在通信受限的网络中,在不影响算法的收敛性同时,降低传输的通信量,保证模型参数的高效传输。
本实施例面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法。首先通过对模型的梯度向量与上一次迭代的梯度向量作差,并降序排序。由于数据的稀疏性会导致模型参数的稀疏性,并且根据模型相应维度参数收敛之后就不再变化这一条件,得出重要的模型参数“键-值”对。根据自适应稀疏参数模型,选取最优的K值,使目标函数提升与通信成本率更高,进而提升通信效率。在此基础上,依据动态选择稀疏/稠密通信模式进行高效通信,如果选择稀疏通信模式,可以对稀疏参数元素进行量化操作,使高bit参数降为低bit参数,在不影响算法收敛性的前提下,使得通信传输更加高效。
上面对本发明实施例结合附图进行了说明,但本发明不限于上述实施例,还可以根据本发明的发明创造的目的做出多种变化,凡依据本发明技术方案的精神实质和原理下做的改变、修饰、替代、组合或简化,均应为等效的置换方式,只要符合本发明的发明目的,只要不背离本发明的技术原理和发明构思,都属于本发明的保护范围。

Claims (4)

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.自适应稀疏参数建模:
当参数稀疏传输时,通信过程中需要尽量高效地使用每一维参数,希望对每个通信项的目标函数进行改进;通过最大化以下比例:
Figure FDA0003182705180000021
其中,Improvement(K)是指使用前K大梯度条件下对目标函数的改进,Cost(K)指使用该条件下,传输通信量的成本;
B-2.动态稀疏自适应调优:
引理1.假设
Figure FDA0003182705180000022
是L-smooth,且γ=1/L,对于
Figure FDA0003182705180000023
其中
Figure FDA0003182705180000024
Figure FDA0003182705180000025
引入测度μ(K),得出函数值改进的大小:
Figure FDA0003182705180000026
其中:
Figure FDA0003182705180000027
其中
Figure FDA0003182705180000028
表示从original_gradients取前K大稀疏梯度元素;通过引理1进而推导出稀疏梯度方法新的收敛界,在分布式环境下,通过使用Improvement(K)=μ(K)定义动态稀疏自适应调优:
Figure FDA0003182705180000029
Figure FDA00031827051800000210
i指节点索引,N指节点数量,μi(K)表示第i个节点目标函数改进,Ci(K)表示第i个节点通信消耗;首先找到稀疏阈值K,通过最优化通信效率,简写Cost(K)=C(K),然后最大化μi(K)/Ci(K),
Figure FDA00031827051800000211
表示第i个节点取前K大稀疏梯度元素,xi+和xi分别表示迭代更新后的参数和更新前的参数;
B-3.Improvement(K)计算:
通过公式(3)计算出第i个节点梯度向量欧氏距离,开方得出
Figure FDA00031827051800000212
对于排序好的d维梯度向量topk_gradients,令K=1~d依次循环,从大到小计算
Figure FDA00031827051800000213
并累加到单精度变量norm_topk中;
B-4.Cost(K)计算:
第i个节点通信负载计算方式如下所示:
Figure FDA0003182705180000032
其中,log2d代表d维参数/梯度向量在稀疏传递中“键”所占的比特数,FPP表示浮点精度,例如FPP=32 or FPP=64,分别表示单精度浮点数和双精度浮点数;假设通信成本等于通信负载Ci(K)=Pi(K);
B-5.计算最优稀疏传输K值:
根据公式(1)中所提到的模型,通过公式(4)计算Efficiency(K),并存储到自定义vector容器空间,选取容器空间中最大的元素作为稀疏K值;
B-6.动态选择传输数据:
如果存储一个索引所要占用的比特数为bk,存储一个模型参数所需要的比特数为bv,则存储K个稀疏数据所占用的比特数为K(bk+bv),而存储d个模型参数所占用的字节数为dbv,当K>dbv/(bk+bv)时,采用稀疏参数通信比采用稠密模型占用更多的比特数,在通信中,动态选择通信模式,如果K>dbv/(bk+bv),采用短消息形式的稀疏数据通信,否则,采用稠密数据通信。
4.根据权利要求1所述的面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法,其特征在于,所述步骤C稀疏传输量化如下:
C-1.确定量化范围:
对稀疏的参数进行量化,选取参数向量的最大最小值parameter_max、parameter_min,通过
Figure FDA0003182705180000031
计算出量化间隔,并得出初始化零点initial_zero_point,根据初始化零点,对向量参数在量化范围定位;
C-2.稀疏参数量化:
依次计算出K个参数量化后的值,到此,稀疏传输的参数经过量化操作,从32bit降到8bit,在通信受限的网络中,在不影响算法的收敛性同时,降低传输的通信量,保证模型参数的高效传输。
CN202110851560.8A 2021-07-27 2021-07-27 面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法 Active CN113660113B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110851560.8A CN113660113B (zh) 2021-07-27 2021-07-27 面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110851560.8A CN113660113B (zh) 2021-07-27 2021-07-27 面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法

Publications (2)

Publication Number Publication Date
CN113660113A true CN113660113A (zh) 2021-11-16
CN113660113B CN113660113B (zh) 2023-09-15

Family

ID=78478762

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110851560.8A Active CN113660113B (zh) 2021-07-27 2021-07-27 面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法

Country Status (1)

Country Link
CN (1) CN113660113B (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115208874A (zh) * 2022-07-15 2022-10-18 北银金融科技有限责任公司 一种基于银行核心的多通信协议分布式文件处理平台
CN116341628A (zh) * 2023-02-24 2023-06-27 北京大学长沙计算与数字经济研究院 分布式训练的梯度稀疏化方法、系统、设备及存储介质
WO2023222113A1 (zh) * 2022-05-19 2023-11-23 华为技术有限公司 稀疏参数的更新方法、训练节点、设备和存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951438A (zh) * 2019-01-15 2019-06-28 中国科学院信息工程研究所 一种分布式深度学习的通信优化方法及系统
CN112235344A (zh) * 2020-09-07 2021-01-15 上海大学 一种面向分布式机器学习的稀疏通信模型的实现方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109951438A (zh) * 2019-01-15 2019-06-28 中国科学院信息工程研究所 一种分布式深度学习的通信优化方法及系统
CN112235344A (zh) * 2020-09-07 2021-01-15 上海大学 一种面向分布式机器学习的稀疏通信模型的实现方法

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
DONGXIA WANG等: "HSAC‑ALADMM: an asynchronous lazy ADMM algorithm based on hierarchical sparse allreduce communication", 《THE JOURNAL OF SUPERCOMPUTING》 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023222113A1 (zh) * 2022-05-19 2023-11-23 华为技术有限公司 稀疏参数的更新方法、训练节点、设备和存储介质
CN115208874A (zh) * 2022-07-15 2022-10-18 北银金融科技有限责任公司 一种基于银行核心的多通信协议分布式文件处理平台
CN115208874B (zh) * 2022-07-15 2024-03-29 北银金融科技有限责任公司 一种基于银行核心的多通信协议分布式文件处理平台
CN116341628A (zh) * 2023-02-24 2023-06-27 北京大学长沙计算与数字经济研究院 分布式训练的梯度稀疏化方法、系统、设备及存储介质
CN116341628B (zh) * 2023-02-24 2024-02-13 北京大学长沙计算与数字经济研究院 分布式训练的梯度稀疏化方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN113660113B (zh) 2023-09-15

Similar Documents

Publication Publication Date Title
CN113660113A (zh) 面向分布式机器学习的自适应稀疏参数模型设计与量化传输方法
CN110070178A (zh) 一种卷积神经网络计算装置及方法
CN110413255B (zh) 人工神经网络调整方法和装置
WO2020167480A1 (en) Adjusting activation compression for neural network training
CN113591145A (zh) 基于差分隐私和量化的联邦学习全局模型训练方法
CN111240746B (zh) 一种浮点数据反量化及量化的方法和设备
JP2019080232A (ja) 勾配圧縮装置、勾配圧縮方法及びプログラム
JP7035827B2 (ja) 学習識別装置および学習識別方法
CN109344893B (zh) 一种基于移动终端的图像分类方法
CN111814973B (zh) 一种适用于神经常微分方程网络计算的存内计算系统
CN111985495A (zh) 模型部署方法、装置、系统及存储介质
CN111696149A (zh) 针对基于cnn的立体匹配算法的量化方法
CN112766484A (zh) 浮点神经网络模型量化系统和方法
EP4008057A1 (en) Lossless exponent and lossy mantissa weight compression for training deep neural networks
CN116502691A (zh) 一种应用于fpga的深度卷积神经网络混合精度量化方法
Shahshahani et al. Memory optimization techniques for fpga based cnn implementations
CN116797850A (zh) 基于知识蒸馏和一致性正则化的类增量图像分类方法
CN115952846B (zh) Ai算法架构的实现装置、稀疏卷积运算方法及相关设备
CN113034343B (zh) 参数自适应的高光谱图像分类gpu并行方法
CN115392348A (zh) 联邦学习梯度量化方法、高效通信联邦学习方法及相关装置
CN113033661A (zh) 一种基于嵌入式平台特点改进的目标检测方法
CN113132482A (zh) 一种基于强化学习的分布式消息系统参数自适应优化方法
CN112712164A (zh) 一种神经网络的非均匀量化方法
CN112085154A (zh) 用于神经网络的压缩和推断加速的非对称量化
CN113537447A (zh) 多层神经网络的生成方法、装置、应用方法及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant