CN115658307A - 一种基于压缩数据直接计算的智能负载处理方法和系统 - Google Patents
一种基于压缩数据直接计算的智能负载处理方法和系统 Download PDFInfo
- Publication number
- CN115658307A CN115658307A CN202211316073.2A CN202211316073A CN115658307A CN 115658307 A CN115658307 A CN 115658307A CN 202211316073 A CN202211316073 A CN 202211316073A CN 115658307 A CN115658307 A CN 115658307A
- Authority
- CN
- China
- Prior art keywords
- matrix
- model
- compressed data
- lsh
- centroid
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明涉及一种基于压缩数据直接计算的智能负载处理方法和系统,包括以下步骤:基于给定的定义了原始模型逐层结构的代码文件,判断该原始模型是否满足压缩数据直接计算优化条件,若满足,则进入下一步骤;否则按照常规训练方式展开模型训练;基于LSH聚类算法对输入矩阵进行压缩,并将LSH聚类算法对应的压缩过程参数与原始模型的权重参数联合作为网络参数进行训练,得到结果模型;利用结果模型对输入矩阵进行直接计算,得到数据处理结果。本发明可以广泛应用于大数据处理技术领域。
Description
技术领域
本发明涉及一种基于压缩数据直接计算的智能负载处理方法和系统,属于大数据处理技术领域。
背景技术
随着深度学习技术的通用性逐渐增强,深度学习技术广泛普及。一方面,轻量级模型负载被越来越广泛地应用于如机器人、自动驾驶运动控制、流媒体视觉系统等物联网领域中,加速社会智能化。另一方面,日益增长的超大规模模型负载越来越深入地应用于如医学影像分析、分子动力学模拟、天体目标分类等各类专业学科领域,推动科技发展。
在深度学习技术赋能各领域突破技术壁垒的同时,其经验和知识也反馈到深度学习技术领域,促成深度学习模型的代际演化。此外,在配备大量并行处理单元的高算力处理核心(如图形处理单元GPU)的问世、存储资源的升级和扩展,以及丰富且有效的超大规模数据集的加持下,深度学习模型逐渐呈现出更深层次和更复杂的趋势。自2018年谷歌提出BERT模型以来,以BERT、GPT等为代表的模型向着“超大规模”方向发展。如今,模型参数已经扩张到万亿规模,例如2021年发布的GLM模型拥有1.75万亿参数,远超2020年刚升级为1750亿参数的GPT-3模型。具有如此庞大的参数量的模型,更需要超大规模的训练数据才能充分施展能力,目前COCO、Criteo等人工标注类数据集已达GB级,更有PanGu、WuDao等TB级无标注数据集供模型设计者使用。
然而,随着模型和数据集规模的盘旋扩张,模型训练、推理负载所需的巨额计算成本在深度学习前沿已变得显而易见,这是硬件资源升级和模型设计双方面需要面对的严峻挑战。如果无法提高负载处理性能,计算量的限制将会挚肘深度学习领域的进一步发展。现有的技术一般集中在两个方向,其一是使用为深度学习专门设计的处理器,如GPU、FPGA等,这些方法提高了专业化效率,但牺牲了通用性;其二是降低模型负载的模型压缩方法,通过剪枝、量化等技术消除模型参数内的冗余性,降低参数量。压缩类方法本质上降低了模型推理的计算复杂度,对实时应用场景的推理加速显示了巨大的潜力,但现有的解决方案囿于压缩模型参数之中存在的恒久冗余,这类冗余一经模型训练完成则不会轻易发生改变。
除恒久冗余之外,超大规模输入数据之中存在的瞬态冗余尚未受到足够的重视。瞬态冗余产生于输入图像或特征图谱,表现为其中相似的块(相邻神经元的组合)。与恒久冗余不同,瞬态冗余必须在每次推理中被检测和去除,这对离线方法来说是难以捉摸的。尽管存在少数研究在图像和视频中观察到了瞬态冗余,但对它的理解远不如恒久冗余。一些研究以专用的方式处理瞬态冗余,例如,深度重用技术在卷积操作之前把输入图像或神经图谱从DNN流水线抽离出来,转移到随机生成的在线聚类组建中检测内部冗余,然后将结果重定向回DNN。这种临时处理性能随机性极高,例如在不同运行中存在超过5%的准确率波动,这对于超大规模模型而言是毁灭性的消息,因为模型训练已然为提高5%的准确率而消耗了天价成本。出现这样的问题是因为现有技术对瞬态冗余缺乏基础理解,例如:
1、如何达到最佳设置,使消除冗余造成的精度损失最小,同时使消除的冗余最大化?
2、如何确保瞬态冗余消除在不同的运行中具有稳健的推理性能?
3、如何尽量减少瞬态冗余消除对模型收敛训练结果的干扰?
发明内容
针对上述问题,本发明的目的是提供一种基于压缩数据直接计算的智能负载处理方法和系统,能在超负荷推理负载中应用压缩数据直接处理技术以支持大规模模型的部署和应用。
为实现上述目的,本发明采取以下技术方案:
第一方面,本发明提供一种基于压缩数据直接计算的智能负载处理方法,包括以下步骤:
基于给定的定义了原始模型逐层结构的代码文件,判断该原始模型是否满足压缩数据直接计算优化条件,若满足,则进入下一步骤;否则按照常规训练方式展开模型训练;
基于LSH聚类算法对输入矩阵进行压缩,并将LSH聚类算法对应的压缩过程参数与原始模型的权重参数联合作为网络参数进行训练,得到结果模型;
利用结果模型对输入矩阵进行直接计算,得到数据处理结果。
进一步,所述压缩数据直接计算优化条件的判断包括:
判断原始模型中是否存在包含矩阵运算的模型层;
对包含矩阵运算的模型层,根据其参数维度判断该模型层是否属于计算密集型;若属于计算密集型,则判定该原始模型满足压缩数据直接计算优化条件。
进一步,所述基于LSH聚类算法对输入矩阵进行压缩,并将LSH聚类算法对应的压缩过程参数与原始模型的权重参数联合作为网络参数进行训练,得到结果模型,包括:
建立基于LSH聚类算法的卷积算子架构作为前向传播机制,对输入矩阵的瞬态冗余进行检测和消除;
建立基于二值近似和进制转换的反向传播机制,用于将LSH聚类算法中的非连续性条件转换为连续性条件;
将基于LSH聚类算法的卷积算子架构对应的压缩过程参数与原始模型的权重参数联合作为网络参数,采用确定的前向传播机制和反向传播机制,以梯度下降更新的方式完成模型训练,得到结果模型。
进一步,所述基于LSH聚类算法的卷积算子架构的工作流程,包括:
基于LSH聚类算法对输入矩阵X进行处理,获得输入矩阵X的聚簇质心矩阵Xc;
将聚簇质心矩阵Xc与原始模型对应的权重矩阵W进行矩阵乘法,得到质心结果矩阵Yc;
将质心结果矩阵Yc恢复至原始模型卷积层理论输出大小,得到最终输出矩阵Y。
进一步,所述基于LSH聚类算法对输入矩阵X进行处理,获得输入矩阵X的聚簇质心矩阵Xc,包括:
将输入矩阵X垂直分片成L组,其中,L为哈希函数矩阵的行数;
对展开后的输入矩阵X应用哈希函数矩阵,得到具有H个哈希向量的投影矩阵,其中,H为哈希函数矩阵的列数;
对投影矩阵执行逐元素的二进制映射,得到一个比特矩阵;
将比特矩阵的每个行向量视为二进制表示,通过进制映射,将比特矩阵的每个行向量转换为十进制值;其中,这些整数值表示输入矩阵X中神经元向量的聚簇编号;
根据聚簇编号将输入矩阵X整理为聚簇质心矩阵Xc,聚簇质心矩阵Xc中每个行向量代表一个质心向量。
进一步,所述LSH反向传播机制的工作流程,包括:
基于二值近似和进制转换,对输入矩阵X进行处理,得到聚簇质心矩阵Xc;
将聚簇质心矩阵Xc与原始模型对应的权重矩阵W进行矩阵乘法,得到质心结果矩阵Yc;
将质心结果矩阵Yc恢复至原始模型卷积层理论输出大小,得到最终输出矩阵Y。
进一步,所述基于二值近似和进制转换,对输入矩阵X进行处理,得到聚簇质心矩阵Xc,包括:
基于二值近似法,得到输入矩阵X的比特矩阵;
采用进制转换算法,对比特矩阵进行处理,得到商矩阵;
在得到的商矩阵上逐元素地应用高斯函数,得到表示向量-聚簇映射关系的索引矩阵;
将索引矩阵除以聚簇的向量数Nc,得到一个平均矩阵Avg;
基于平均矩阵和输入矩阵,计算得到聚簇质心矩阵Xc。
第二方面,本发明提供一种基于压缩数据直接计算的智能负载处理系统,包括:
判断模块,用于基于给定的定义了模型逐层结构的代码文件,判断其定义的模型是否满足压缩数据直接计算优化条件,若满足,则进入第一模型训练模块;否则进入第二模型训练模块;
第一模型训练模块,用于基于LSH聚类算法对输入矩阵进行压缩,并将LSH聚类算法对应的压缩过程参数与原始模型的权重参数联合作为网络参数进行训练,得到结果模型;
第二模型训练模块,用于按照常规训练方式展开模型训练;
数据处理模块,用于利用结果模型对输入矩阵进行直接计算,得到数据处理结果。
第三方面,本发明提供一种处理设备,所述处理设备至少包括处理器和存储器,所述存储器上存储有计算机程序,所述处理器运行所述计算机程序时执行以实现所述基于压缩数据直接计算的智能负载处理方法的步骤。
第四方面,本发明提供一种计算机存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现所述基于压缩数据直接计算的智能负载处理方法的步骤。
本发明由于采取以上技术方案,其具有以下优点:
1、本发明提出了适用于模型负载处理的压缩数据直接处理算法,基于亚线性性能的LSH算法检测和消除瞬态冗余,适用性强且高效,能够适用于各种网络层;
2、本发明提出的LSH反向传播机制改变了LSH算法与数据无关的特性,使其与数据相适应,使网络在最小化准确率损失的基础上获得性能提升,为大规模模型部署开辟许多新的可能性;
3、本发明提出的模型负载处理系统压缩数据直接计算算法,兼容前向和后向传播,使压缩所需参数作为模型参数的一部分进行联合学习;
4、本发明提出的基于压缩数据直接计算的智能负载处理方法与现有的模型压缩方法正交,可以叠加使用以获得更好的加速效果。
因此,本发明可以广泛应用于大数据处理技术领域。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。在整个附图中,用相同的附图标记表示相同的部件。在附图中:
图1是本发明提供的基于压缩数据直接计算的智能负载处理系统流程图;
图2是本发明实施例提供的基于压缩数据直接计算的智能负载处理卷积算子架构设计流程图;
图3是本发明实施例提供的基于瞬态冗余消除的压缩数据直接计算流程示意图;
图4是本发明实施例提供的基于LSH聚类的数据压缩方法示意图;
图5是本发明提供的LSH反向传播机制中的进制转换算法示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例的附图,对本发明实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本发明的一部分实施例,而不是全部的实施例。基于所描述的本发明的实施例,本领域普通技术人员所获得的所有其他实施例,都属于本发明保护的范围。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
本发明提出的基于压缩数据直接计算的智能负载处理方法,使深度学习模型能够在被压缩的输入数据上实现推理,支持卷积层、全连接层等一切基于矩阵乘法的神经网络算子,从而实现一个支持模型架构搜索、训练、推理的智能负载处理系统。
让压缩数据直接计算技术工作在深度学习网络的实时推理中节省负载处理计算量面临两个层面的挑战。第一,数据压缩性能挑战:为在实时推理过程中检测和挖掘瞬态冗余,同时获取网络层总体计算量节省,需最小化数据压缩开销。第二,压缩数据直接计算精度挑战:压缩数据的重用计算将带来一定的精度损失,损害模型效果,理想的压缩数据直接计算方法需要在尽可能维持精度的前提下提高负载处理效率。第三,最优模型架构确定挑战:压缩数据直接计算会带来一定的精度损失,因此需要一个能够确定最优网络配置的智能负载处理系统,该系统将有效地随训练进程确定各网络层的具体实现(普通实现或基于压缩数据直接计算技术的实现),从而确保端到端模型准确率和性能表现。
针对上述三个挑战,本发明提出了对应的解决方案。第一个挑战的解决方案是采取亚线性性能的局部敏感哈希(LSH)算法来实现负载冗余检测和消除,该算法能够以极低的开销保证较高的共性识别,对输入向量近似聚类。实际验证发现,LSH算法能够消除输入向量中近96%的冗余,实现高效数据压缩。第二个挑战的解决办法是打破LSH算法的非连续性造成的反向传播障碍,将LSH哈希向量与模型权重一起作为网络参数联合学习。一方面使LSH聚类使用的哈希向量能够适应数据特征,获得更好的冗余挖掘效果,另一方面使模型权重参数适应聚簇过程。第三个挑战的解决办法是构建一个基于压缩数据直接计算的智能负载处理系统,将基于压缩数据直接计算方法实现的算子作为网络层候选对象,同原始网络层一起形成架构参数,以推理准确率和计算复杂度为双重训练目标,通过基于梯度下降的架构搜索方法将网络层选择同模型权重训练相结合。通过这些方案,本发明对于降低模型推理计算复杂度非常有效。
实施例1
如图1所示,本实施例提供一种基于压缩数据直接计算的智能负载处理方法。需要注意的是,该方法适用于任何以矩阵乘法为核心的网络层,为更清晰地解释其具体流程,本实施例以卷积算子为例进行阐述。具体地,包括以下步骤:
1)基于给定的定义了原始模型逐层结构的代码文件(以下称之为模型脚本文件),判断原始模型是否满足压缩数据直接计算优化条件,若满足,则进入步骤2);否则按照常规训练方式展开模型训练;
2)基于LSH聚类算法对输入矩阵进行压缩,并将LSH聚类算法对应的压缩过程参数与步骤1)中原始模型的权重参数联合作为网络参数进行训练,得到结果模型;
3)利用结果模型对输入矩阵进行直接计算,得到数据处理结果。
优选地,上述步骤1)中,压缩数据直接计算优化条件的判断包括:
1.1)判断该模型中是否存在包含矩阵运算的模型层,例如卷积层、全连接层、LSTM单元等;
1.2)对包含矩阵运算的模型层,根据其参数维度及参数矩阵稀疏性判断该模型层是否属于计算密集型。其中,若参数矩阵中非零元素数量占比大于50%,则认定为计算密集型。
如果上述条件满足,则说明该网络层计算代价较高,可以通过压缩数据直接计算的方式降低复杂度。
优选地,上述步骤2)中,LSH算法作为一个轻量级的在线聚类方法,能产生良好的聚类结果,而不会引入过多额外开销。因此,本实施例采用LSH聚类算法对输入矩阵的瞬态冗余进行检测和消除。建立一个基于压缩数据直接处理算子的模型存在的关键挑战是,考虑到LSH聚类算法的非连续性和随机性,如何保证其稳健且最优的冗余检测性能。应对该挑战,本发明提出一个关键策略,即打破LSH聚类算法的非连续性造成的反向传播障碍,将LSH聚类算法的哈希向量与模型网络层权重一起作为网络参数联合学习。一方面使LSH聚类算法的哈希向量能够学习数据特征,获得更好的冗余挖掘效果,另一方面使模型网络层权重参数适应聚簇过程。
也就是说,在瞬态冗余发现和消除的基础上,本发明通过系统化的设计,将寻找最大化冗余消除的最佳配置转化为模型训练过程的一部分,无缝集成到反向传播过程中。该设计引入一个LSH反向传播机制,使LSH聚类算法与数据相适应,使卷积算子能在最小化准确率损失的基础上加速推理。
在模型训练过程中,前向传播的运算结果将作为反向传播的输入来更新模型权重等参数,其中更新过程采用梯度下降的方式完成。梯度下降要求模型各层中有数理层面的连续性,故而分段映射等不可微的操作需要转换为连续的方式完成。为了得到更好的模型处理性能和准确性表现,本实施例企图对数据压缩过程所涉及的参数与卷积层原始权重参数协同更新。但数据压缩过程中引入的二值映射和进制转换属于非连续过程,无法满足反向传播的连续性条件。为此,本实施例对反向传播过程引入额外的设计以打破非连续性的阻碍,使反向传播过程有能力同时更新权重和压缩过程参数。
具体地,包括以下步骤:
2.1)建立基于LSH聚类算法的卷积算子架构作为前向传播机制,对输入矩阵的瞬态冗余进行检测和消除;
2.2)建立基于二值近似和进制转换的反向传播机制,用于将LSH聚类算法中的非连续性条件转换为连续性条件;
2.3)将基于LSH聚类算法的卷积算子架构对应的压缩过程参数与原始模型的权重参数联合作为网络参数,采用确定的前向传播机制和反向传播机制,以梯度下降更新的方式完成模型训练,得到结果模型。
优选地,如图2所示,本实施例在Im2col+GEMM卷积的基础上,建立基于LSH聚类算法的卷积算子架构,其工作流程分为以下步骤:
2.1.1)基于LSH聚类算法对输入矩阵X进行处理,挖掘输入矩阵X中的相似性,获得输入矩阵X的压缩矩阵,即聚簇质心矩阵Xc。
2.1.2)将聚簇质心矩阵Xc与原始模型对应的权重矩阵W进行矩阵乘法,得到质心结果矩阵Yc。
2.1.3)将质心结果矩阵Yc恢复至原始模型卷积层理论输出大小,得到最终输出矩阵Y。
优选地,上述步骤2.1.1)中,基于LSH聚类算法对输入矩阵X进行处理的方法,包括以下步骤:
2.1.1.1)对输入矩阵X进行展开,也即将输入矩阵X垂直分片成L组,其中,L为哈希函数矩阵的行数,哈希函数矩阵的列数为H,L和H即为压缩过程参数;
2.1.1.2)对展开后的输入矩阵X应用哈希函数矩阵,得到投影矩阵;
2.1.1.3)对投影矩阵执行逐元素的二进制映射(即二值映射),得到一个比特矩阵;
2.1.1.4)将比特矩阵的每个行向量视为二进制表示,通过进制映射(即从二进制到十进制的映射),将比特矩阵的每个行向量转换为十进制值;其中,这些整数值表示输入矩阵X中神经元向量的聚簇编号;
2.1.1.5)根据聚簇编号将输入矩阵X整理为聚簇质心矩阵Xc,聚簇质心矩阵Xc中每个行向量代表一个质心向量。
通过这种方式,输入矩阵X的规模显著下降,弱化了后续矩阵乘法的计算复杂度。
如图3所示,假设X∈R4×6为网络层输入矩阵。基于LSH聚类算法的冗余检测和消除流程如下:
首先,将输入矩阵X垂直分片成2组(图3示例中L=2),因此每个子矩阵的大小为4×3;切片缩减了向量的长度,这通常有利于聚类算法识别更多的相似向量,获得更好的压缩效果;
其次,对切分后的子矩阵应用LSH聚类算法,产生聚簇质心矩阵Xc。
如图4所示,用一个简单的例子展示了LSH聚类的更多细节。假设X1是图3中输入矩阵X经过分片得到的第一个子矩阵。简单而言,对X1中的每个向量x应用LSH哈希相当于在其上作用如下哈希函数,其中随机向量v作为哈希向量:
在具体实现层面,以图4为例,LSH聚类流程如下:
①子矩阵X1被转换为一个具有H=2个哈希向量的投影矩阵(即哈希矩阵包含2个列向量);
②如哈希函数所定义,将投影矩阵中的每个向量映射为具有2H种可能性的位向量,得到比特矩阵;
③进制映射将比特矩阵中的每个位向量转换为对应的十进制整数值,作为向量x的聚簇编号;
④聚簇质心矩阵Xc中的每个向量经由具有相同聚簇编号的向量计算而得。
在实践中,H的取值远小于神经向量的长度,因此LSH引入的开销是微不足道的。
优选地,上述步骤2.2)中,引入LSH反向传播机制,打破LSH聚类反向传播障碍,本发明提出两个关键策略。其一,本发明用特征相近的连续函数替换瞬态冗余消除算子中的分段映射,将非连续的二元映射过程转换为可微的二元近似过程。其二,本发明提出一个进制转换算法打破二进制数到十进制数的非连续映射,降低聚簇质心获取的复杂性。
具体地,LSH反向传播机制包括以下步骤:
2.2.1)基于二值近似和进制转换,对输入矩阵X进行处理,得到聚簇质心矩阵Xc。
2.2.2)将聚簇质心矩阵Xc与原始模型对应的权重矩阵W进行矩阵乘法,得到质心结果矩阵Yc。
2.2.3)将质心结果矩阵Yc恢复至原始模型卷积层理论输出大小,得到最终输出矩阵Y。
优选地,上述2.2.1)中,包括以下步骤:
2.2.1.1)基于二值近似法,得到输入矩阵X的比特矩阵。
为解决二值映射在反向传播过程中的不连续问题,本发明引入了二值近似法,使该过程可微。二值映射以逐元素的方式处理投影矩阵,功能等同于一个二分类器,将大于0的元素映射为l,小于等于0的元素映射为0。为此,本实施例采用如下sigmoid函数作为二元映射的替代:
该sigmoid函数适合本发明的卷积算子,因为它具有以下特性:1)单调且有界;2)平滑且可微。同时,sigmoid函数提供了一种参数化的方式来实现瞬态冗余消除卷积算子中二元映射的效果。sigmoid函数中的参数a和b是根据经验确定的超参数。值得一提的是,在设置这些参数时,a的值应较大,这样可使尽可能少的点出现在sigmoid函数的中间斜坡上,这将允许正数和负数分别趋近于1和0。而b的设置应使函数稍微向右移动,这将使x=0处的取值趋近于零。位向量可以通过应用这样的sigmoid函数来逼近投影矩阵。
2.2.1.2)采用进制转换算法,对比特矩阵进行处理,得到商矩阵。
另一个阻碍LSH算法反向传播的步骤是进制映射,它将每个二进制向量转换为其相应的十进制整数值作为聚簇编号。为了使这一过程可微,本发明设计了如下转换矩阵:
转换矩阵中同一行的元素具有相同的分子,而同一列中的元素具有相同的分母。在水平方向上,分母从1增加到2H。在垂直方向上,分子从上到下依次为[2H-1,…,21,20],正是二进制数到十进制数转换时各位对应的系数。
沿用图4的示例,图5进一步展示了进制转换的整体思路,包括以下步骤:
①在比特矩阵的最右边一列添加1,使整数的取值范围从[0,2H-1]变为[1,2H],这与转换矩阵的分母一致,得到结果矩阵。
②将结果矩阵与转换矩阵相乘,得到商矩阵。
其中,将结果矩阵与转换矩阵相乘,可以分为两步:第一,将位向量与变换矩阵的列向量的分子相乘,得到整数值;第二、将整数值除以列向量的分母,得到商矩阵。
因此,在商矩阵中,对于向量xi所在的第i行,只有在xi所属的聚簇编号对应的列j上有Quotienti,j=1(Quotient即为商矩阵)。例如,在图4中,比特矩阵第1行(行号从0开始计数)的位向量是[0,0],聚簇编号是0,因此在商矩阵的第1行,只有第0列有1,即Quotient1,0=1。
该方法可以成功实现可微的进制转换。然而随着哈希函数个数H的增加,转换矩阵的维度将呈指数级增长。为了避免内存浪费,同时节约计算量,本发明只在模型训练的反向传播流程中应用上述过程,而前向传递仍然使用非连续的二元映射和进制映射。这意味着前向传递的结果,如聚簇编号、每个聚簇的向量数量(表示为Nc),以及聚类的数量(表示为C),都可以被反向传播所重用。因此,本实施例直接构建一个大小为H×C的转换矩阵,其中每一列代表一个已知的聚簇编号,该聚簇编号是由正向计算得出的。如图5所示,使用正向传递信息可以有效避免空间浪费。
2.2.1.3)在得到的商矩阵上逐元素地应用高斯函数,得到表示向量-聚簇映射关系的索引矩阵。
索引矩阵可以通过在商矩阵上逐元素地应用一个二分类函数来实现,如果商矩阵元素为1,则设置为1,否则为0。但显然,这样一个函数仍是不可微的。为解决这个问题,本发明引入一个如下的脉冲式高斯函数:
该函数是一条以x=1为对称轴的钟形曲线,其中参数σ控制钟形宽度。通过设置一个小的σ,高斯函数可以近似所需的索引矩阵。
2.2.1.4)将索引矩阵除以聚簇的向量数Nc,得到一个平均矩阵Avg。
2.2.1.5)基于平均矩阵和输入矩阵,计算得到聚簇质心矩阵Xc。
其中,聚簇质心矩阵Xc为:
Xc=AvgT·X
对于图4中的例子,我们获得聚簇质心矩阵如下:
优选地,上述步骤2.2.1)中,本发明使用sigmoid函数和高斯函数来模拟离散映射。函数参数的范围需要满足某些条件,比如使用一个小的σ来缩小高斯函数的宽度,使其近似一个脉冲。然而,设置固定的σ很可能造成梯度爆炸问题,导致较大的梯度方差和收敛困难。原因是高斯函数具有如下性质:一阶导数函数在x=1两侧有明显的起伏,最大值和最小值分别出现在x=1±σ处;随着参数σ的增加,高斯函数钟形部分变窄,一阶导数值域增加,陡峭程度加剧。
因此,手动设置一个固定的σ,很可能导致较大的梯度差异。为此,本发明提出一种基于H动态设置σ的解决方案。该方案建立在对商矩阵规律性的几点观察上:
②对于向量i(即商矩阵的第i行),只有其聚簇编号对应的列j上取值为1,这意味着商矩阵一定存在取值为1的元素。
为避免产生大梯度,只需确保:
其中,k是任意大于1的常数。
基于此,高斯函数不仅提供了索引矩阵的理想近似,而且还能确保在任何H值下训练的稳定性。
优选地,上述步骤2.3)中,对模型进行训练时,包括:
2.3.1)对算子候选集和架构搜索管理器分别进行初始化。
其中,算子候选集的初始化包括:第一,获取输入矩阵X的维度(宽度、长度),并计算长度的因数作为哈希矩阵行数L的候选;第二,初步限定哈希矩阵列数H的候选为5~20。此时,每个(L,H)组合对应一个候选算子,即每个候选算子使用宽度为L、长度为H的哈希矩阵来执行压缩。
架构搜索管理器初始化包括:硬件性能目标、模型训练超参数、架构参数更新方法等初始化。
其中,硬件性能目标包括模型层矩阵计算量(Flops)、推理延时(前向传播总时长)。Flops的初始化获取候选集中每个候选算子的输入数据维度、模型权重参数维度,并结合候选算子的哈希矩阵维度(L,H),来定义候选算子在前向运算过程中实时计算运算量的函数。推理延时初始化对不应用本实例的原始模型执行一次前向传播运算,记录该过程总时长作为原始模型推理延时T1,并获取和整合应用场景的模型推理时长需求T2,取二者最小值(T=min(T1,T2))作为模型训练的推理延时目标。
模型训练超参数初始化过程包括:第一,对候选集所有算子执行一次前向过程并记录推理延时,过滤掉延时显著超过T的候选算子;第二,对剩余候选集算子的权重和哈希矩阵参数进行初始化,同时初始化其它模型层参数;第三,定义并初始化架构参数。架构参数是一个长度为候选集向量大小的向量,其中每个元素对应一个候选算子被最终选定的概率。
架构参数更新方法初始化过程包括:对梯度下降方法(例如SGD、Adam)、学习率调度器等基础的模型训练组件完成初始化。
2.3.2)对算子候选集进行随机采样,并基于采样得到的候选算子形成的模型进行初次训练。
本实施例中,从初始化的算子候选集中,随机选择一个候选算子,对固定该算子形成的模型进行模型训练,即更新该算子的哈希矩阵、模型权重,而不更新架构参数。这一步骤的目的是使模型权重有一定的问题诠释能力,降低随机性,以便后续的训练过程能够更准确地评估各候选算子的重要性。
2.3.3)以初次训练结果为参考,使用梯度下降方法,对模型权重、哈希矩阵参数以及架构参数同时更新,得到结果模型。
本阶段中,开启真正训练进程,同时使用梯度下降方法更新模型权重和哈希矩阵参数,以及架构参数。除准确率外,本实例在架构参数的训练目标中融入了硬件性能(Flops、推理延时),其中Flops通过初始化阶段定义的运算量计算函数来实时完成。该模块结束后,候选集中最优的算子将被选择来作为最终模型的组成部分,一个满足低延时和高准确率的模型被最终确定。
实施例2
上述实施例1提供了基于压缩数据直接计算的智能负载处理方法,与之相对应地,本实施例提供一种基于压缩数据直接计算的智能负载处理系统。本实施例提供的系统可以实施实施例1的基于压缩数据直接计算的智能负载处理方法,该系统可以通过软件、硬件或软硬结合的方式来实现。例如,该系统可以包括集成的或分开的功能模块或功能单元来执行实施例1各方法中的对应步骤。由于本实施例的系统基本相似于方法实施例,所以本实施例描述过程比较简单,相关之处可以参见实施例1的部分说明即可,本实施例提供的系统的实施例仅仅是示意性的。
本实施例提供的基于压缩数据直接计算的智能负载处理系统,包括:
判断模块,用于基于给定的定义了模型逐层结构的代码文件,判断其定义的模型是否满足压缩数据直接计算优化条件,若满足,则进入第一模型训练模块;否则进入第二模型训练模块;
第一模型训练模块,用于基于LSH聚类算法对输入矩阵进行压缩,并将LSH聚类算法对应的压缩过程参数与原始模型的权重参数联合作为网络参数进行训练,得到结果模型;
第二模型训练模块,用于按照常规训练方式展开模型训练;
数据处理模块,用于利用结果模型对输入矩阵进行直接计算,得到数据处理结果。
本实施例提供的基于压缩数据直接计算的智能负载处理系统,将模型压缩(减枝,量化)的思想与神经架构搜索(NAS)进行结合,把NAS的计算成本(GPU时间、内存)降低到与常规训练相同规模,同时保留了丰富的搜索空间。
该系统可以通过软件、硬件或软硬结合的方式来实现。例如,该系统可以包括集成的或分开的功能模块或功能单元来执行实施例1各方法中的对应步骤。
实施例3
本实施例提供一种与本实施例1所提供的基于压缩数据直接计算的智能负载处理方法对应的处理设备,处理设备可以是用于客户端的处理设备,例如手机、笔记本电脑、平板电脑、台式机电脑等,以执行实施例1的方法。
所述处理设备包括处理器、存储器、通信接口和总线,处理器、存储器和通信接口通过总线连接,以完成相互间的通信。存储器中存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行本实施例1所提供的基于压缩数据直接计算的智能负载处理方法。
在一些实施例中,存储器可以是高速随机存取存储器(RAM:Random AccessMemory),也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。
在另一些实施例中,处理器可以为中央处理器(CPU)、数字信号处理器(DSP)等各种类型通用处理器,在此不做限定。
实施例4
本实施例1的基于压缩数据直接计算的智能负载处理方法可被具体实现为一种计算机程序产品,计算机程序产品可以包括计算机可读存储介质,其上载有用于执行本实施例1所述的基于压缩数据直接计算的智能负载处理方法的计算机可读程序指令。
计算机可读存储介质可以是保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是但不限于电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意组合。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种基于压缩数据直接计算的智能负载处理方法,其特征在于包括以下步骤:
基于给定的定义了原始模型逐层结构的代码文件,判断该原始模型是否满足压缩数据直接计算优化条件,若满足,则进入下一步骤;否则按照常规训练方式展开模型训练;
基于LSH聚类算法对输入矩阵进行压缩,并将LSH聚类算法对应的压缩过程参数与原始模型的权重参数联合作为网络参数进行训练,得到结果模型;
利用结果模型对输入矩阵进行直接计算,得到数据处理结果。
2.如权利要求1所述的一种基于压缩数据直接计算的智能负载处理方法,其特征在于,所述压缩数据直接计算优化条件的判断包括:
判断原始模型中是否存在包含矩阵运算的模型层;
对包含矩阵运算的模型层,根据其参数维度及参数矩阵稀疏性判断该模型层是否属于计算密集型;若属于计算密集型,则判定该原始模型满足压缩数据直接计算优化条件。
3.如权利要求1所述的一种基于压缩数据直接计算的智能负载处理方法,其特征在于,所述基于LSH聚类算法对输入矩阵进行压缩,并将LSH聚类算法对应的压缩过程参数与原始模型的权重参数联合作为网络参数进行训练,得到结果模型,包括:
建立基于LSH聚类算法的卷积算子架构作为前向传播机制,对输入矩阵的瞬态冗余进行检测和消除;
建立基于二值近似和进制转换的反向传播机制,用于将LSH聚类算法中的非连续性条件转换为连续性条件;
将基于LSH聚类算法的卷积算子架构对应的压缩过程参数与原始模型的权重参数联合作为网络参数,采用确定的前向传播机制和反向传播机制,以梯度下降更新的方式完成模型训练,得到结果模型。
4.如权利要求3所述的一种基于压缩数据直接计算的智能负载处理方法,其特征在于,所述基于LSH聚类算法的卷积算子架构的工作流程,包括:
基于LSH聚类算法对输入矩阵X进行处理,获得输入矩阵X的聚簇质心矩阵Xc;
将聚簇质心矩阵Xc与原始模型对应的权重矩阵W进行矩阵乘法,得到质心结果矩阵Yc;
将质心结果矩阵Yc恢复至原始模型卷积层理论输出大小,得到最终输出矩阵Y。
5.如权利要求4所述的一种基于压缩数据直接计算的智能负载处理方法,其特征在于,所述基于LSH聚类算法对输入矩阵X进行处理,获得输入矩阵X的聚簇质心矩阵Xc,包括:
将输入矩阵X垂直分片成L组,其中,L为哈希函数矩阵的行数;
对展开后的输入矩阵X应用哈希函数矩阵,得到具有H个哈希向量的投影矩阵,其中,H为哈希函数矩阵的列数;
对投影矩阵执行逐元素的二进制映射,得到一个比特矩阵;
将比特矩阵的每个行向量视为二进制表示,通过进制映射,将比特矩阵的每个行向量转换为十进制值;其中,这些整数值表示输入矩阵X中神经元向量的聚簇编号;
根据聚簇编号将输入矩阵X整理为聚簇质心矩阵Xc,聚簇质心矩阵Xc中每个行向量代表一个质心向量。
6.如权利要求3所述的一种基于压缩数据直接计算的智能负载处理方法,其特征在于,所述LSH反向传播机制的工作流程,包括:
基于二值近似和进制转换,对输入矩阵X进行处理,得到聚簇质心矩阵Xc;
将聚簇质心矩阵Xc与原始模型对应的权重矩阵W进行矩阵乘法,得到质心结果矩阵Yc;
将质心结果矩阵Yc恢复至原始模型卷积层理论输出大小,得到最终输出矩阵Y。
7.如权利要求6所述的一种基于压缩数据直接计算的智能负载处理方法,其特征在于,所述基于二值近似和进制转换,对输入矩阵X进行处理,得到聚簇质心矩阵Xc,包括:
基于二值近似法,得到输入矩阵X的比特矩阵;
采用进制转换算法,对比特矩阵进行处理,得到商矩阵;
在得到的商矩阵上逐元素地应用高斯函数,得到表示向量-聚簇映射关系的索引矩阵;
将索引矩阵除以聚簇的向量数Nc,得到一个平均矩阵Avg;
基于平均矩阵和输入矩阵,计算得到聚簇质心矩阵Xc。
8.一种基于压缩数据直接计算的智能负载处理系统,其特征在于,包括:
判断模块,用于基于给定的定义了模型逐层结构的代码文件,判断其定义的模型是否满足压缩数据直接计算优化条件,若满足,则进入第一模型训练模块;否则进入第二模型训练模块;
第一模型训练模块,用于基于LSH聚类算法对输入矩阵进行压缩,并将LSH聚类算法对应的压缩过程参数与原始模型的权重参数联合作为网络参数进行训练,得到结果模型;
第二模型训练模块,用于按照常规训练方式展开模型训练;
数据处理模块,用于利用结果模型对输入矩阵进行直接计算,得到数据处理结果。
9.一种处理设备,所述处理设备至少包括处理器和存储器,所述存储器上存储有计算机程序,其特征在于,所述处理器运行所述计算机程序时执行以实现权利要求1到7任一项所述基于压缩数据直接计算的智能负载处理方法的步骤。
10.一种计算机存储介质,其特征在于,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行以实现根据权利要求1到7任一项所述基于压缩数据直接计算的智能负载处理方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211316073.2A CN115658307B (zh) | 2022-10-26 | 2022-10-26 | 一种基于压缩数据直接计算的智能负载处理方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211316073.2A CN115658307B (zh) | 2022-10-26 | 2022-10-26 | 一种基于压缩数据直接计算的智能负载处理方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115658307A true CN115658307A (zh) | 2023-01-31 |
CN115658307B CN115658307B (zh) | 2023-04-18 |
Family
ID=84990453
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211316073.2A Active CN115658307B (zh) | 2022-10-26 | 2022-10-26 | 一种基于压缩数据直接计算的智能负载处理方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115658307B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881449A (zh) * | 2015-05-15 | 2015-09-02 | 西安电子科技大学 | 基于流形学习数据压缩哈希的图像检索方法 |
CN110688502A (zh) * | 2019-09-09 | 2020-01-14 | 重庆邮电大学 | 一种基于深度哈希和量化的图像检索方法及存储介质 |
CN112307225A (zh) * | 2020-11-02 | 2021-02-02 | 中国海洋大学 | 基于改进哈希学习算法的大规模数据检索方法 |
CN114818850A (zh) * | 2022-03-07 | 2022-07-29 | 北京邮电大学 | 基于聚类压缩的网络流空间映射表征方法、装置和存储介质 |
-
2022
- 2022-10-26 CN CN202211316073.2A patent/CN115658307B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104881449A (zh) * | 2015-05-15 | 2015-09-02 | 西安电子科技大学 | 基于流形学习数据压缩哈希的图像检索方法 |
CN110688502A (zh) * | 2019-09-09 | 2020-01-14 | 重庆邮电大学 | 一种基于深度哈希和量化的图像检索方法及存储介质 |
CN112307225A (zh) * | 2020-11-02 | 2021-02-02 | 中国海洋大学 | 基于改进哈希学习算法的大规模数据检索方法 |
CN114818850A (zh) * | 2022-03-07 | 2022-07-29 | 北京邮电大学 | 基于聚类压缩的网络流空间映射表征方法、装置和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN115658307B (zh) | 2023-04-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP7462623B2 (ja) | 活性スパース化を用いたニューラルネットワーク加速・埋め込み圧縮システム及び方法 | |
Huang et al. | YOLO-LITE: a real-time object detection algorithm optimized for non-GPU computers | |
US20210166113A1 (en) | Method for neural network and apparatus performing same method | |
Tjandra et al. | Compressing recurrent neural network with tensor train | |
WO2020019236A1 (en) | Loss-error-aware quantization of a low-bit neural network | |
WO2022068623A1 (zh) | 一种模型训练方法及相关设备 | |
CN110659725B (zh) | 神经网络模型的压缩与加速方法、数据处理方法及装置 | |
CN111507993A (zh) | 一种基于生成对抗网络的图像分割方法、装置及存储介质 | |
KR20180007657A (ko) | 뉴럴 네트워크를 위한 방법 및 그 방법을 수행하는 장치 | |
US11551076B2 (en) | Event-driven temporal convolution for asynchronous pulse-modulated sampled signals | |
KR102655950B1 (ko) | 뉴럴 네트워크의 고속 처리 방법 및 그 방법을 이용한 장치 | |
US20190354865A1 (en) | Variance propagation for quantization | |
WO2021042857A1 (zh) | 图像分割模型的处理方法和处理装置 | |
CN114616575A (zh) | 用于采用微结构化权重剪枝和权重统一进行神经网络模型压缩的方法及装置 | |
Huai et al. | Latency-constrained DNN architecture learning for edge systems using zerorized batch normalization | |
CN114169393A (zh) | 一种图像分类方法及其相关设备 | |
WO2024060839A1 (zh) | 对象操作方法、装置、计算机设备以及计算机存储介质 | |
CN115658307B (zh) | 一种基于压缩数据直接计算的智能负载处理方法和系统 | |
CN116187416A (zh) | 一种基于层剪枝灵敏度的迭代式重训练方法及一种图像处理器 | |
JP7307785B2 (ja) | 機器学習装置及び方法 | |
CN115375922A (zh) | 一种基于多尺度空间注意力的轻量化显著性检测方法 | |
CN114707643A (zh) | 一种模型切分方法及其相关设备 | |
KR20220076952A (ko) | 이미지 인식 방법, 이미지 인식 장치, 이미지 전처리 장치 및 뉴럴 네트워크의 학습 방법 | |
CN113095473A (zh) | 神经网络架构搜索系统和方法及计算机可读记录介质 | |
US12008461B2 (en) | Method for determining neuron events based on cluster activations and apparatus performing same method |
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 |