CN111753979A - 基于矩阵因子分解的梯度压缩 - Google Patents
基于矩阵因子分解的梯度压缩 Download PDFInfo
- Publication number
- CN111753979A CN111753979A CN202010184626.8A CN202010184626A CN111753979A CN 111753979 A CN111753979 A CN 111753979A CN 202010184626 A CN202010184626 A CN 202010184626A CN 111753979 A CN111753979 A CN 111753979A
- Authority
- CN
- China
- Prior art keywords
- matrix
- computer
- matrices
- compression
- predetermined
- 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
- 239000011159 matrix material Substances 0.000 title claims abstract description 318
- 238000007906 compression Methods 0.000 title claims abstract description 60
- 230000006835 compression Effects 0.000 title claims abstract description 60
- 238000013144 data compression Methods 0.000 claims abstract description 41
- 238000005457 optimization Methods 0.000 claims abstract description 8
- 238000000034 method Methods 0.000 claims description 89
- 230000008569 process Effects 0.000 claims description 34
- 230000009467 reduction Effects 0.000 claims description 29
- 238000003860 storage Methods 0.000 claims description 22
- 238000012549 training Methods 0.000 abstract description 16
- 238000013135 deep learning Methods 0.000 abstract description 13
- 238000013473 artificial intelligence Methods 0.000 abstract description 12
- 230000000875 corresponding effect Effects 0.000 description 31
- 238000010586 diagram Methods 0.000 description 21
- 238000012545 processing Methods 0.000 description 11
- 230000008901 benefit Effects 0.000 description 9
- 230000006870 function Effects 0.000 description 9
- 238000004590 computer program Methods 0.000 description 6
- 238000003491 array Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 4
- 230000007423 decrease Effects 0.000 description 4
- 238000013459 approach Methods 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 230000006837 decompression Effects 0.000 description 3
- 230000008520 organization Effects 0.000 description 3
- 238000013499 data model Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000001965 increasing effect Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 238000013138 pruning Methods 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000009172 bursting Effects 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 230000002596 correlated effect Effects 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000013139 quantization Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000013598 vector Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/174—Redundancy elimination performed by the file system
- G06F16/1744—Redundancy elimination performed by the file system using compression, e.g. sparse files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F7/00—Methods or arrangements for processing data by operating upon the order or content of the data handled
- G06F7/58—Random or pseudo-random number generators
- G06F7/582—Pseudo-random number generators
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/30036—Instructions to perform operations on packed data, e.g. vector, tile or matrix operations
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/3059—Digital compression and data reduction techniques where the original information is represented by a subset or similar information, e.g. lossy compression
- H03M7/3062—Compressive sampling or sensing
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M7/00—Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
- H03M7/30—Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction
- H03M7/60—General implementation details not specific to a particular type of compression
- H03M7/6017—Methods or arrangements to increase the throughput
- H03M7/6023—Parallelization
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Pure & Applied Mathematics (AREA)
- Mathematical Optimization (AREA)
- Mathematical Analysis (AREA)
- Computational Mathematics (AREA)
- Software Systems (AREA)
- Computing Systems (AREA)
- Databases & Information Systems (AREA)
- Algebra (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- General Health & Medical Sciences (AREA)
- Molecular Biology (AREA)
- Biomedical Technology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本申请涉及基于矩阵因子分解的梯度压缩。基于矩阵因子分解的梯度压缩可以应用于全局规约操作以提高效率,包括消除不必要的元数据,同时维持人工智能的深度学习(DL)的训练的准确性。这种压缩可以包括为多个计算节点生成预定矩阵和作为该预定矩阵的维数的数据压缩程度k。每个计算节点可以接收要全局规约的矩阵的对应矩阵,并且可以将每个对应的矩阵因子分解成多个非固定矩阵和预定矩阵。可以将多个非固定矩阵求和以提供优化矩阵,可以将该优化矩阵与预定矩阵相乘以提供结果矩阵。可以将优化矩阵指定为预定矩阵。可以重复这些操作,直到计算节点接收到的所有矩阵都已全局规约。
Description
背景技术
梯度压缩是深度学习中的关键主题,因为它影响训练性能和最终准确性。充分利用梯度压缩中的稀疏性产生了流行的基于稀疏编码的压缩技术,但事实证明,这种稀疏编码对于大规模分布式深度学习中基于全局规约(allreduce)的数据并行不是理想的。
发明内容
根据一个方面,提供了一种用于对来自多个计算节点的矩阵进行全局规约的基于矩阵因子分解(factorization)的梯度数据压缩的计算机实现的方法。这种方法可以包括:为多个计算节点生成预定矩阵和作为该预定矩阵的维数的数据压缩程度k;由每个计算节点接收要全局规约的矩阵的对应矩阵;将每个对应矩阵分解成多个非固定矩阵和预定矩阵;将多个非固定矩阵求和以提供优化矩阵,将该优化矩阵与预定矩阵相乘以提供结果矩阵;将优化矩阵指定为预定矩阵;以及重复执行接收、分解、求和和指定的操作,直到由计算节点接收到的所有矩阵都被全局规约为止。
根据一个方面,提供了一种系统,该系统包括设备处理器和存储指令的计算机可读存储介质,所述指令可由设备通过以下操作来执行对来自多个计算节点的矩阵进行全局规约的基于矩阵因子分解的梯度数据压缩:为多个计算节点生成预定矩阵和作为该预定矩阵的维数的数据压缩程度k;由每个计算节点接收要全局规约的矩阵的对应矩阵;将每个对应矩阵分解成多个非固定矩阵和预定矩阵;将多个非固定矩阵求和以提供优化矩阵,将该优化矩阵与预定矩阵相乘以提供结果矩阵;将优化矩阵指定为预定矩阵;以及重复执行接收、分解、求和和指定的操作,直到由计算节点接收到的所有矩阵都被全局规约为止。
根据一个方面,提供了一种计算机实现的方法,该方法用于通过进程使用基于矩阵因子分解的梯度压缩在计算节点处执行数字序列的分布式集合的一系列求和运算。该方法可以包括通过至少两个进程P(P1,P2,…,Pd)接收压缩程度k,每个进程Pj有数字的集合Gj,一对数字m×n,其中m×n等于Gj的尺寸;通过每个进程Pj将数字的集合Gj重塑为m×n矩阵;由每个Pj生成m×k个设定的数字Uj,其中对于至少两个进程P(P1,P2,…,Pd)Uj是相同的;以使Gj与Uj*Vj之间的差异最小的方式由每个Pj将Gj分解成Uj(m×k)和Vj(k×n)矩阵;将Vj相加以形成结果V’=V1+V2+…+Vd,并将V’广播(全局规约)到至少两个过程P(P1,P2,…,Pd);以及由每个Pj计算Uj*V’以提供G’=G1+G2+,…+Gd以全局规约Gj,作为直接执行全局规约Gj的近似。
提供了用于基于矩阵因子分解的梯度数据压缩的方法、系统和计算机程序产品,用于规约(reduce)来自多个计算节点的矩阵。
通过检查以下附图和详细描述,本发明的其它系统、方法、特征和优点对于本领域普通技术人员将是或将变得显而易见。旨在将所有这些附加的系统、方法、特征和优点包括在本描述和发明内容内、在本发明的范围内,并由以下权利要求书保护。
附图说明
参考以下附图和描述可以更好地理解本发明。附图中的部件不一定按比例绘制,而是将重点放在说明本发明的原理上。而且,在附图中,贯穿不同的视图,相似的附图标记表示对应的部分。
图1是应用于消息解析接口的全局规约技术(操作)的示意图;
图2A是基于稀疏编码的压缩的示意图;
图2B是将全局规约技术与稀疏编码压缩结合应用的示意图;
图3是应用于全局规约操作的基于矩阵因子分解的梯度数据压缩技术的实施例的示意图;
图4是应用于全局规约算法的基于矩阵因子分解的梯度数据压缩技术的实施例的示意图;
图5A-5B是应用于全局规约算法的基于矩阵因子分解的梯度数据压缩技术的实施例的流程图;
图6是应用于全局规约算法的基于矩阵因子分解的梯度数据压缩技术的实施例的示意图;
图7是示出应用于全局规约算法的基于矩阵因子分解的梯度数据压缩技术的益处的示例的表;以及
图8描绘了根据本公开的实施例的云计算环境。
具体实施方式
本公开旨在管理与稀疏编码压缩结合使用全局规约功能(技术或操作)的潜在低效率。作为背景,全局规约是深度学习中使用的一种流行的通信模式。全局规约功能的一种示例性描述包含在2018年12月13日发布的美国专利公开2018/0357534中,其内容通过引用并入本文。全局规约将采用数字数组并逐行执行逐个元素的加法。这在图1中可以看到,该图图示了四个节点0、1、2、3,将顶行中每对中的第一个数字相加并广播给所有参与者,因此总和(在这种情况下为“18”)被示为底行中每对的第一个数字。全局规约最好与数据压缩一起使用,以节省资源并管理数据量。
本公开的背景技术的另一方面是使用稀疏编码作为压缩机制。全局规约通常与稀疏编码压缩一起使用。虽然这种类型的系统已在许多深度学习环境中成功使用,但潜在的低效率之一涉及以下事实:稀疏编码压缩产生会需要对数据进行附加操纵的元数据。参考图2A,提供了稀疏编码的简单图示,其示出了n个数字,在这种情况下为5个数字。这个集合可以只由非零数字表示。例如,在图2A中,有5个数字,并且只有第一个和第四个数字为非零。由于所有其余数字均为零,因此稀疏编码使这个集合可以由值和索引表示。索引是稀疏编码中的元数据。稀疏编码压缩可以在必须计算梯度的深度学习环境中使用。在梯度中,值小,并且有很多零。因此,梯度被认为具有稀疏表示。采用稀疏编码以通过省略零值来减少数据的量。通过减少这个量,可以提高网络流量,从而增强通信性能。
图2B以简化的方式图示了为何稀疏编码对于全局规约不一定是最佳数据压缩方式。图2B中的第一列示出了与参与者1对应的数字数组,并且图2B中的第二列示出了与参与者2对应的数字数组。参与者1和参与者2可以是计算节点。每个数字集合都有索引和值。在稀疏编码压缩之前的原始表示中,每个参与者具有相同尺寸的数组,但是在压缩之后,图2B中所示的结果索引和值表明每个参与者具有不同的零分布,因此元数据信息将不同。在这种情况下,由于索引和值的对的数量不同,由于没有一对一的对应关系,因此简单地使用全局规约操作是不可行的。具体而言,参与者1具有位置10和位置17,而参与者2没有位置10,但是具有位置17。最好的办法可以是找到两个参与者共享位置的地方(在这个示例中为17),然后添加这些值。这是一种实用的解决方案。但是,可以看出,全局规约在操作期间不支持变化的尺寸。全局规约需要尺寸保持恒定。当前对于全局规约采用稀疏编码的系统一般必须解压缩然后重新压缩数据,直到达到相同尺寸为止。这是资源密集和资源昂贵的操作。
以这种方式,稀疏编码和全局规约虽然经常一起使用,但对于高效操作而言并不是理想的。如上面所指示的,可以看出,全局规约在操作期间不支持变化的尺寸。全局规约需要尺寸保持恒定。如ICLR2018Conference Paper 833Official Comment中的出版物“Re:details on implementation of Deep Gradient Compression”中所述,这是个公认的问题,其中指出:“…对于全局规约,由于稀疏梯度的尺寸可以不同,因此标准的MPI全局规约操作对此不起作用……”
由于全局规约是必不可少的操作,因此创建与全局规约更兼容的压缩操作将是有益的。即,不产生元数据而是代替地提供一对一的对应关系以实现直接的全局规约操作的压缩操作。本公开提出了采用矩阵因子分解进行压缩,这消除了元数据并且对于全局规约工作得好得多。
更具体而言,本公开涉及基于矩阵因子分解的梯度压缩对全局规约的应用以改善效率(处理速度),包括消除不必要的元数据,同时维持人工智能的深度学习(DL)的训练的准确性。基于矩阵因子分解的梯度压缩可以在具有多个计算节点的云环境中利用,其中每个计算节点可以是计算设备。每个计算节点可以具有存储器。
图3是应用于全局规约操作的基于矩阵因子分解的梯度数据压缩技术的实施例的示意图,以通过维持准确性和提高效率来增强并行计算环境中人工智能的深度学习的训练,这包括提高这种环境下数据通信的速度。这种基于矩阵因子分解的梯度数据压缩技术必须通过保持数据尺寸恒定来对全局规约操作友好(兼容)。这种基于矩阵因子分解的梯度数据压缩技术的另一个优点是不需要携带元数据,这是相比基于稀疏编码的压缩技术(操作)的优点。
例如,图3示出了由附图标记300、305和310表示的三个数字数组(矩阵),它们均具有相同的尺寸(数据尺寸)。应当注意的是,这三个数字数组是示例,并且可以使用两个或更多个数字数组。第一数字数组(第一矩阵)G1由附图标记300表示。第二数字数组(矩阵)G2由附图标记305表示,并且第三数字数组(矩阵)G3由附图标记310表示。将由附图标记300、305和310表示的三个数字数组(矩阵)求和以产生由附图标记315GR表示的结果数组(结果矩阵),这是全局规约操作的结果,其提供了规约的结果。矩阵V由附图标记320表示,并且是具有数值的预定集合的矩阵。
因为矩阵V具有预定的数字数组(矩阵),所以第一矩阵G1、第二矩阵G2和第三矩阵G3可以被分解成预定矩阵V和分别用附图标记330、335和340表示的对应矩阵(数字数组)。附图标记330表示矩阵Ut1,附图标记335表示矩阵Ut2,并且附图标记340表示矩阵Ut3。因为(1)矩阵Ut1、Ut2和Ut3比对应的矩阵G1、G2和G3小(由于矩阵中的数据较少,因此数据量较小),并且(2)V是已知的预定矩阵,可以应用于Ut1、Ut2和Ut3,并且可以通过对较小的矩阵Ut1、U2t和Ut3求和并应用矩阵V来执行全局规约操作(技术),以提供规约的元素的结果矩阵并将结果矩阵广播回如图3中所示的所有计算节点。在图3所示的示例中,由附图标记320表示的矩阵V可以乘以由附图标记350表示的矩阵Ut1、Ut2和Ut3之和,从而可以将结果矩阵广播到所有计算节点。在上述操作中,元数据(例如,索引数据)对于数据的压缩或解压缩不是必需的。因此,上述操作(技术)是在没有索引元数据的情况下执行的,这使得基于稀疏编码的数据压缩对全局规约技术不友好。图3中所示的上述数据压缩操作对全局规约技术是友好的,因为不需要确定索引元数据。
此外,应当注意的是,可以通过将矩阵Ut2与矩阵V相乘来再现矩阵G1。可以通过将矩阵Ut2与矩阵V相乘来再现矩阵G2。可以通过将矩阵Ut3与矩阵V相乘来再现矩阵G3。矩阵GR可以通过将由附图标记350表示的矩阵Ut1、Ut2和Ut3之和乘以矩阵V来再现,并且可以被称为具有规约的结果的矩阵或结果矩阵,其可以广播到所有计算节点。矩阵G1、G2、G3和GR的再现将非常接近原始矩阵G1、G2、G3和GR的再现。因此,图3示出了应用于全局规约矩阵操作的基于矩阵因子分解的梯度数据压缩技术的实施例,该技术通过在提供原始矩阵的接近再现以维持准确性的同时减小被处理的数据的量来增加全局规约操作的效率(速度)。
在图3的以上示例中,矩阵V包括固定的预定值的集合。因为矩阵V是固定的,因此可以确定用于图3中Ut1、Ut2和Ut3的矩阵。此后,可以通过将Ut1、Ut2和Ut3的矩阵求和、将求和的矩阵与矩阵V相乘以提供结果矩阵、然后将结果矩阵广播到所有计算节点来全局规约Ut1、Ut2和Ut3的矩阵。计算节点是分别与矩阵G1、G2和G3相关联的节点。可替代地,可以为矩阵G1、G2和G3提供固定矩阵U。因为矩阵U对于矩阵G1、矩阵G2和矩阵G3是固定的,所以可以确定与矩阵G1对应的矩阵Vt1、与矩阵G2对应的矩阵Vt2以及与矩阵G3对应的矩阵Vt3(图3中未示出)。矩阵Vt1、Vt2和Vt3具有相同的尺寸,但是这些矩阵Vt1、Vt2和Vt3可以具有不同的值。矩阵Vt1、Vt2和Vt3可以求和,并且求和结果可以与固定矩阵U相乘以提供具有规约的元素的结果矩阵。结果矩阵可以广播到所有计算节点。计算节点是分别与矩阵G1、G2和G3相关联的节点。
图4是示出基于矩阵因子分解的梯度数据压缩操作(技术)的另一方面的示意图。虽然图4示出了对于全局规约操作友好的基于矩阵因子分解的压缩操作的一个示例,但是也可以想到与全局规约操作兼容的许多基于矩阵因子分解的压缩操作。
参考图4,示出矩阵G、矩阵Ut和矩阵V作为代表性矩阵。但是,在图4中所示的基于矩阵因子分解的数据压缩操作中,存在多个矩阵G。矩阵G的一个集合可以具有对应的矩阵Ut(未固定)和对应的固定矩阵V。矩阵G的另一个集合可以具有对应的矩阵Vt(未固定)和对应的固定矩阵U。字母m表示矩阵G和矩阵Ut中的行数。字母n表示矩阵G和矩阵V中的列数。
字母k是要因子分解的矩阵的维数,并且k确定数据压缩率。更具体而言,字母k是表示梯度矩阵的秩尺寸,并且控制数据压缩率。随着k变小,数据压缩率增加,这降低了准确性。随着k变大,数据压缩率降低,这增加了准确性。每个要处理的数据集/数据模型可以具有不同的k。但是,无法系统地确定k。如上面所讨论的,因为小的k值提供更好的数据压缩,所以确定良好地捕获梯度矩阵(准确性好)的最小k值。
参考图3和图4,基于矩阵因子分解的梯度压缩操作需要预定矩阵U(固定矩阵U)或预定矩阵V(固定矩阵V),对于存储对应矩阵G的每个对应的计算节点,它们必须是相同的预定矩阵。为了提供相同的预定矩阵U或相同的预定矩阵V,基于矩阵因子分解的压缩操作可以基于与所有矩阵G对应的随机种子随机地生成预定矩阵U或预定矩阵V。应当注意的是,矩阵G的一个集合可以具有对应的预定U矩阵,而矩阵G的另一个集合可以具有对应的预定V矩阵。
例如,在图4中,基于矩阵因子分解的压缩操作可以基于针对矩阵G的集合的随机种子随机地生成预定矩阵V。预定矩阵V是固定的。在确定预定矩阵V之后,可以针对矩阵G的集合中的每个矩阵G确定对应矩阵Ut。在确定V矩阵之后,对所有矩阵Ut应用全局规约,以提供具有U的规约的值的全局规约矩阵U,并且可以将全局规约矩阵U与固定的预定矩阵V相乘,以提供结果矩阵GR(不示出)。
在图4中,基于矩阵因子分解的压缩操作可以基于用于矩阵G的另一个集合的随机种子来随机地生成预定矩阵U。预定U矩阵是固定的。在确定预定矩阵U之后,可以确定矩阵G的该另一个集合的每个矩阵G的对应Vt矩阵。对所有矩阵Vt应用全局规约,以提供具有V的规约的值的全局规约矩阵V,并且可以将全局规约矩阵V与固定矩阵U相乘,以提供结果矩阵GR。
如图4中所示,有利的是,选择一种交替方案,该方案为矩阵G的集合生成预定矩阵U,并为矩阵G的下一个集合生成预定矩阵V,该方案重复执行。如图4中所示,可以为矩阵G的第一个集合随机地生成预定矩阵U。由于对于G矩阵的第一个集合,矩阵U是固定的,因此这允许确定矩阵V并将其全局规约,以优化矩阵V以应用于矩阵G的第一个集合。优化矩阵V对于G矩阵的第二个集合可以是固定的,这允许确定矩阵U并将其全局规约以优化矩阵U,以应用于矩阵G的第二个集合。可以重复地优化预定的U矩阵和预定的V矩阵,直到处理完所有矩阵G为止。应当注意的是,该过程可能已经通过为矩阵的第一个集合随机生成预定矩阵V而不是随机生成预定矩阵U而开始。但是,一旦随机生成了第一预定矩阵,固定矩阵的交替优化就反复发生。追求这种交替方案的好处可以包括封闭形式的解决方案、捕获相关性和容易的数据压缩,并且可以按以下方式在数学上表示。这种交替方案可以由图4中所示的以下等式在数学上表示。
Argmin||G-UtV||^2
(UUt+aI)V=UG(U固定)
(VVt+aI)U=VGt(V固定)
LU分解
流量:mn相对于max(mk,nk)
关于图4,应当注意的是,图4中所示的矩阵的维度包括m、n和k,它们是大于或等于1的整数。
如上所述,有益的是追求一种交替方案,该方案为矩阵G的集合生成预定矩阵U并为矩阵G的下一个集合生成预定矩阵V,重复执行该方案。但是,也存在至少两个替代实施例。例如,参考图4,可以生成随机的固定矩阵V并将其存储为固定矩阵V。可以基于固定矩阵V从计算节点的参与集中为每个矩阵G生成对应的矩阵Ut。将矩阵Ut相加(求和)以生成矩阵UR,并且将矩阵UR与矩阵V相乘,以提供具有规约的值的矩阵。通过重复使用存储的固定矩阵V,可以基于固定矩阵V从计算节点的参与集中为每个矩阵G生成对应的矩阵Ut,直到学习完成为止。在替代实施例中,可以生成随机固定矩阵U并将其存储为固定矩阵U。可以基于固定矩阵U从计算节点的参与集中为每个矩阵G生成对应的矩阵Vt。将矩阵Vt相加(求和)以生成矩阵VR,并且将矩阵VR与矩阵U相乘,以提供具有规约的值的矩阵。通过重复使用存储的固定矩阵U,可以基于固定矩阵U从计算节点的参与集中为每个矩阵G生成对应的矩阵Vt,直到学习完成为止。
如上面所指示的,有益的是追求一种交替方案,该方案为矩阵G的集合生成预定矩阵U并为矩阵G的下一个集合生成预定矩阵V,重复执行该方案。图5A-5B是用于应用于全局规约操作的基于矩阵因子分解的梯度数据压缩技术的实施例的流程图,其中U和V交替固定,从而可以交替地优化Vt和Ut。参考图5A,可以生成随机固定矩阵V(操作500)并将随机生成的固定矩阵V存储为固定矩阵V(操作502)。可以基于固定矩阵V从计算节点的参与集为每个矩阵G生成对应的矩阵Ut(操作504)。将矩阵Ut相加(求和)以生成矩阵UR(操作506),并且将矩阵UR与矩阵V相乘以提供具有规约的值的矩阵(操作508)。矩阵UR被存储为固定矩阵U(操作510)。如果完成了针对人工智能的学习(训练),那么(一个或多个)全局规约操作完成,从而操作结束(操作512)。如果因为存在来自参与节点的要通过应用基于矩阵因子分解的压缩操作来处理的更多G矩阵而继续进行人工智能的学习(训练)(操作522),那么可以基于固定矩阵U从计算节点的参与集中为每个矩阵G生成对应的矩阵Vt(操作514)。矩阵Vt相加(求和)以生成矩阵VR(操作516),并且矩阵VR与固定矩阵U相乘以提供具有规约的值的结果矩阵(操作518)。矩阵VR被存储为固定矩阵V(操作520)。如果用于人工智能的学习(训练)完成,那么(一个或多个)全局规约操作完成,从而操作结束(操作522)。如果因为存在来自参与节点的要通过应用基于矩阵因子分解的压缩操作来处理的更多G矩阵而继续进行人工智能的学习(训练),那么过程返回操作504以处理G矩阵的下一个集合,直到该过程完成为止(操作522)。
在图5B所示的替代实施例中,可以生成随机固定矩阵U(操作530),并将随机生成的固定矩阵V存储为固定矩阵U(操作532)。可以基于固定矩阵U从计算节点的参与集合为每个矩阵G生成对应的矩阵Vt(操作534)。矩阵Vt相加(求和)以生成矩阵VR(操作536),并且矩阵VR与矩阵U相乘以提供具有规约的值的矩阵(操作538)。矩阵VR被存储为固定矩阵V(操作540)。如果用于人工智能的学习(训练)完成,那么(一个或多个)全局规约操作完成,从而操作结束(操作542)。如果因为存在来自参与节点的要通过应用基于矩阵因子分解的压缩操作来处理的更多G矩阵而继续进行人工智能的学习(训练)(操作542),那么可以基于固定矩阵V从计算节点的参与集中为每个矩阵G生成对应的矩阵Ut(操作544)。矩阵Ut相加(求和)以生成矩阵UR(操作546),并且矩阵UR与固定矩阵V相乘以提供具有规约的值的结果矩阵(操作548)。矩阵UR被存储为固定矩阵U(操作550)。如果用于人工智能的学习(训练)完成,那么(一个或多个)全局规约操作完成,从而操作结束(操作552)。如果因为存在来自参与节点的要通过应用基于矩阵因子分解的压缩操作来处理的更多G矩阵而继续进行人工智能的学习(训练),那么过程返回操作534以处理G矩阵的下一个集合,直到该过程完成为止(操作552)。
图6是示出图5A-5B中的向量U和V的切换的示意图。上述交替地使用固定Ut矩阵和优化矩阵V、然后使用固定矩阵V和优化Ut矩阵的操作在图6中示出。例如,图6示出了矩阵G的三个集合,包括矩阵Gi的第一集合、矩阵Gj的第二集合和矩阵Gk的第三集合。如图6中所示,矩阵Ut与所有矩阵Gi对应并且每个矩阵Gi与矩阵V对应,矩阵V是不固定的。矩阵V被全局规约以提供优化矩阵V,矩阵V可以与矩阵Ut相乘以提供矩阵Gi的总和以提供具有规约的结果的矩阵。优化的V矩阵与所有矩阵Gj对应并且每个矩阵Gj与矩阵Ut对应,矩阵Ut是不固定的。矩阵Ut被全局规约以提供优化矩阵Ut,矩阵Ut可以与矩阵V相乘以提供矩阵Gj的总和以提供具有规约的结果的矩阵。优化矩阵Ut矩阵与所有矩阵Gk对应并且每个矩阵Gk与矩阵V对应,矩阵V是不固定的。矩阵V被全局规约以提供优化矩阵V,矩阵V可以与矩阵Ut相乘以提供矩阵Gk的总和以提供具有规约的结果的矩阵。如图6中所示,这种交替方案的好处是为压缩和解压缩提供了封闭形式的解决方案,可以通过重用U或V来捕获相继的G矩阵之间的相关性,并且不需要在G矩阵相关时传送诸如元数据之类的所有信息。
如图6中的示例性实施例所示,一个或多个实施例可以使用有损压缩来提高数字序列的分布式集合的一系列求和运算的速度。这个过程可以包括通过至少两个进程P(P1,P2,...,Pd)接收压缩程度k,每个进程Pj有数字的集合Gj,一对数字m×n,其中m×n等于Gj的尺寸;通过每个进程Pj将数字的集合Gj重塑为m×n矩阵;由每个Pj生成m×k个设定的数字Uj,其中对于至少两个进程P(P1,P2,…,Pd)Uj是相同的;以使Gj与Uj*Vj之间的差异最小的方式由每个Pj将Gj分解成Uj(m×k)和Vj(k×n)矩阵;将Vj相加以形成结果V’=V1+V2+…+Vd,并将V’广播到至少两个进程P(P1,P2,…,Pd)[全局规约Vi];以及由每个Pj计算Uj(其是完全相同的)*V’以获得G’=G1+G2+,…+Gd[全局规约Gi]。
如上面所讨论的字母k是表示梯度矩阵的秩尺寸,并控制数据压缩率。随着k变小,数据压缩率增加,这降低了准确性。随着k变大,数据压缩率降低,这增加了准确性。每个要处理的数据集/数据模型可以具有不同的k。但是,无法系统地确定k。如上面所讨论的,因为小的k值提供更好的数据压缩,所以确定良好地捕获梯度矩阵(准确性好)的最小k值。图7是示出通过确定能很好地捕获梯度矩阵的最小k值将基于矩阵因子分解的梯度数据压缩技术应用于全局规约操作的益处的示例的表。
这种具有全局规约的压缩方法的示例性应用是在DL云环境中。在这些环境中,网络带宽可能会不平衡,并且可能会形成瓶颈。当网络可能出现瓶颈时,压缩是有用的。通过选择k,可以取决于网络瓶颈的程度来控制压缩的量。要在所有机器上运行G矩阵太耗费资源并且可能昂贵。具有全局规约友好的压缩将是帮助的。折衷在于增加压缩以节省网络资源会导致G矩阵的重构,这会具有更大的误差。因此,训练的准确性将降低。在所需的网络带宽与模型的收敛性和准确性之间进行折衷。简而言之,选择k是管理折衷的一种方式。这将取决于网络的繁忙程度以及通过网络的流量多少。如果云不那么繁忙,那么有可能为k使用更高的值,并进行最小程度的压缩,从而获得更好的准确性。但是,如果云忙于有成千上万的在线客户,那么云提供商可以决定管理k,即,减小k值,因此所有用户都将使用可用的网络带宽,但会经历更多的压缩,从而降低准确性。k的值是对网络性能的控制,其中考虑了带宽和系统使用情况。这可以使云提供商能够在实际基础架构的设计之外托管更多的客户,并通过在准确性方面进行少量折衷的同时避免或延迟升级网络的需求来提供节省成本的办法。
以这种方式,采用矩阵因子分解压缩提供了如上所述消除元数据的优点,并且还使得能够在学习者之间同步矩阵之一,而无需附加的通信,从而减少计算资源上的负担。此外,在第一次迭代中初始化矩阵,然后交替地更换要在后续迭代中固定的矩阵使得有更高效的操作。总体而言,本文描述的方法解决了压缩如何影响模型收敛的竞争参数之间的平衡,并确定了要应用的压缩量和要应用压缩的最优点。迄今为止,深度学习中采用的大多数压缩都集中于压缩模型以进行推理,而不是训练。用于推理的模型压缩的常用技术(诸如过滤修剪、权重修剪和量化)可能不会被认为适于训练。研究通常试图将这些技术应用于训练,这与全局规约不兼容。过去,这些类型的系统中的瓶颈是计算,并且网络带宽通常是足够的、不需要压缩。潜在地,随着计算速度的提高,这不太可能成为瓶颈,例如在云环境中,必须共享网络链接。
应该理解的是,虽然本公开包括针对云计算环境中的人工智能(AI)中的深度学习(DL)中的基于矩阵因子分解的梯度压缩的详细描述,但是本文叙述的教导的实施方式不限于云计算环境。更确切地说,本发明的实施例能够与现在已知或以后开发的任何其它类型的计算环境结合实现。
云计算是一种服务交付模式,用于对共享的可配置计算资源池进行方便、按需的网络访问。可配置计算资源是能够以最小的管理成本或与服务提供者进行最少的交互就能快速部署和释放的资源,例如可以是网络、网络带宽、服务器、处理、存储器、存储、应用、虚拟机和服务。这种云模式可以包括至少五个特征、至少三个服务模型和至少四个部署模型。
特征包括:
按需自助式服务:云的消费者在无需与服务提供者进行人为交互的情况下能够单方面自动地按需部署诸如服务器时间和网络存储等的计算能力。
广泛的网络接入:计算能力可以通过标准机制在网络上获取,这种标准机制促进了通过不同种类的瘦客户机平台或厚客户机平台(例如移动电话、膝上型电脑、个人数字助理PDA)对云的使用。
资源池:提供者的计算资源被归入资源池并通过多租户(multi-tenant)模式服务于多重消费者,其中按需将不同的实体资源和虚拟资源动态地分配和再分配。一般情况下,消费者不能控制或甚至并不知晓所提供的资源的确切位置,但可以在较高抽象程度上指定位置(例如国家、州或数据中心),因此具有位置无关性。
迅速弹性:能够迅速、有弹性地(有时是自动地)部署计算能力,以实现快速扩展,并且能迅速释放来快速缩小。在消费者看来,用于部署的可用计算能力往往显得是无限的,并能在任意时候都能获取任意数量的计算能力。
可测量的服务:云系统通过利用适于服务类型(例如存储、处理、带宽和活跃用户账号)的某种抽象程度的计量能力,自动地控制和优化资源效用。可以监测、控制和报告资源使用情况,为服务提供者和消费者双方提供透明度。
服务模型如下:
软件即服务(SaaS):向消费者提供的能力是使用提供者在云基础架构上运行的应用。可以通过诸如网络浏览器的瘦客户机接口(例如基于网络的电子邮件)从各种客户机设备访问应用。除了有限的特定于用户的应用配置设置外,消费者既不管理也不控制包括网络、服务器、操作系统、存储、乃至单个应用能力等的底层云基础架构。
平台即服务(PaaS):向消费者提供的能力是在云基础架构上部署消费者创建或获得的应用,这些应用利用提供者支持的程序设计语言和工具创建。消费者既不管理也不控制包括网络、服务器、操作系统或存储的底层云基础架构,但对其部署的应用具有控制权,对应用托管环境配置可能也具有控制权。
基础架构即服务(IaaS):向消费者提供的能力是消费者能够在其中部署并运行包括操作系统和应用的任意软件的处理、存储、网络和其它基础计算资源。消费者既不管理也不控制底层的云基础架构,但是对操作系统、存储和其部署的应用具有控制权,对选择的网络部件(例如主机防火墙)可能具有有限的控制权。
部署模型如下:
私有云:云基础架构单独为某个组织运行。云基础架构可以由该组织或第三方管理并且可以存在于该组织内部或外部。
共同体云:云基础架构被若干组织共享并支持有共同利害关系(例如任务使命、安全要求、政策和合规考虑)的特定共同体。共同体云可以由共同体内的多个组织或第三方管理并且可以存在于该共同体内部或外部。
公共云:云基础架构向公众或大型产业群提供并由出售云服务的组织拥有。
混合云:云基础架构由两个或更多部署模型的云(私有云、共同体云或公共云)组成,这些云依然是独特的实体,但是通过使数据和应用能够移植的标准化技术或私有技术(例如用于云之间的负载平衡的云突发流量分担技术)绑定在一起。
云计算环境是面向服务的,特点集中在无状态性、低耦合性、模块性和语意的互操作性。云计算的核心是包含互连节点网络的基础架构。
现在参考图8,其中显示了示例性的云计算环境50。如图所示,云计算环境50包括云计算消费者使用的本地计算设备可以与其相通信的一个或者多个云计算节点10,本地计算设备例如可以是个人数字助理(PDA)或移动电话54A,台式电脑54B、笔记本电脑54C和/或汽车计算机系统54N。云计算节点10之间可以相互通信。可以在包括但不限于如上所述的私有云、共同体云、公共云或混合云或者它们的组合的一个或者多个网络中将云计算节点10进行物理或虚拟分组(图中未显示)。这样,云的消费者无需在本地计算设备上维护资源就能请求云计算环境50提供的基础架构即服务(IaaS)、平台即服务(PaaS)和/或软件即服务(SaaS)。应该理解的是,图8显示的各类计算设备54A-N仅仅是示意性的,云计算节点10以及云计算环境50可以与任意类型网络上和/或网络可寻址连接的任意类型的计算设备(例如使用网络浏览器)通信。
在任何可能的技术细节结合层面,本发明可以是系统、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上传有用于使处理器实现本发明的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的示例(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其它自由传播的电磁波、通过波导或其它传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如互联网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本发明操作的计算机程序指令可以是汇编指令、指令集体系架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、集成电路配置数据或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用互联网服务提供商来通过互联网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门数组(FPGA)或可编程逻辑数组(PLA),该电子电路可以执行计算机可读程序指令,从而实现本发明的各个方面。
这里参考根据本发明实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本发明的各个方面。应该理解的是,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其它设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本发明的多个实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的技术改进,或者使本技术领域的其他普通技术人员能理解本文披露的各实施例。
Claims (18)
1.一种用于对来自多个计算节点的矩阵进行全局规约的基于矩阵因子分解的梯度数据压缩的计算机实现的方法,该方法包括:
为所述多个计算节点生成预定矩阵和作为该预定矩阵的维数的数据压缩程度k;
由每个计算节点接收要规约的矩阵中的对应矩阵;
将每个对应的矩阵分解成多个非固定矩阵和预定矩阵;
将所述多个非固定矩阵求和以提供优化矩阵,将优化矩阵与预定矩阵相乘以提供结果矩阵;
将优化矩阵指定为预定矩阵;以及
迭代地执行接收、分解、求和和指定的操作,直到由计算节点接收到的所有矩阵都被全局规约为止。
2.如权利要求1所述的计算机实现的方法,其中预定矩阵由伪随机数生成器生成。
3.如权利要求1所述的计算机实现的方法,其中数据压缩程度k是8、16、32、128和256之一。
4.如权利要求1所述的计算机实现的方法,其中数据压缩程度k是每个非固定矩阵的维数。
5.如权利要求1所述的计算机实现的方法,其中要被全局规约的每个矩阵具有m×n的维数。
6.如权利要求1所述的计算机实现的方法,其中每个非固定矩阵具有m×k的维数。
7.如权利要求1所述的计算机实现的方法,其中优化矩阵具有n×k的维度。
8.如权利要求1所述的计算机实现的方法,其中每个计算节点被包括在云环境中。
9.一种系统,包括:
设备处理器;以及
计算机可读存储介质,存储能够由设备执行以执行如权利要求1至8中的任一项所述的用于对来自多个计算节点的矩阵进行全局规约的基于矩阵因子分解的梯度数据压缩的方法的指令。
10.一种计算机可读存储介质,包括执行如权利要求1至8中的任一项所述的用于对来自多个计算节点的矩阵进行全局规约的基于矩阵因子分解的梯度数据压缩的方法的指令。
11.一种计算机实现的装置,包括执行如权利要求1至8中的任一项所述的用于对来自多个计算节点的矩阵进行全局规约的基于矩阵因子分解的梯度数据压缩的方法的单元。
12.一种计算机实现的方法,该方法用于通过进程使用基于矩阵因子分解的梯度压缩在计算节点处执行数字序列的分布式集合的一系列求和运算,该方法包括:
通过至少两个进程P(P1,P2,…,Pd)接收压缩程度k、针对每个进程Pj的数字的集合Gj、一对数字m×n,其中m×n等于Gj的尺寸;
通过每个进程Pj将数字的集合Gj重塑为m×n矩阵;
由每个Pj生成m×k个设定的数字Uj,其中对于至少两个进程P(P1,P2,…,Pd)Uj是相同的;
以使Gj与Uj*Vj之间的差异最小的方式由每个Pj将Gj分解成Uj(m×k)矩阵和Vj(k×n)矩阵;
将Vj相加以形成结果V’=V1+V2+…+Vd,并将V’广播到所述至少两个进程P(P1,P2,…,Pd);以及
由每个Pj计算Uj*V’以提供G’=G1+G2+,…+Gd以全局规约Gj。
13.如权利要求12所述的计算机实现的方法,其中通过利用对至少两个进程P(P1,P2,...Pd)具有相同种子的伪随机数生成器来生成Uj。
14.如权利要求12所述的计算机实现的方法,其中数据压缩程度k是8、16、32、128和256之一。
15.如权利要求14所述的计算机实现的方法,其中每个计算节点被包括在云环境中。
16.一种系统,包括:
设备处理器;以及
计算机可读存储介质,存储能够由设备执行以执行如权利要求12至16中的任一项所述的用于通过进程使用基于矩阵因子分解的梯度压缩在计算节点处执行数字序列的分布式集合的一系列求和运算的方法的指令。
17.一种计算机可读存储介质,包括执行如权利要求12至16中的任一项所述的用于通过进程使用基于矩阵因子分解的梯度压缩在计算节点处执行数字序列的分布式集合的一系列求和运算的方法的指令。
18.一种计算机实现的装置,包括执行如权利要求12至16中的任一项所述的用于通过进程使用基于矩阵因子分解的梯度压缩在计算节点处执行数字序列的分布式集合的一系列求和运算的方法的单元。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/367,952 | 2019-03-28 | ||
US16/367,952 US11182457B2 (en) | 2019-03-28 | 2019-03-28 | Matrix-factorization based gradient compression |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111753979A true CN111753979A (zh) | 2020-10-09 |
CN111753979B CN111753979B (zh) | 2024-05-03 |
Family
ID=72606172
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010184626.8A Active CN111753979B (zh) | 2019-03-28 | 2020-03-17 | 基于矩阵因子分解的梯度压缩 |
Country Status (2)
Country | Link |
---|---|
US (1) | US11182457B2 (zh) |
CN (1) | CN111753979B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010845A (zh) * | 2021-03-22 | 2021-06-22 | 上海寒武纪信息科技有限公司 | 执行矩阵乘法的计算装置、方法及相关产品 |
CN117010485A (zh) * | 2023-10-08 | 2023-11-07 | 之江实验室 | 边缘场景下的分布式模型训练系统及梯度规约方法 |
CN118484322A (zh) * | 2024-07-15 | 2024-08-13 | 北京壁仞科技开发有限公司 | 用于矩阵规约计算的方法、计算装置、介质和程序产品 |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11295205B2 (en) | 2018-09-28 | 2022-04-05 | Qualcomm Incorporated | Neural processing unit (NPU) direct memory access (NDMA) memory bandwidth optimization |
US11527074B1 (en) | 2021-11-24 | 2022-12-13 | Continental Automotive Technologies GmbH | Systems and methods for deep multi-task learning for embedded machine vision applications |
CN118075144A (zh) * | 2024-02-18 | 2024-05-24 | 兴容(上海)信息技术股份有限公司 | 一种基于人工智能的高频数据压缩管理系统及方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080072182A1 (en) * | 2006-09-19 | 2008-03-20 | The Regents Of The University Of California | Structured and parameterized model order reduction |
US20180260361A1 (en) * | 2017-03-13 | 2018-09-13 | International Business Machines Corporation | Distributed random binning featurization with hybrid two-level parallelism |
US20180302498A1 (en) * | 2017-04-17 | 2018-10-18 | Petuum Inc. | Efficient Peer-to-Peer Architecture for Distributed Machine Learning |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7823152B2 (en) * | 2006-06-06 | 2010-10-26 | International Business Machines Corporation | System and method for collaborative hosting of applications, virtual machines, and data objects |
US10319374B2 (en) | 2015-11-25 | 2019-06-11 | Baidu USA, LLC | Deployed end-to-end speech recognition |
US11086814B2 (en) | 2016-04-15 | 2021-08-10 | Nec Corporation | System and method for communication efficient sparse-reduce |
US10783437B2 (en) | 2017-03-05 | 2020-09-22 | International Business Machines Corporation | Hybrid aggregation for deep learning neural networks |
US10755407B2 (en) * | 2018-01-30 | 2020-08-25 | General Electric Company | Systems and methods for capturing deep learning training data from imaging systems |
US11087864B2 (en) * | 2018-07-17 | 2021-08-10 | Petuum Inc. | Systems and methods for automatically tagging concepts to, and generating text reports for, medical images based on machine learning |
US20200118000A1 (en) * | 2018-10-10 | 2020-04-16 | NEC Laboratories Europe GmbH | Method and system for distributed deep learning |
-
2019
- 2019-03-28 US US16/367,952 patent/US11182457B2/en active Active
-
2020
- 2020-03-17 CN CN202010184626.8A patent/CN111753979B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080072182A1 (en) * | 2006-09-19 | 2008-03-20 | The Regents Of The University Of California | Structured and parameterized model order reduction |
US20180260361A1 (en) * | 2017-03-13 | 2018-09-13 | International Business Machines Corporation | Distributed random binning featurization with hybrid two-level parallelism |
US20180302498A1 (en) * | 2017-04-17 | 2018-10-18 | Petuum Inc. | Efficient Peer-to-Peer Architecture for Distributed Machine Learning |
Non-Patent Citations (1)
Title |
---|
曹芳芳;吕全义;聂玉峰;: "求实对称矩阵部分特征值的并行算法", 计算机工程与设计, no. 22 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113010845A (zh) * | 2021-03-22 | 2021-06-22 | 上海寒武纪信息科技有限公司 | 执行矩阵乘法的计算装置、方法及相关产品 |
CN117010485A (zh) * | 2023-10-08 | 2023-11-07 | 之江实验室 | 边缘场景下的分布式模型训练系统及梯度规约方法 |
CN117010485B (zh) * | 2023-10-08 | 2024-01-26 | 之江实验室 | 边缘场景下的分布式模型训练系统及梯度规约方法 |
CN118484322A (zh) * | 2024-07-15 | 2024-08-13 | 北京壁仞科技开发有限公司 | 用于矩阵规约计算的方法、计算装置、介质和程序产品 |
Also Published As
Publication number | Publication date |
---|---|
CN111753979B (zh) | 2024-05-03 |
US11182457B2 (en) | 2021-11-23 |
US20200311180A1 (en) | 2020-10-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111753979B (zh) | 基于矩阵因子分解的梯度压缩 | |
US11151324B2 (en) | Generating completed responses via primal networks trained with dual networks | |
GB2569015A (en) | Performing vector comparison operations in fully homomorphic encryption | |
AU2021276638B2 (en) | Unsupervised text summarization with reinforcement learning | |
US20220050816A1 (en) | Hash-based attribute prediction for point cloud coding | |
US20200125926A1 (en) | Dynamic Batch Sizing for Inferencing of Deep Neural Networks in Resource-Constrained Environments | |
US11281867B2 (en) | Performing multi-objective tasks via primal networks trained with dual networks | |
US20240013445A1 (en) | Coding of multiple-component attributes for point cloud coding | |
CN114341883A (zh) | 使用忆阻交叉式阵列执行点积运算 | |
CN118036755A (zh) | 大语言模型的量化方法及推理方法、装置、设备和介质 | |
US12093802B2 (en) | Gated unit for a gated recurrent neural network | |
US11842260B2 (en) | Incremental and decentralized model pruning in federated machine learning | |
WO2020157731A1 (en) | Performing multi-objective tasks via primal networks trained with dual networks | |
CN114616825B (zh) | 视频数据解码方法和计算机系统以及存储介质 | |
CN116134815A (zh) | 基于神经网络的系数符号预测 | |
US20240013050A1 (en) | Packing machine learning models using pruning and permutation | |
US20230419088A1 (en) | Bundling hypervectors | |
US20230206056A1 (en) | Factorizing hypervectors | |
US20230419091A1 (en) | Blockwise factorization of hypervectors | |
US20230419093A1 (en) | Stochastic Bitstream Generation with In-Situ Function Mapping | |
US11362670B2 (en) | ReLU compression to reduce GPU memory | |
US20200242498A1 (en) | Producing a formulation based on prior distributions of a number of ingredients used in the formulation |
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 |