CN110809771A - 用于机器学习模型的压缩和分发的系统和方法 - Google Patents
用于机器学习模型的压缩和分发的系统和方法 Download PDFInfo
- Publication number
- CN110809771A CN110809771A CN201780092778.1A CN201780092778A CN110809771A CN 110809771 A CN110809771 A CN 110809771A CN 201780092778 A CN201780092778 A CN 201780092778A CN 110809771 A CN110809771 A CN 110809771A
- Authority
- CN
- China
- Prior art keywords
- weights
- quantization error
- machine learning
- model
- unquantized
- 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
Links
- 238000010801 machine learning Methods 0.000 title claims abstract description 117
- 238000000034 method Methods 0.000 title claims abstract description 73
- 230000006835 compression Effects 0.000 title description 13
- 238000007906 compression Methods 0.000 title description 13
- 238000013139 quantization Methods 0.000 claims abstract description 128
- 230000001902 propagating effect Effects 0.000 claims abstract description 12
- 238000012549 training Methods 0.000 claims description 44
- 230000000694 effects Effects 0.000 claims description 7
- 238000013528 artificial neural network Methods 0.000 description 19
- 238000004891 communication Methods 0.000 description 16
- 238000007726 management method Methods 0.000 description 13
- 230000008901 benefit Effects 0.000 description 8
- 230000008859 change Effects 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 6
- 230000008569 process Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 5
- 230000004048 modification Effects 0.000 description 5
- 230000009467 reduction Effects 0.000 description 5
- 230000001537 neural effect Effects 0.000 description 4
- 230000000306 recurrent effect Effects 0.000 description 4
- 239000004020 conductor Substances 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000000644 propagated effect Effects 0.000 description 3
- 238000000137 annealing Methods 0.000 description 2
- 238000013527 convolutional neural network Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000006870 function Effects 0.000 description 2
- 238000011002 quantification Methods 0.000 description 2
- 238000012706 support-vector machine Methods 0.000 description 2
- 238000013526 transfer learning Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 230000015556 catabolic process Effects 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 238000013136 deep learning model Methods 0.000 description 1
- 238000006731 degradation reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000008014 freezing Effects 0.000 description 1
- 238000007710 freezing Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0495—Quantised networks; Sparse networks; Compressed networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/06—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons
- G06N3/063—Physical realisation, i.e. hardware implementation of neural networks, neurons or parts of neurons using electronic means
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Mathematical Physics (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- General Health & Medical Sciences (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Machine Translation (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本公开提供了用于压缩和/或分发机器学习模型的系统和方法。在一个示例中,提供了一种计算机实现的方法来压缩机器学习模型,该方法包括由一个或多个计算设备获得机器学习模型。该方法包括由一个或多个计算设备选择要被量化的权重,以及由一个或多个计算设备对该权重进行量化。该方法包括由一个或多个计算设备将量化误差的至少一部分传播到一个或多个未被量化的权重,以及由一个或多个计算设备对未被量化的权重中的一个或多个进行量化。该方法包括由一个或多个计算设备提供被量化的机器学习模型。
Description
技术领域
本公开总体上涉及机器学习模型。更具体地,本公开涉及在机器学习模型的分发中利用压缩。
背景技术
机器学习模型可以帮助解决传统上对于计算系统而言具有困难的各种任务。但是,机器学习模型通常很大,并且需要大量存储容量和传输带宽以递送到计算系统。因此,为了使机器学习模型对于带宽受限网络中的应用(例如在移动应用等中)更具吸引力,需要减少机器学习模型的传送和存储的成本的方法。
发明内容
本公开的实施例的方面和优点将部分地在以下描述中阐述,或者可以从描述中学习,或者可以通过对实施例的实施而学习。
本公开的一个示例方面针对一种压缩机器学习模型的计算机实现的方法。该方法可以包括由一个或多个计算设备获得机器学习模型。该方法可以还包括由一个或多个计算设备选择要被量化的权重。该方法可以还包括由一个或多个计算设备对该权重进行量化。该方法可以还包括由一个或多个计算设备将量化误差的至少一部分传播到一个或多个未被量化的权重。该方法可以还包括由一个或多个计算设备对未被量化的权重中的一个或多个进行量化。该方法可以还包括由一个或多个计算设备提供被量化的机器学习模型。
在一些实施例中,在传播量化误差的情况下,该方法可以另外包括由一个或多个计算设备确定量化误差。传播量化误差还可以包括:由一个或多个计算设备确定与该权重相关联的一个或多个未被量化的权重。传播量化误差还可以包括:由一个或多个计算设备将量化误差的零散部分(fractional part)分配给每个相关联的未被量化的权重。
本公开的另一示例方面针对一种计算设备。该计算设备包括一个或多个处理器;以及一个或多个非暂时性计算机可读介质,其存储指令,该指令在由一个或多个处理器执行时使计算设备执行操作。指令的执行使计算设备获得机器学习模型。指令的执行还使计算设备选择要被量化的权重。指令的执行还使计算设备对权重进行量化。指令的执行还使计算设备将量化误差的至少一部分传播到一个或多个未被量化的权重。指令的执行还使计算设备对未被量化的权重中的一个或多个进行量化。指令的执行还使计算设备提供被量化的机器学习模型。
本公开的另一示例方面针对一种或多种非暂时性计算机可读介质,其存储指令,这些指令在由计算系统的一个或多个处理器执行时使该计算系统执行操作。指令的执行使计算系统获得机器学习模型。指令的执行使计算系统对于机器学习模型的一个或多个权重,选择要被量化的权重并对该权重进行量化。指令的执行还使计算系统将量化误差的至少一部分传播到一个或多个未被量化的权重。指令的执行还使计算系统提供被量化的机器学习模型。
本公开的其他示例方面针对系统、装置、有形非暂时性计算机可读介质、用户接口、存储器设备和电子设备。
参考以下描述和所附权利要求,将更好地理解各个实施例的这些和其他特征、方面和优点。结合在本说明书中并构成本说明书的一部分的附图示出了本公开的实施例,并且与说明书一起用于解释相关原理。
附图说明
在说明书中阐述了针对本领域普通技术人员的对实施例的详细讨论,说明书参考附图,其中:
图1描绘了根据本公开的示例实施例的计算系统的框图;
图2描绘了根据本公开的示例实施例的具有损失管理的模型量化的示例方法的流程图;
图3描绘了根据本公开的示例实施例的具有损失管理的模型量化的另一示例方法的流程图;
图4描绘了根据本公开的示例实施例的模型量化的示例方法的流程图;和
图5描绘了根据本公开的示例实施例的模型量化的另一示例方法的流程图。
具体实施方式
现在将详细参考实施例,在附图中示出了实施例的一个或多个示例。通过解释实施例而不是限制本公开的方式来提供每个示例。实际上,对于本领域技术人员将显而易见的是,在不脱离本公开的范围或精神的情况下,可以对实施例进行各种修改和变动。例如,作为一个实施例的一部分示出或描述的特征可以与另一实施例一起使用以产生又一实施例。因此,意图是本公开的各方面覆盖这样的修改和变动。
总体上,本公开针对压缩和/或分发机器学习模型的系统和方法。特别地,本公开的系统和方法可以利用压缩方法来减小机器学习模型的大小(例如,数据存储和传送要求)。通过减小模型的大小,本公开的系统和方法可以减少与模型的传送、存储和/或使用相关联的网络和/或计算开销。特别地,能够实现与机器学习模型的传送或其他形式的分发相关联的网络开销的减少可以使机器学习模型在带宽受限网络中更具吸引力或更有用。同样,能够实现与机器学习模型的存储和/或使用相关联的存储开销和/或计算开销的减少可以使机器学习模型在资源受限的设备或环境(诸如例如移动应用、设备和/或环境)中更具吸引力或更有用。
因此,本公开提供了可用于减小机器学习模型的大小的压缩技术。特别地,本公开的系统和方法可以执行具有损失管理的对模型权重的各种类型的量化。作为一个示例,本公开的系统和方法可以提供模型压缩,使得压缩引入的失真具有有限的损失增加。作为另一示例,在一些实施方式中,当对模型权重进行量化时,量化误差可以由以后的量化误差来补偿。例如,基于节点相关性和/或根据其他方案,量化误差可以分布在一个模型层到前一层或下一层之间、在层内的节点之间、在单个节点的连接内。作为另一示例,可以执行迭代训练过程,其中,对一定数量的最佳匹配(例如,产生最低量化误差的)节点进行量化,然后在使模型经受附加训练时将其冻结。如本文所述,通过实现具有损失管理的量化,可以在减少机器学习模型的适应度(fitness)降低的同时,更致密地压缩机器学习模型。
除了压缩技术之外,本公开还提供了用于改善机器学习模型的分发、存储和/或使用的附加技术。例如,在一些实施方式中,本公开的系统和方法可以执行或能够实现以下中的一个或多个:针对模型更新打补丁、分布式学习、针对量化进行训练、针对打补丁进行训练和/或传送学习。作为示例,在一些实施方式中,机器学习模型分发可以包括打补丁,其中,机器学习模型的较小部分(例如,仅一部分)被递送以更新诸如在移动设备上的机器学习模型的已部署版本,而不是更新整个机器学习模型。在另一示例中,在一些实施方式中,可以执行分布式学习,其中,机器学习模型权重在客户端设备处改变,然后通过补丁从客户端设备收集。使用补丁从客户端设备上传更新的权重可以减少客户端设备使用的带宽。
在又另一示例中,在一些实施方式中,本公开的系统和方法可以执行或能够实现针对量化进行训练和针对打补丁进行训练,在针对量化进行训练中,在训练期间选择并冻结模型的某些权重以改善误差,在针对打补丁进行训练中,在训练期间选择并冻结模型的全部层以改善压缩。在另一示例中,在一些实施方式中,机器学习模型分发可以包括传送学习,其中,可以使用打补丁来改换客户端设备上已经存在的模型的用途,从而消除了发送全新模型的需要。
更特别地,根据本公开的一个方面,机器学习模型分发可以包括通过实现具有损失管理的量化来压缩机器学习模型。使用具有损失管理的量化,可以通过对模型权重进行量化来压缩机器学习模型以进行分发,其中,量化误差可以由其他量化误差来补偿。例如,在一些实施方式中,可以通过抖动以将量化误差分布在其他相关联的权重之间来补偿量化误差。当对神经权重进行量化时,一些误差被引入,然后可以将该误差分布在尚未被量化的权重之间以对误差进行补偿。例如,当对权重进行量化时,可以进行对哪些其他权重(其尚未被量化)与被量化的权重相关联的确定。然后,可以通过例如使用预定的乘数来将被量化的权重的量化误差零散地分布到这些相关联的权重。然后,下一相关联的权重取其原始值加上传送的量化误差,然后对该新的权重值进行量化。然后,可以将来自该下一相关联权重的量化的量化误差分布在尚未被量化的其余相关联的权重之间。
在一些实施方式中,随着对权重的量化继续,量化误差可能累积直到达到或超过阈值,这然后可能会导致形成相反的误差并且从而减小其余权重值中的误差。在一些实施方式中,量化决策不是一次做出一个,而是考虑对其他量化决策的影响。
因此,具有损失管理的量化可以包括减少模型的适应度降低的各种策略。在一些实施方式中,例如,可以基于最佳匹配系数来执行对权重的量化。例如,通过确定最佳匹配系数(例如,将导致最小量的量化误差的权重)并对该权重进行量化来开始量化。然后可以将来自该权重的量化误差传送到其他权重。通过首先对最佳匹配权重进行量化,量化误差的传送导致较差匹配权重移动,并且无论移动方向如何,与以另一顺序对这些权重进行量化的情况相比,这些权重都有更高的概率变为更佳匹配权重。
在一些实施方式中,最佳匹配系数中的一个或多个被量化,然后在保持被量化的系数锁定的同时完成附加训练迭代。这可以允许第一量化误差传播到较难以量化的系数,从而允许在量化过程中表现较少的总体误差。在一些实施方式中,可以同时完成多组最佳匹配权重以进行更快的计算,例如,最佳匹配10%的权重等。
例如,在一些实施方式中,可以从前一层抖动量化误差。例如,可以在层内的节点之间使用距离度量,并且可以考虑(例如,部分累加)来自类似节点的量化误差来量化来自前一单元(cell)的节点的信号。作为一个示例,层K的节点K1和节点K2可以具有到前一层J的相似连接。这样,如果J1到K1的连接被向下量化(quantized down),则J1到K2的连接可以被实行为更有可能被向上量化(quantized up)。
在一些实施方式中,量化误差可以在节点内抖动。例如,如果将J1到K1的连接被向下量化,则J2到K1的连接可以被实行为更有可能被向上量化。
在一些实施方式中,可以考虑活动相关性在节点内抖动量化误差,其中,两个权重之间的活动相关性描述两个权重之间的激活关系。这样的基于相关性的分布方案的一个目标是当将量化误差抖动到高度相关的节点时,损失被减少。作为示例,如果J1到K1的连接被向下量化,则J2到K1的连接应当更可能根据J1和J2之间的相关性而被量化。在一些实施方式中,如果存在反相关性,则可以在相反方向上完成抖动,从而潜在地导致较小的误差。
根据本公开的另一方面,在一些实施方式中,机器学习模型分发可以包括打补丁,其中,更新并递送机器学习模型的较小部分以改变机器学习模型的已部署版本。例如,打补丁可以支持机器学习模型的一部分被递送(例如,到移动设备等),而不更新机器学习模型的其他部分。例如,打补丁可用于递送对于将它们被快速递送给一大群接收方来说至关重要的改变。在一些实施方式中,打补丁支持更新例如在移动设备中部署的机器学习模型的较小部分,以及模型的这些较小部分如何经历神经网络计算的学习过程。打补丁可以允许仅涉及神经图的小子集的更新,以便可以以压缩更新大小的方式对其进行更新。例如,为了开发较小的补丁,可以限制神经网络结构的在其中允许训练的一部分,以使训练仅对权重的小子集发生。作为示例,在一些实施方式中,可以对找到的新权重完成训练。然后,可以确定权重改变最大的地方,并且可以完成另一轮训练,其中,仅允许权重的子集(例如,改变的权重的前五个百分点)改变。然后,这将导致较小数量的权重改变,从而创建较小的补丁。在另一示例中,为了开发较小的补丁,可以对神经网络进行重新训练,然后可以识别其值改变最大(例如,改变的权重的前五个百分点)的一组节点(例如,具有||重新训练值–原始值||的前五个百分点的节点),并将其包括在补丁中。
在一些实施方式中,打补丁可以包括用于验证深度学习模型的结果的基于规则的系统的补丁。例如,当某些情况要求立即改变模型,但无法将高带宽更新递送给许多用户时,可以使用补丁检查基于文本的模型的最终结果,或者将机器学习模型的一部分归零。在一些实施方式中,打补丁可以包括使用先前的权重来对新权重给出统计先验,从而允许对新权重进行更紧密的压缩。
根据本公开的另一方面,在一些实施方式中,机器学习模型分发可以包括分布式学习,其中,机器学习模型权重可以在客户端设备处改变,然后通过补丁从客户端设备收集以减少设备带宽使用。例如,在一些实施方式中,可以在客户端设备处改变机器学习模型权重,以进一步利用真实数据来优化模型损失函数。在一些实施方式中,然后可以在“反向”补丁中收集改变的权重以最小化客户端设备带宽使用。在一些实施方式中,可以以这样的方式来应用使用客户端数据的分布式学习:即,选择节点权重的较小组,例如部分随机地(例如,以提高隐私性和覆盖范围)并且部分地通过中央控制器看作为值得更新的节点(例如,以提高效率)。
根据本公开的另一方面,在一些实施方式中,机器学习模型分发可以包括针对量化进行训练和针对打补丁进行训练。例如,针对量化进行训练可以包括确定在训练期间要冻结的权重以改善误差。例如,在一些实施方式中,可以通过冻结引入最小误差的一组权重来对权重应用退火(annealing)过程。针对打补丁进行训练可以例如包括选择在训练期间要冻结哪些层。例如,在某些模型中,较低的层通常可以保持不变,而较高的层则展现更多的改变。在一些实施方式中,这可以在训练阶段变得明确,诸如通过向学习添加规则以冻结层(例如,随机地或通过适应度影响的另一度量),从而产生较小的补丁大小。
根据本公开的另一方面,在一些实施方式中,机器学习模型分发可以包括传送学习,由此,打补丁可以受益于客户端设备上已经学习的模型。例如,从已经学习的模型开始训练模型有时可能是有益的。在一些实施方式中,可以将补丁方法应用于开发这样的模型,从而受益于已经部署的学习模型,使得不需要传送整个模型,例如,支持仅传送小增量。
本文所述的系统和方法提供了许多技术效果和益处。例如,使用诸如具有损失管理的量化的学习模型分发策略导致对移动计算而言是巨大的成本的带宽使用的减少。因此,本文描述的系统和方法允许在诸如移动计算的带宽受限的网络中增加对机器学习模型使用,其中,机器学习模型可以为各种用户应用提供益处。另外,由于减少了高速缓存和存储器带宽需求,因此本文描述的系统和方法还可提供减小更新大小和提高性能的技术效果和益处。
本文所述的系统和方法还对具有分发和使用机器学习模型的任务的计算技术提供了随之产生的改进。例如,通过使用本文所述的用于机器学习模型分发的高级压缩技术,计算系统可以优化带宽使用并减少传送成本,并且更高效地提供机器学习模型以用于各种应用(诸如移动应用)中。此外,本文所述的系统和方法可以提供存储需求和系统资源的减少,从而使机器学习模型在带宽受限网络中更具吸引力。
现在参考附图,将进一步详细地讨论本公开的示例实施例。
示例设备和系统
图1描绘了根据本公开的示例实施例的可以执行对机器学习模型的压缩和分发的示例计算系统100的框图。系统100包括通过网络180通信地耦合的用户计算设备102、服务器计算设备140和训练计算系统160。
用户计算设备102可以是任何类型的计算设备,诸如个人计算设备(例如,膝上型计算机或台式计算机)、移动计算设备(例如,智能电话或平板计算机)、游戏控制台或控制器、可穿戴计算设备、嵌入式计算设备、个人助理计算设备或任何其他类型的计算设备。
用户计算设备102包括一个或多个处理器104和存储器106。一个或多个处理器104可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或操作性地连接的多个处理器。存储器106可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器106可以存储数据108和由处理器104执行以使用户计算设备102执行操作的指令110。
此外,根据本公开的一方面,用户计算设备102可以存储或包括一个或多个机器学习模型112。机器学习模型112可以是或可以以其他方式包括一个或多个神经网络(例如,深度神经网络);马尔可夫模型(例如隐藏马尔可夫模型);分类器;回归模型;支持向量机;贝叶斯网络;多层非线性模型;或其他类型的机器学习模型。神经网络(例如,深度神经网络)可以是前馈神经网络、卷积神经网络、自动编码器、递归神经网络(例如,长短期记忆神经网络、门控递归单元等)和/或各种其他类型神经网络。
在一些实施方式中,一个或多个机器学习模型112可以通过网络180从服务器计算设备140接收、存储在用户计算设备存储器108中并且然后由一个或多个处理器104使用或以其他方式实现。在一些实施方式中,用户计算设备102可以实现单个机器学习模型112的多个并行实例。
更特别地,可以实现(一个或多个)机器学习模型112以在各种情况和/或应用中提供辅助。作为示例,可以在用户计算设备102的移动应用的上下文内使用(一个或多个)机器学习模型112,从而在这样的移动应用的执行期间提供益处和优点。因此,可以在用户计算设备102处存储和实现一个或多个模型112。
用户计算设备102还可以包括(一个或多个)模型训练器114。模型训练器114可以使用各种训练或学习技术,诸如例如误差反向传播(例如,通过时间的截断反向传播),来训练或重新训练存储在用户计算设备102处的机器学习模型112。特别地,模型训练器114可以使用本地存储的数据作为训练数据来训练或重新训练机器学习模型112中的一个或多个。模型训练器114可以执行多种泛化(generalization)技术以提高被训练模型的泛化能力。在一些实施方式中,关于经训练模型的参数的一些信息可以由用户计算设备102递送回服务器计算设备140。
用户计算设备102还可以包括一个或多个输入/输出接口116。一个或多个输入/输出接口116可以包括例如用于从用户接收信息或向用户提供信息的设备,诸如显示设备、触摸屏、触摸板、鼠标、数据输入键、音频输出设备(诸如一个或多个扬声器)、麦克风、触觉反馈设备等。(一个或多个)输入/输出接口116可以例如由用户使用以控制用户计算设备102的操作。
用户计算设备102还可以包括用于与一个或多个系统或设备(包括位置远离用户计算设备102的系统或设备)进行通信的一个或多个通信/网络接口118。(一个或多个)通信/网络接口118可以包括用于与一个或多个网络(例如,网络180)通信的任何电路、组件、软件等。在一些实施方式中,(一个或多个)通信/网络接口118可以包括例如用于传达数据的通信控制器、接收器、收发器、发送器、端口、导体、软件和/或硬件中的一个或多个。
服务器计算设备140包括一个或多个处理器142和存储器144。一个或多个处理器142可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或操作性地连接的多个处理器。存储器144可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器144可以存储数据146和由处理器142执行以使服务器计算设备140执行操作的指令148。
在一些实施方式中,服务器计算设备140包括一个或多个服务器计算设备或以其他方式由一个或多个服务器计算设备实现。在服务器计算设备140包括多个服务器计算设备的情况下,这样的服务器计算设备可以根据顺序计算架构、并行计算架构或其某种组合来进行操作。
如上所述,服务器计算设备140可以存储或以其他方式包括一个或多个机器学习模型150。机器学习模型150可以是或可以以其他方式包括一个或多个神经网络(例如,深度神经网络);马尔可夫模型(例如隐藏马尔可夫模型);分类器;回归模型;支持向量机;贝叶斯网络;多层非线性模型;或其他类型的机器学习模型。神经网络(例如,深度神经网络)可以是前馈神经网络、卷积神经网络、自动编码器、递归神经网络(例如,长短期记忆神经网络、门控递归单元等)和/或各种其他类型神经网络。
服务器计算设备140还可以包括模型压缩器152,该模型压缩器152可以对一个或多个机器学习模型150执行压缩以减小(一个或多个)机器学习模型的大小(例如,数据存储和传送要求)。特别地,在一些实施方式中,模型压缩器152可以对机器学习模型150的一个或多个权重执行量化,其中,可以通过以后的量化误差来补偿由量化引入的量化误差。
另外,在一些实施方式中,模型压缩器152还可以支持改进机器学习模型的分发、存储和/或使用的附加技术。例如,在一些实施方式中,模型压缩器152可以执行或能够实现以下中的一个或多个:针对模型更新打补丁、分布式学习、针对量化进行训练、针对打补丁进行训练和/或传送学习。
服务器计算设备140还可以包括一个或多个输入/输出接口154。一个或多个输入/输出接口154例如可以包括用于从用户接收信息或向用户提供信息的设备,诸如显示设备、触摸屏、触摸板、鼠标、数据输入键、音频输出设备(诸如一个或多个扬声器)、麦克风、触觉反馈设备等。(一个或多个)输入/输出接口154可以例如由用户使用以控制服务器计算设备140的操作。
服务器计算设备140还可以包括用于与一个或多个系统或设备(包括位置远离服务器计算设备140的系统或设备)进行通信的一个或多个通信/网络接口156。(一个或多个)通信/网络接口156可以包括用于与一个或多个网络(例如,网络180)进行通信的任何电路、组件、软件等。在一些实施方式中,(一个或多个)通信/网络接口156可以包括例如用于传达数据的通信控制器、接收器、收发器、发送器、端口、导体、软件和/或硬件中的一个或多个。
服务器计算设备140可以经由与通过网络180通信地耦合的训练计算系统160的交互来训练机器学习模型150。训练计算系统160可以与服务器计算设备140分离或者可以是服务器计算设备140的一部分。
训练计算系统160包括一个或多个处理器162和存储器164。一个或多个处理器162可以是任何合适的处理设备(例如,处理器核、微处理器、ASIC、FPGA、控制器、微控制器等),并且可以是一个处理器或操作性地连接的多个处理器。存储器164可以包括一个或多个非暂时性计算机可读存储介质,诸如RAM、ROM、EEPROM、EPROM、闪存设备、磁盘等以及它们的组合。存储器164可以存储数据166和由处理器162执行以使训练计算系统160执行操作的指令168。在一些实施方式中,训练计算系统160包括一个或多个服务器计算设备或以其他方式由一个或多个服务器计算设备实现。
训练计算系统160可以包括一个或多个模型训练器170,其使用各种训练或学习技术,诸如例如误差反向传播(例如,通过时间的截断反向传播),来训练存储在服务器计算设备140处的机器学习模型150。模型训练器170可以执行多种泛化技术(例如,权重衰减、丢弃等)以提高被训练模型的泛化能力。特别地,模型训练器170可以基于一组训练数据172来训练机器学习模型150。训练数据172可以包括集中地收集的数据或远程获得的数据。
训练计算系统160还可以包括一个或多个输入/输出接口174。一个或多个输入/输出接口174可以包括例如用于从用户接收信息或向用户提供信息的设备,诸如显示设备、触摸屏、触摸板、鼠标、数据输入键、音频输出设备(诸如一个或多个扬声器)、麦克风、触觉反馈设备等。(一个或多个)输入/输出接口174例如可以由用户使用以控制训练计算系统160的操作。
训练计算系统160还可包括用于与一个或多个系统或设备(包括位置远离训练计算系统160的系统或设备)进行通信的一个或多个通信/网络接口176。(一个或多个)通信/网络接口176可以包括用于与一个或多个网络(例如,网络180)进行通信的任何电路、组件、软件等。在一些实施方式中,(一个或多个)通信/网络接口176可以包括例如用于传达数据的通信控制器、接收器、收发器、发送器、端口、导体、软件和/或硬件中的一个或多个。
模型训练器112和模型训练器170中的每一个都可以包括用于提供所期望功能的计算机逻辑。模型训练器112和模型训练器170中的每一个都可以以控制通用处理器的硬件、固件和/或软件来实现。例如,在一些实施方式中,模型训练器112和模型训练器170中的每一个包括存储在存储设备上、加载到存储器中并且由一个或多个处理器执行的程序文件。在其他实施方式中,模型训练器112和模型训练器170中的每一个包括一组或多组计算机可执行指令,其存储在有形计算机可读存储介质(诸如RAM硬盘或者光学或磁介质)中。
网络180可以是任何类型的通信网络,诸如局域网(例如,内联网)、广域网(例如,因特网)或其某种组合,并且可以包括任意数量的有线或无线链路。通常,可以使用各种不同的通信协议(例如,TCP/IP、HTTP、SMTP、FTP)、编码或格式(例如,HTML、XML)和/或保护方案(例如,VPN、安全HTTP、SSL),经由任何类型的有线和/或无线连接来承载通过网络180的通信。
图1示出了可以用于实现本公开的一个示例计算系统。也可以使用其他计算系统。
示例方法
图2-4示出了本公开的示例方法。尽管为了说明和讨论的目的,图2-4分别以特定顺序描绘了步骤,但是本公开的方法不限于特定示出的顺序或布置。在不脱离本公开的范围的情况下,可以以各种方式省略、重新布置、组合和/或调整图2-4的方法的各个步骤。
图2描绘了根据本公开的示例实施例的经由具有损失管理的模型量化来压缩机器学习模型的示例方法200的流程图。
在202处,诸如图1的服务器计算设备140的计算设备可以获得机器学习模型,例如,要被压缩以分发给诸如在带宽受限的网络中的其他计算系统的机器学习模型。
在204处,计算设备可以选择要被量化的一个或多个权重,作为减小机器学习模型的大小的一部分。特别地,在一些实施方式中,计算设备可以基于各种确定来选择一个或多个权重。例如,在一些实施方式中,计算设备可以基于最佳匹配系数(例如,将导致最小量的量化误差的权重)选择要首先进行量化的一个或多个权重。
在206处,计算设备可以量化选择的(一个或多个)权重。在一些实施方式中,可以同时完成多组最佳匹配权重以进行更快的计算,例如,最佳匹配10%的权重等。
在208处,可以获得被量化的权重的量化误差。特别地,当神经权重被量化时,某一量的量化误差被引入。可以通过以下方式至少部分地补偿该量化误差。
在210处,计算设备可以确定是否存在机器学习模型的尚未被量化的其余权重。如果存在其余未被量化的权重,则方法200可以继续到212。如果不存在其余要被量化的权重,则方法200可以继续218,并提供被量化的机器学习模型以进行分发。
在212处,计算设备可以确定未被量化的权重中与被量化的权重(例如,被量化并引入量化误差的权重)相关联的一个或多个。例如,可以基于节点相关性和/或根据其他方案,从同一层内的节点、来自前一层或后一层的节点、在单个节点的连接内确定相关联的未被量化的权重。
在214处,量化误差可以在相关联的未被量化的权重中的一个或多个之间传播或分布。特别地,在一些实施方式中,例如,可以通过抖动以将量化误差分布在其他相关联的权重之间来对量化误差进行补偿。在一个示例中,量化误差可以例如通过使用预定乘数而被零散地(fractionally)分布到相关联的(一个或多个)权重。然后,接下来的相关联的(一个或多个)权重取其原始值加上传送的量化误差,并且然后可以对该新的权重值进行量化。在一些实施方式中,随着权重的量化继续,量化误差可能累积直到达到或超过阈值,这然后可能会导致形成相反的误差并且从而减小其余权重值中的误差。根据各种实施方式,例如,可以基于节点相关性和/或根据其他方案,将量化误差从一个模型层分布到下一层、分布在层内的节点之间、分布在单个节点的连接内。
在216处,计算设备然后可以从未被量化的权重中选择接下来要进行量化的一个或多个权重,然后返回206以迭代地继续具有损失管理的量化。
在218处,在完成模型权重的量化迭代之后(例如,当在210处不存在要被量化的其余权重时),计算系统可以提供被量化的机器学习模型,例如,以分发给其他计算设备。
图3描绘了根据本公开的示例实施例的经由具有损失管理的模型量化来压缩机器学习模型的示例方法300的流程图。
在302处,诸如图1的服务器计算设备140的计算设备可以获得机器学习模型,例如,要被压缩以分发给诸如在带宽受限网络中的其他计算系统的机器学习模型。
在304处,计算设备可以选择要被量化的一个或多个权重,作为减小机器学习模型的大小的一部分。特别地,在一些实施方式中,计算设备可以基于各种确定来选择一个或多个权重。例如,在一些实施方式中,计算设备可以基于最佳匹配系数(例如,将导致最小量的量化误差的权重)选择要首先进行量化的一个或多个权重。
在306处,计算设备可以量化选择的(一个或多个)权重。在一些实施方式中,可以同时完成多组最佳匹配权重以进行更快的计算,例如,最佳匹配10%的权重等。
在308处,可以获得被量化的权重的量化误差。特别地,当神经权重被量化时,一定量的量化误差被引入。可以通过以下方式至少部分地补偿该量化误差。
在310处,计算设备可以确定是否存在机器学习模型的尚未被量化的其余权重。如果存在其余未被量化的权重,则方法300可以继续到312。如果不存在其余要被量化的权重,则方法300可以继续320,并提供被量化的机器学习模型以进行分发。
在312处,计算设备可以确定未被量化的权重中与被量化的权重(例如,被量化并引入量化误差的权重)相关联的一个或多个。例如,可以基于节点相关性和/或根据其他方案,从同一层内的节点、来自前一层或后一层的节点、在单个节点的连接内确定相关联的未被量化的权重。
在314处,量化误差可以在相关联的未被量化的权重中的一个或多个之间传播或分布。特别地,在一些实施方式中,例如,可以通过抖动以将量化误差分布在其他相关联的权重之间来对量化误差进行补偿。在一个示例中,量化误差可以例如通过使用预定乘数而被零散地分布到相关联的(一个或多个)权重。然后,接下来的相关联的(一个或多个)权重取其原始值加上传送的量化误差,并且然后可以对该新的权重值进行量化。
在316处,计算设备可以对机器学习模型执行一个或多个附加训练迭代,同时保持被量化的权重锁定。例如,对权重的这种锁定可以允许第一量化误差传播到较难以量化的系数,从而允许在量化过程中引入较少的总体误差。
在318,计算设备然后可以从未被量化的权重中选择接来来要进行量化的一个或多个权重,然后返回306以迭代地继续具有损失管理的量化。
在320处,在完成对模型权重的量化迭代之后(例如,当在310处不存在要被量化的其余权重时),计算系统可以提供被量化的机器学习模型,例如,以分发给其他计算设备。
图4描绘了根据本公开的示例实施例的量化机器学习模型的示例方法400的流程图。
在402处,诸如图1的服务器计算设备140的计算设备可以获得机器学习模型,例如,要被压缩以分发给诸如在带宽受限网络中的其他计算系统的机器学习模型。
在404处,计算设备可以估计机器学习模型的一个或多个系数的重要性。例如,系数的重要性可以至少部分地基于其大小(magnitude)。
在406处,计算设备可以针对每个系数估计由一个或多个量化策略引入的大小的改变和损失的改变。特别地,在一些实施方式中,量化策略可以依赖于系数重要性估计数据。
在408处,计算设备可以至少部分地基于大小改变和损失改变估计来选择要应用于机器学习模型的一个或多个量化策略。
在410处,计算设备可以将一个或多个选择的量化策略应用于机器学习模型。
在412处,计算设备然后可以输出被量化的机器学习模型,例如,以将其分发给一个或多个计算系统(例如,带宽受限系统,诸如移动应用、设备和/或网络)。
图5描绘了根据本公开的示例实施例的经由具有损失管理的模型量化来压缩机器学习模型的示例方法500的流程图。
在502处,诸如图1的服务器计算设备140的计算设备可以获得机器学习模型,诸如要被压缩以分发给诸如在带宽受限网络中的其他计算系统的机器学习模型。
在504处,计算设备可以选择要被量化的一个或多个权重,作为减小机器学习模型的大小的一部分。特别地,在一些实施方式中,计算设备可以基于各种确定来选择一个或多个权重。例如,在一些实施方式中,计算设备可以基于最佳匹配系数(例如,将导致最小量的量化误差的权重)选择要首先进行量化的一个或多个权重。
在506处,计算设备可以量化选择的(一个或多个)权重。在一些实施方式中,可以同时完成多组最佳匹配权重以进行更快的计算,例如,最佳匹配10%的权重等。
在508处,计算设备可以将量化误差从被量化的(一个或多个)权重传播到一个或多个未被量化的权重。例如,在一些实施方式中,可以通过抖动将量化误差分布在其他未被量化的权重之间来对量化误差进行补偿。
在510处,计算设备可以对未被量化的权重进行量化。
在512处,计算系统可以提供被量化的机器学习模型,例如,以分发给其他计算设备。
附加公开
本文讨论的技术可以涉及服务器、数据库、软件应用和其他基于计算机的系统以及采取的动作和发送到这样的系统及发送自这样的系统的信息。基于计算机的系统的固有灵活性允许多种不同的可能配置、组合以及在组件之间或者在组件之中进行任务和功能的划分。例如,可以使用单个设备或组件或联合工作的多个设备或组件来实现本文讨论的过程。数据库和应用可以在单个系统上实现,或者分布在多个系统上。分布式组件可以顺序或并行操作。
尽管已经关于本主题的各种特定示例实施例详细描述了本主题,但是每个示例都是通过解释而不是限制本公开的方式提供的。本领域技术人员在获得到前述内容的理解之后,可以容易地对这样的实施例进行替换、变动和等同。因此,本公开不排除包括对本领域普通技术人员而言显而易见的对本主题的这样的修改、变动和/或添加。例如,作为一个实施例的一部分示出或描述的特征可以与另一实施例一起使用以产生又一实施例。因此,意图是本公开覆盖这样的变更、变动和等同。
Claims (30)
1.一种压缩机器学习模型的计算机实现的方法,所述方法包括:
由一个或多个计算设备获得机器学习模型;
由所述一个或多个计算设备选择要被量化的权重;
由所述一个或多个计算设备对所述权重进行量化;
由所述一个或多个计算设备将量化误差的至少一部分传播到一个或多个未被量化的权重;
由所述一个或多个计算设备对所述未被量化的权重中的一个或多个进行量化;以及
由所述一个或多个计算设备提供被量化的机器学习模型。
2.根据权利要求1所述的计算机实现的方法,其中,传播所述量化误差的步骤包括:
由所述一个或多个计算设备确定所述量化误差;
由所述一个或多个计算设备确定与所述权重相关联的一个或多个未被量化的权重;以及
由所述一个或多个计算设备将量化误差的微小部分分配给每个相关联的未被量化的权重。
3.根据权利要求2所述的计算机实现的方法,其中,部分地基于预定乘数,将所述量化误差的零碎部分分配给每个相关联的未被量化的权重。
4.根据权利要求2或3所述的计算机实现的方法,其中:
由所述一个或多个计算设备确定所述量化误差包括:由所述一个或多个计算设备确定与所述机器学习模型的第一层中的第一节点相关联的量化误差;并且
由所述一个或多个计算设备确定与所述权重相关联的一个或多个未被量化的权重包括:识别所述第一层中的第二节点,其中,所述第一节点和第二节点每个均具有到第二层中的第三节点的连接。
5.根据权利要求2至4中任一项所述的计算机实现的方法,其中,由所述一个或多个计算设备将所述量化误差的零碎部分分配给每个相关联的未被量化的权重包括:由所述一个或多个计算设备在所述模型的节点内抖动所述量化误差。
6.根据权利要求5所述的计算机实现的方法,还包括部分地基于所述模型的节点之间的活动的相关性,由所述一个或多个计算设备在所述模型的节点内抖动所述量化误差。
7.根据权利要求6所述的计算机实现的方法,其中,当在所述模型的节点之间存在活动的反相关性时,在相反方向上抖动所述量化误差。
8.根据权利要求1所述的计算机实现的方法,其中,传播所述量化误差的步骤包括:
由所述一个或多个计算设备锁定被量化的权重;以及
由所述一个或多个计算设备执行所述机器学习模型的附加训练迭代,其中,执行附加训练迭代包括更新未被量化的权重。
9.根据权利要求8所述的计算机实现的方法,还包括由所述一个或多个计算设备锁定多个被量化的最佳匹配系数权重。
10.根据前述权利要求中的任一项所述的计算机实现的方法,其中,选择要被量化的权重包括选择最佳匹配系数。
11.一种计算设备,包括:
一个或多个处理器;和
存储指令的一个或多个非暂时性计算机可读介质,所述指令在由一个或多个处理器执行时使所述计算设备:
获得机器学习模型;
选择要被量化的权重;
对所述权重进行量化;
将量化误差的至少一部分传播到一个或多个未被量化的权重;
对所述未被量化的权重中的一个或多个进行量化;以及
提供被量化的机器学习模型。
12.根据权利要求11所述的计算机设备,其中,传播所述量化误差包括:
确定所述量化误差;
确定与所述权重相关联的一个或多个未被量化的权重;以及
将所述误差的零碎部分分配给每个相关联的未被量化的权重。
13.根据权利要求12所述的计算设备,其中,部分地基于预定乘数,将所述量化误差的零碎部分分配给每个相关联的未被量化的权重。
14.根据权利要求12或13中的任一项所述的计算设备,其中:
确定所述量化误差包括:确定与所述机器学习模型的第一层中的第一节点相关联的量化误差;并且
确定与所述权重相关联的一个或多个未被量化的权重包括:识别所述第一层中的第二节点,其中,所述第一节点和第二节点每个均具有到第二层中的第三节点的连接。
15.根据权利要求12至14中的任一项所述的计算设备,其中,将所述量化误差的零碎部分分配给每个相关联的未被量化的权重包括:在所述模型的节点内抖动所述量化误差。
16.根据权利要求15所述的计算设备,还包括部分地基于所述模型的节点之间的活动的相关性,在所述模型的节点内抖动所述量化误差。
17.根据权利要求16所述的计算设备,其中,当在所述模型的节点之间存在活动的反相关性时,在相反方向上抖动所述量化误差。
18.根据权利要求11所述的计算设备,其中,传播所述量化误差包括:
锁定被量化的权重;以及
执行所述机器学习模型的附加训练迭代,其中,执行附加训练迭代包括更新未被量化的权重。
19.根据权利要求18所述的计算设备,还包括锁定多个被量化的最佳匹配系数权重。
20.根据权利要求11至19中任一项所述的计算设备,其中,选择要被量化的权重包括选择最佳匹配系数。
21.一种或多种非暂时性计算机可读介质,其存储指令,所述指令在由计算系统的一个或多个处理器执行时使所述计算系统执行操作,所述操作包括:
获取机器学习模型;
对于所述机器学习模型的一个或多个权重:
选择要被量化的权重;
对所述权重进行量化;
将量化误差的至少一部分传播到一个或多个未被量化的权重;以及
提供被量化的机器学习模型。
22.根据权利要求21所述的一种或多种非暂时性计算机可读介质,其中,传播所述量化误差包括:
确定所述量化误差;
确定与所述权重相关联的一个或多个未被量化的权重;以及
将量化误差的零碎部分分配给每个相关联的未被量化的权重。
23.根据权利要求22所述的一种或多种非暂时性计算机可读介质,其中:
确定所述量化误差包括:确定与所述机器学习模型的第一层中的第一节点相关联的量化误差;并且
确定与所述权重相关联的一个或多个未被量化的权重包括:识别所述第一层中的第二节点,其中,所述第一节点和第二节点每个均具有到第二层中的第三节点的连接。
24.根据权利要求22或23中的任一项所述的一种或多种非暂时性计算机可读介质,其中,对所述权重进行量化包括:部分地基于所述模型的层中具有到所述模型的前一层的前一节点的可比连接的另一节点的量化误差来对所述模型的该层中的节点的权重进行量化。
25.根据权利要求22至24所述的一种或多种非暂时性计算机可读介质,其中,将所述量化误差的零碎部分分配给每个相关联的未被量化的权重包括:在所述模型的节点内抖动所述量化误差。
26.根据权利要求25所述的一种或多种非暂时性计算机可读介质,其中,所述操作还包括:部分地基于所述模型的节点之间的活动的相关性来在所述模型的节点内抖动所述量化误差。
27.根据权利要求26所述的一种或多种非暂时性计算机可读介质,其中,当在所述模型的节点之间存在活动的反相关性时,在相反方向上抖动所述量化误差。
28.根据权利要求21所述的一种或多种非暂时性计算机可读介质,其中,传播所述量化误差包括:
锁定被量化的权重;以及
执行所述机器学习模型的附加训练迭代,其中,所述附加训练迭代包括更新未被量化的权重。
29.根据权利要求28所述的一种或多种非暂时性计算机可读介质,其中,所述操作还包括锁定多个被量化的最佳匹配系数权重。
30.根据权利要求21至29所述的一种或多种非暂时性计算机可读介质,其中,选择要被量化的权重包括选择最佳匹配系数。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/US2017/040798 WO2019009897A1 (en) | 2017-07-06 | 2017-07-06 | SYSTEMS AND METHODS FOR COMPRESSION AND DISTRIBUTION OF MACHINE LEARNING MODELS |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110809771A true CN110809771A (zh) | 2020-02-18 |
CN110809771B CN110809771B (zh) | 2024-05-28 |
Family
ID=59409756
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201780092778.1A Active CN110809771B (zh) | 2017-07-06 | 2017-07-06 | 用于机器学习模型的压缩和分发的系统和方法 |
Country Status (4)
Country | Link |
---|---|
US (1) | US11531932B2 (zh) |
EP (1) | EP3639206A1 (zh) |
CN (1) | CN110809771B (zh) |
WO (1) | WO2019009897A1 (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021179165A1 (zh) * | 2020-03-10 | 2021-09-16 | Oppo广东移动通信有限公司 | 模型协调方法及装置 |
WO2021189225A1 (zh) * | 2020-03-24 | 2021-09-30 | Oppo广东移动通信有限公司 | 一种机器学习模型训练方法、电子设备及存储介质 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019200548A1 (zh) * | 2018-04-17 | 2019-10-24 | 深圳鲲云信息科技有限公司 | 网络模型编译器及相关产品 |
CN109685202B (zh) * | 2018-12-17 | 2023-03-21 | 腾讯科技(深圳)有限公司 | 数据处理方法及装置、存储介质和电子装置 |
US20200272899A1 (en) * | 2019-02-22 | 2020-08-27 | Ubotica Technologies Limited | Systems and Methods for Deploying and Updating Neural Networks at the Edge of a Network |
KR102425039B1 (ko) * | 2019-02-27 | 2022-07-28 | 한국전력공사 | 분산 딥러닝 환경에서 데이터 압축 장치 및 방법 |
US11604647B2 (en) | 2019-09-03 | 2023-03-14 | International Business Machines Corporation | Mixed precision capable hardware for tuning a machine learning model |
CN110659734B (zh) * | 2019-09-27 | 2022-12-23 | 中国科学院半导体研究所 | 深度可分离卷积结构的低比特量化方法 |
CN111612132A (zh) * | 2020-05-20 | 2020-09-01 | 广东电网有限责任公司 | 一种人工智能算法开发系统、训练方法、设备及介质 |
US20220261685A1 (en) * | 2021-02-15 | 2022-08-18 | Bank Of America Corporation | Machine Learning Training Device |
JP7325015B2 (ja) * | 2021-03-24 | 2023-08-14 | パナソニックIpマネジメント株式会社 | 量子化方法、量子化装置、及び、プログラム |
CN114462592A (zh) * | 2021-12-24 | 2022-05-10 | 光子算数(北京)科技有限责任公司 | 模型训练方法、装置、电子设备及计算机可读存储介质 |
CN114757353A (zh) * | 2022-06-15 | 2022-07-15 | 浙江大华技术股份有限公司 | 一种机器学习模型的压缩方法、压缩装置和可读存储介质 |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140046885A1 (en) * | 2012-08-07 | 2014-02-13 | Qualcomm Incorporated | Method and apparatus for optimized representation of variables in neural systems |
US20150324690A1 (en) * | 2014-05-08 | 2015-11-12 | Microsoft Corporation | Deep Learning Training System |
WO2016037351A1 (en) * | 2014-09-12 | 2016-03-17 | Microsoft Corporation | Computing system for training neural networks |
WO2016039651A1 (en) * | 2014-09-09 | 2016-03-17 | Intel Corporation | Improved fixed point integer implementations for neural networks |
WO2017031630A1 (zh) * | 2015-08-21 | 2017-03-02 | 中国科学院自动化研究所 | 基于参数量化的深度卷积神经网络的加速与压缩方法 |
CN106485316A (zh) * | 2016-10-31 | 2017-03-08 | 北京百度网讯科技有限公司 | 神经网络模型压缩方法以及装置 |
CN106847268A (zh) * | 2015-12-03 | 2017-06-13 | 中国科学院声学研究所 | 一种神经网络声学模型压缩及语音识别方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10262259B2 (en) * | 2015-05-08 | 2019-04-16 | Qualcomm Incorporated | Bit width selection for fixed point neural networks |
-
2017
- 2017-07-06 WO PCT/US2017/040798 patent/WO2019009897A1/en unknown
- 2017-07-06 US US16/624,497 patent/US11531932B2/en active Active
- 2017-07-06 EP EP17745218.2A patent/EP3639206A1/en active Pending
- 2017-07-06 CN CN201780092778.1A patent/CN110809771B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140046885A1 (en) * | 2012-08-07 | 2014-02-13 | Qualcomm Incorporated | Method and apparatus for optimized representation of variables in neural systems |
US20150324690A1 (en) * | 2014-05-08 | 2015-11-12 | Microsoft Corporation | Deep Learning Training System |
WO2016039651A1 (en) * | 2014-09-09 | 2016-03-17 | Intel Corporation | Improved fixed point integer implementations for neural networks |
WO2016037351A1 (en) * | 2014-09-12 | 2016-03-17 | Microsoft Corporation | Computing system for training neural networks |
WO2017031630A1 (zh) * | 2015-08-21 | 2017-03-02 | 中国科学院自动化研究所 | 基于参数量化的深度卷积神经网络的加速与压缩方法 |
CN106847268A (zh) * | 2015-12-03 | 2017-06-13 | 中国科学院声学研究所 | 一种神经网络声学模型压缩及语音识别方法 |
CN106485316A (zh) * | 2016-10-31 | 2017-03-08 | 北京百度网讯科技有限公司 | 神经网络模型压缩方法以及装置 |
Non-Patent Citations (3)
Title |
---|
AOJUN ZHOU ETC.: "NCREMENTAL NETWORK QUANTIZATION: TOWARDS LOSSLESS CNNS WITH LOW-PRECISION WEIGHTS", pages 1 - 14, Retrieved from the Internet <URL:https//:arxiv.org/pdf/1702.03044v1.pdf> * |
佘春东, 李磊, 戴彦群, 王茂芝, 范植华: "改进对向传播神经网络应用于码书设计及其性能分析", 计算机辅助设计与图形学学报, no. 4, pages 80 - 87 * |
葛道辉;李洪升;张亮;刘如意;沈沛意;苗启广;: "轻量级神经网络架构综述", 软件学报, no. 09, pages 7 - 33 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2021179165A1 (zh) * | 2020-03-10 | 2021-09-16 | Oppo广东移动通信有限公司 | 模型协调方法及装置 |
WO2021189225A1 (zh) * | 2020-03-24 | 2021-09-30 | Oppo广东移动通信有限公司 | 一种机器学习模型训练方法、电子设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
US11531932B2 (en) | 2022-12-20 |
EP3639206A1 (en) | 2020-04-22 |
CN110809771B (zh) | 2024-05-28 |
US20210027195A1 (en) | 2021-01-28 |
WO2019009897A1 (en) | 2019-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110809771B (zh) | 用于机器学习模型的压缩和分发的系统和方法 | |
US20210073639A1 (en) | Federated Learning with Adaptive Optimization | |
US20200242514A1 (en) | Communication Efficient Federated Learning | |
US11886992B2 (en) | Training reinforcement learning neural networks | |
US10445641B2 (en) | Distributed training of reinforcement learning systems | |
US11734568B2 (en) | Systems and methods for modification of neural networks based on estimated edge utility | |
CN109117953B (zh) | 网络参数训练方法和系统、服务器、客户端及存储介质 | |
CN113434212B (zh) | 基于元强化学习的缓存辅助任务协作卸载与资源分配方法 | |
CN108351881A (zh) | 分布式最优化的系统和方法 | |
CN113469373B (zh) | 基于联邦学习的模型训练方法、系统、设备及存储介质 | |
CN108431832A (zh) | 利用外部存储器扩增神经网络 | |
CN107690663A (zh) | 白化神经网络层 | |
CN113568727A (zh) | 一种基于深度强化学习的移动边缘计算任务分配方法 | |
CN110235149A (zh) | 神经情节控制 | |
CN114065863A (zh) | 联邦学习的方法、装置、系统、电子设备及存储介质 | |
CN114760308B (zh) | 边缘计算卸载方法及装置 | |
WO2021159060A1 (en) | Generation of optimized hyperparameter values for application to machine learning tasks | |
CN116843016A (zh) | 一种移动边缘计算网络下基于强化学习的联邦学习方法、系统及介质 | |
US20220230092A1 (en) | Fast converging gradient compressor for federated learning | |
US20220292342A1 (en) | Communication Efficient Federated/Distributed Learning of Neural Networks | |
KR102268588B1 (ko) | 분산 딥러닝에서 병목현상 개선을 위한 통신 데이터 감소 장치 및 방법 | |
US20240013090A1 (en) | Uncertainty-aware continuous control system based on reinforcement learning | |
WO2022024167A1 (ja) | 情報処理装置、情報処理方法、情報処理プログラム及び情報処理システム | |
US20230027145A1 (en) | K-quant gradient compressor for federated learning | |
CN117407174A (zh) | 基于人工蜂群算法的预测性维护任务卸载与资源分配方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |