CN114757353A - 一种机器学习模型的压缩方法、压缩装置和可读存储介质 - Google Patents
一种机器学习模型的压缩方法、压缩装置和可读存储介质 Download PDFInfo
- Publication number
- CN114757353A CN114757353A CN202210675517.5A CN202210675517A CN114757353A CN 114757353 A CN114757353 A CN 114757353A CN 202210675517 A CN202210675517 A CN 202210675517A CN 114757353 A CN114757353 A CN 114757353A
- Authority
- CN
- China
- Prior art keywords
- weight
- data
- value
- quantization
- weight data
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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 OR CALCULATING; 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/082—Learning methods modifying the architecture, e.g. adding, deleting or silencing nodes or connections
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/18—Complex mathematical operations for evaluating statistical data, e.g. average values, frequency distributions, probability functions, regression analysis
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computing Systems (AREA)
- Computational Mathematics (AREA)
- Mathematical Optimization (AREA)
- Evolutionary Computation (AREA)
- Life Sciences & Earth Sciences (AREA)
- Pure & Applied Mathematics (AREA)
- Artificial Intelligence (AREA)
- Mathematical Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Databases & Information Systems (AREA)
- Computational Linguistics (AREA)
- Biophysics (AREA)
- Algebra (AREA)
- Biomedical Technology (AREA)
- Molecular Biology (AREA)
- Health & Medical Sciences (AREA)
- Evolutionary Biology (AREA)
- Medical Informatics (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Probability & Statistics with Applications (AREA)
- Operations Research (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本申请公开了一种机器学习模型的压缩方法、压缩装置和可读存储介质,该机器学习模型的压缩方法包括:获取机器学习模型的多个权重数据;对多个权重数据进行等间隔划分,得到至少两个权重划分区间;统计每个权重划分区间中的权重数据的数量;对每个权重划分区间对应的权重数据的数量进行调整,得到权重划分区间对应的校准数量数据;基于每个权重划分区间对应的校准数量数据,对多个权重数据重新进行划分,得到至少两个权重量化区间;对权重量化区间中的权重数据进行量化处理,以使量化后的所有权重数据的比特数之和小于量化前的所有权重数据的比特数之和。通过上述方式,本申请能够提升压缩效率与精度。
Description
技术领域
本申请涉及深度学习技术领域,具体涉及一种机器学习模型的压缩方法、压缩装置和可读存储介质。
背景技术
机器学习模型包括深度学习卷积层和全连接层,深度学习卷积层和全连接层具有大量的权重数据,在将机器学习模型部署到嵌入式设备上时,权重数据会占用大量的存储空间。现有技术中为了压缩机器学习模型,通过聚类算法对权重数据进行量化,权重量化的过程中并未考虑到权重数据的分布情况,权重量化的效率以及精度较低,对机器学习模型的压缩效果不好。
发明内容
本申请提供一种机器学习模型的压缩方法、压缩装置和可读存储介质,能够提升压缩效率与精度。
为解决上述技术问题,本申请采用的技术方案是:提供一种机器学习模型的压缩方法,该机器学习模型的压缩方法包括:获取机器学习模型的多个权重数据;对多个权重数据进行等间隔划分,得到至少两个权重划分区间;统计每个权重划分区间中的权重数据的数量;对每个权重划分区间对应的权重数据的数量进行调整,得到权重划分区间对应的校准数量数据;基于每个权重划分区间对应的校准数量数据,对多个权重数据重新进行划分,得到至少两个权重量化区间,以使各个权重量化区间中的权重数据的数量均衡;对权重量化区间中的权重数据进行量化处理,以使量化后的所有权重数据的比特数之和小于量化前的所有权重数据的比特数之和。
为解决上述技术问题,本申请采用的另一技术方案是:提供一种压缩装置,压缩装置包括互相连接的存储器和处理器,其中,存储器用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述技术方案中的机器学习模型的压缩方法。
为解决上述技术问题,本申请采用的又一技术方案是:提供一种计算机可读存储介质,计算机可读存储介质用于存储计算机程序,计算机程序在被处理器执行时,用于实现上述技术方案中的机器学习模型的压缩方法。
通过上述方案,本申请的有益效果是:先获取机器学习模型的多个权重数据;对多个权重数据进行等间隔划分,得到至少两个权重划分区间;统计每个权重划分区间中的权重数据的数量;然后对每个权重划分区间对应的权重数据的数量进行调整,得到权重划分区间对应的校准数量数据;再基于校准数量数据对多个权重数据重新进行划分,得到至少两个权重量化区间;对权重量化区间中的权重数据进行量化处理,以使量化后的所有权重数据的比特数之和小于量化前的所有权重数据的比特数之和;通过对每个权重划分区间对应的权重数据的数量进行调整、划分以及量化,实现对权重数据的量化,能够以权重分布情况为依据对量化结果进行控制,有效避免出现权重数据过于密集和过于稀疏的情形,从而提高权重量化的精度,提升机器学习模型的压缩效果;并且,无需利用聚类算法就能够实现权重量化,能够提升权重量化的效率。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。其中:
图1是本申请提供的机器学习模型的压缩方法一实施例的流程示意图;
图2是本申请提供的机器学习模型的压缩方法另一实施例的流程示意图;
图3是本申请提供的步骤27的流程示意图;
图4是本申请提供的压缩装置一实施例的结构示意图;
图5是本申请提供的计算机可读存储介质一实施例的结构示意图。
具体实施方式
下面结合附图和实施例,对本申请作进一步的详细描述。特别指出的是,以下实施例仅用于说明本申请,但不对本申请的范围进行限定。同样的,以下实施例仅为本申请的部分实施例而非全部实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本申请保护的范围。
在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域技术人员显式地和隐式地理解的是,本文所描述的实施例可以与其它实施例相结合。
需要说明的是,本申请中的术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”、“第三”的特征可以明示或者隐含地包括至少一个该特征。本申请的描述中,“多个”的含义是至少两个,例如两个,三个等,除非另有明确具体的限定。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选地还包括没有列出的步骤或单元,或可选地还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
请参阅图1,图1是本申请提供的机器学习模型的压缩方法一实施例的流程示意图,本实施例的执行主体为压缩装置,该压缩装置可以为计算机,该方法包括:
步骤11:获取机器学习模型的多个权重数据。
对机器学习模型的压缩过程也就是对机器学习模型中的权重数据进行量化的过程,机器学习模型可为由人工智能开放平台(Artificial Intelligence Open Platform)训练得到的,在此不作限定。
具体地,在训练得到机器学习模型之后,可将机器学习模型部署到嵌入式设备中,从而实现机器学习模型的应用,而在部署过程中,由于机器学习模型的权重数据占据的存储空间较大,在部署至嵌入式设备之前,可通过压缩装置先对大量的权重数据进行量化,以实现对机器学习模型的压缩,从而减少权重数据占据的存储空间。
步骤12:对多个权重数据进行等间隔划分,得到至少两个权重划分区间。
对权重数据进行等间隔划分,得到至少两个权重划分区间;具体地,每个权重划分区间的区间范围相同,可先对机器学习模型的权重数据中的最小值以及最大值进行统计,得到权重数据的数值区间[wmin,wmax],其中,wmin为权重数据中的最小值,wmax为权重数据中的最大值,然后再将数值区间[wmin,wmax]等间隔划分为至少两个权重划分区间。
可以理解地,权重划分区间的数量一般不超过权重数据总数量的一半,保证各个权重划分区间内都能有适量的权重数据,避免落在各个权重划分区间内的权重数据的数量过少,降低因权重数据的数量过少导致后续权重量化效果不佳。权重划分区间的具体数量可根据实际情况进行自定义设置,例如:4096个,在此不作限定。
步骤13:统计每个权重划分区间中的权重数据的数量。
可对权重划分区间进行直方图统计,从而得到每个权重划分区间中的权重数据的数量。
步骤14:对权重数量数据进行调整,得到校准数量数据。
可通过将每个权重划分区间中包含的权重数量限制在预设数量区间内,以对每个权重划分区间对应的权重数据的数量进行调整,得到校准数量数据,从而避免权重划分区间中权重数量过于集中,导致权重量化后仍需占用大量共享权重的情况发生,同时也能避免权重划分区间中权重数量过于稀疏,导致权重量化的误差过大的情况发生;可以理解地,预设数量区间的具体数值可根据实际情况进行设置,在此不作限定。
步骤15:基于每个权重划分区间对应的校准数量数据,对多个权重数据重新进行划分,得到至少两个权重量化区间,以使各个权重量化区间中的权重数据的数量均衡。
可基于每个权重划分区间对应的校准数量数据对多个权重数据的数值区间[wmin,wmax]重新进行划分,得到至少两个权重量化区间,以使得划分后得到的每个权重量化区间都将包含数量均衡的权重数据,从而实现权重数据的非均匀量化,使得每个权重量化区间中的权重数据能够共享同一个权重值,从而降低权重的量化误差,提升权重量化精度,进而提升对机器学习模型的压缩效果;以划分成K个权重量化区间为例,每个权重量化区间中包含的权重数据的数量可为权重数据总量的1/K。
可以理解地,权重量化区间的数量与量化后的所有权重数据对应的目标存储字符数量相同,目标存储字符数量可根据实际应用情况进行设置,例如:要对权重数据进行量化得到八位数据的量化结果,即量化后的所有权重数据对应的目标存储字符数量为256个,则此时可设置256个权重量化区间对权重数据进行划分。
步骤16:对权重量化区间中的权重数据进行量化处理,以使量化后的所有权重数据的比特数之和小于量化前的所有权重数据的比特数之和。
量化后的所有权重数据的比特数之和小于量化前的所有权重数据的比特数之和,具体地,对权重量化区间中的权重数据进行量化处理,可将每个权重量化区间中的所有权重数据量化成同一共享权重值,并将共享权重值作为权重数据的量化结果,得到量化后的所有权重数据。进一步地,利用共享权重值表示权重量化区间中的所有量化后的权重数据,能够减少权重数据的存储空间,实现对机器学习模型的压缩;然后可利用压缩后得到的量化结果将机器学习模型部署到嵌入式设备中,在部署过程中,可将共享权重值恢复成浮点数,然后再对浮点数进行运算,以完成部署操作。
在一具体的实施方式中,可通过计算权重量化区间中所有权重数据的平均值,并将平均值作为权重量化区间中的每个权重数据对应的量化后的权重数据,即该权重量化区间对应的共享权重值,或者计算权重量化区间中所有权重数据中的最大值与权重量化区间中所有权重数据中的最小值的均值,并将该均值作为权重量化区间中的每个权重数据对应的量化后的权重数据,或者计算权重量化区间中所有权重数据中的中值,并将中值作为权重量化区间中的每个权重数据对应的量化后的权重数据;在其他实施方式中,还可利用其他计算方法得到共享权重值,在此不作限定。
本实施例先对多个权重数据进行等间隔划分,得到至少两个权重划分区间,然后统计每个权重划分区间中的权重数据的数量,得到权重数量数据,再通过对每个权重划分区间对应的权重数据的数量进行调整、划分以及量化,实现对权重数据的量化,能够以权重分布情况为依据对量化结果进行控制,有效避免出现权重数据过于密集和过于稀疏的情形,从而提高权重量化的精度,提升机器学习模型的压缩效果;并且,无需利用聚类算法就能够实现权重量化,能够提升权重量化的效率。
请参阅图2,图2是本申请提供的机器学习模型的压缩方法另一实施例的流程示意图,该方法包括:
步骤21:获取机器学习模型的多个权重数据。
步骤21与上述实施方式中的步骤11相同,在此不再赘述。
步骤22:对多个权重数据进行等间隔划分,得到至少两个权重划分区间。
步骤22与上述实施方式中的步骤12相同,在此不再赘述。
步骤23:统计每个权重划分区间中的权重数据的数量。
步骤23与上述实施方式中的步骤13相同,在此不再赘述。
步骤24:对每个权重划分区间对应的权重数据的数量进行数值限制处理,得到第一权重数量数据。
对每个权重划分区间对应的权重数据的数量进行数值限制处理,得到第一权重数量数据;具体地,可依次从所有权重划分区间对应的权重数据的数量中取出一个权重数据的数量,得到当前数量;判断当前数量是否满足预设条件;若当前数量满足预设条件,则不对当前数量进行调整;若当前数量不满足预设条件,则在当前数量落在第一数量范围时,将当前数量调整为预设最小数值;在当前数量落在第二数量范围时,不对当前数量进行调整;在当前数量落在第三数量范围时,将当前数量调整为预设最大数值。
在一具体的实施方式中,在当前数量为预设数值时,可判定当前数量满足预设条件,预设数值可为0;预设数值小于第一数量范围的最小值,第一数量范围的最大值小于第二数量范围的最小值,第二数量范围的最大值小于第三数量范围的最小值;第二数量范围的最小值为预设最小数值,第二数量范围的最大值为预设最大数值。
进一步地,第一数量范围的最大值可为预设最小数值,第二数量范围的最大值可为预设最大数值,用threshmin表示预设最小数值,threshmax表示预设最大数值;也就是说,第一数量范围可为(0,threshmin),第二数量范围可为[threshmin,threshmax],第三数量范围可为(threshmax,∞),预设最小数值以及预设最大数值可根据经验或实际情况进行设置,在此不作限定。
在当前数量为0时,说明权重划分区间内没有权重数据,无需进行权重量化操作,则无需对权重数据进行调整;在当前数量落在第一数量范围(0,threshmin)内时,说明该权重划分区间内的权重数量过小,则此时将当前数量提升为预设最小数值threshmin;在当前数量落在第二数量范围[threshmin,threshmax]内时,说明该权重划分区间内的权重数据的数量合适,则此时不对当前数量进行调整;在当前数量落在第三数量范围(threshmax,∞)内时,说明该权重划分区间对应的权重数量过大,则将当前数量调整为预设最大数值threshmax,具体如下述公式(1)所示:
其中,在上式(1)中,threshmin表示预设最小数值,threshmax表示预设最大数值,hj表示权重划分区间对应的权重数据的数量,hj '表示第一权重数量数据,其中,j∈{0,1,…,M-1},其表示权重划分区间的标号,M为权重划分区间的数量。
通过设置第一数量范围、第二数量范围以及第三数量范围,能够对多有权重划分区间对应的权重数据的数量的最大值以及最小值进行限制,解决了权重划分区间内的权重数据的数量稀疏以及数量过于密集的问题,从而降低量化误差,保证权重量化精度;可以理解地,上述对当前数量进行的调整仅是对每个权重划分区间对应的权重数据的数量进行的处理,不对原始的权重数据内容进行调整。
步骤25:对第一权重数量数据进行变换与归一化处理,得到校准数量数据。
对第一权重数量数据进行变换与归一化处理,得到校准数量数据;具体地,可从预设函数库中选出当前运算函数,并将第一权重数量数据输入当前运算函数,得到运算统计数据;然后对运算统计数据进行归一化处理,得到校准数量数据。
进一步地,在权重量化的过程中容易产生量化误差,影响权重量化效果,一般利用Lp范数来度量量化误差,Lp范数越小,量化误差越小,说明权重量化效果越好;可以根据当前实际情况选择合适的当前运算函数来降低对应的Lp范数,从而实现对不同Lp范数的最小化控制,以降低量化误差。
例如:可选择常数函数f(x)=c(c>0)为当前运算函数,以使得后续的权重量化区间均匀划分,从而使得量化误差的最大值达到最小,即实现量化误差的L∞范数最小化;也可选择f(x)=x为当前运算函数,以使得每个权重划分区间内都将包含数量相等的权重数据,从而使得量化误差的L1范数降低;特别地,还可选择f(x)=sqrt(x)为当前运算函数,以使得每个权重划分区间内的权重数据的数量与权重数据的分布密度的开方成正比,从而使得量化误差的L2范数降低;可以理解地,上述仅以几个运算函数为例进行说明,不对当前运算函数进行限定,可根据实际情况来选择。
在一具体的实施方式中,对运算统计数据进行归一化处理,得到校准数量数据的方案可包括:将所有运算统计数据相加,得到第一数值;然后将运算统计数据与第一数值相除,从而得到相应的校准权重数量,具体如下述公式(2)所示:
其中,在上式(2)中,hj "'表示校准数量数据,hj"表示运算统计数据,j∈{0,1,…,M-1}。
可以理解地,在其他实施方式中,还可先对每个权重划分区间对应的权重数据的数量进行变换,得到第二权重数量数据;然后对第二权重数量数据进行数值限制处理与归一化处理,得到校准数量数据;在此不对数值限制处理与数据变换的先后顺序进行限定;在其他实施方式中,还可直接通过对每个权重划分区间对应的权重数据的数量进行数值限制处理与归一化处理,即先对每个权重划分区间对应的权重数据的数量进行数值限制处理,然后再进行归一化处理,从而得到校准数量数据;或者直接通过对每个权重划分区间对应的权重数据的数量进行变换与归一化处理,即先对每个权重划分区间对应的权重数据的数量进行数据变换,然后再进行归一化处理,从而得到校准数量数据,在此不作限定。
步骤26:对校准数量数据进行累加处理,得到累加数组。
对校准数量数据进行累加处理,得到累加数组;具体地,累加数组可包括累加值,校准数量数据可包括至少两个校准值;可将预设数值(比如:0)确定为累加数组中的第一个累加值;计算第n-1个累加值与校准数量数据中的第n-1个校准值之和,得到累加数组中的第n个累加值,n为大于或等于1的整数,且n小于或等于权重划分区间的数量;累加数组的具体表达式如下述公式(3)所示:
其中,在上式(3)中,Hn为累加数组,可以理解地,累加数组为递增数组,即Hn≥Hn-1,且H0=1,HM=1。
步骤27:基于累加值、权重最小值、权重最大值以及权重划分区间的数量,对多个权重数据重新进行划分,得到至少两个权重量化区间。
权重最小值为权重数据中所有权重的最小值,权重最大值为权重数据中所有权重的最大值;可基于累加值、权重最小值、权重最大值以及权重划分区间的数量,对多个权重数据重新进行划分,得到至少两个权重量化区间,如图3所示,得到权重量化区间的具体方案包括步骤31~34。
步骤31:基于至少两个权重量化区间的数量,生成预设数组。
预设数组包括多个预设值,预设数组可为递增数组;具体地,预设数组的第一个预设值为至少两个权重量化区间的数量的倒数,预设数组的公差为至少两个权重量化区间的数量的倒数,预设数组中的预设值的数量为多个权重量化区间的数量减一,预设数组的具体表达式如下述公式(4):
其中,在上式(4)中,Tk表示预设数组,K表示至少两个权重量化区间的数量。
步骤32:基于预设数组与累加数组,筛选出累加数组中满足预设分割条件的累加值,得到候选累加值。
基于预设数组与累加数组,筛选出累加数组中满足预设分割条件的累加值,得到候选累加值;具体地,可依次从预设数组中选出一预设值作为当前预设值;然后判断当前预设值是否落在比较区间;若当前预设值落在比较区间,则确定满足预设分割条件,并将相邻的两个累加值确定为候选累加值。
进一步地,比较区间可由累加数组中相邻的两个累加值构成,通过遍历预设数组中的所有预设值,依次将预设值与累加数组组成的区间进行匹配,直至满足Hn≤Tk≤Hn+1条件,得到比较区间[Hn,Hn+1],并将Hn与Hn+1确定为候选累加值。
步骤33:基于候选累加值、权重最小值以及权重最大值,生成区间分割点。
可基于候选累加值、权重最小值以及权重最大值,生成区间分割点,分别将候选累加值中包含的相邻的两个累加值称作第一累加值(即Hn)与第二累加值(即Hn+1);具体地,可将当前预设值与第一累加值相减,得到第二数值;然后将第二累加值与第一累加值相减,得到第三数值;将第二数值与第三数值相除,得到第四数值;将第四数值与第一累加值对应的项数(即n的数值)相加,得到第五数值;将权重最大值与权重最小值相减,得到第六数值;将第六数值与权重划分区间的数量相除,得到第七数值;将第五数值与第七数值相乘,得到第八数值;将第八数值与权重最小值相加,从而得到区间分割点;具体如下述公式(5)所示:
其中,在上式(5)中,xk表示区间分割点,wmax表示权重最大值,wmin表示权重最小值。
步骤34:基于所有区间分割点,对多个权重数据重新进行划分,得到至少两个权重量化区间。
利用上式(5)计算得到的区间分割点的数量与预设数组中预设值的数量相同,即为多个权重量化区间的数量减一,从而利用生成的所有区间分割点对多个权重数据重新进行划分,能够将多个权重数据划分为目标数量个权重量化区间,同时保证每个权重量化区间中的权重数据的数量相同。
步骤28:对权重量化区间中的权重数据进行量化处理,以使量化后的所有权重数据的比特数之和小于量化前的所有权重数据的比特数之和。
步骤28与上述实施例中的步骤16相同,在此不再赘述。
本实施例通过对每个权重划分区间对应的权重数据的数量进行数值限制处理,可以有效避免量化权重数据过于密集和过于稀疏的情形,保证量化精度;还通过对每个权重划分区间对应的权重数据的数量进行函数变换与归一化处理,能够根据实际需求选择相应的运算函数来降低量化误差,从而达到较好的量化效果,以提升对机器学习模型的压缩效果,无需进行均值聚类算法就能够实现权重量化,进一步提高量化效率。
请参阅图4,图4是本申请提供的压缩装置一实施例的结构示意图,压缩装置40包括互相连接的存储器41和处理器42,存储器41用于存储计算机程序,计算机程序在被处理器42执行时,用于实现上述实施例中的机器学习模型的压缩方法。
请参阅图5,图5是本申请提供的计算机可读存储介质一实施例的结构示意图,计算机可读存储介质50用于存储计算机程序51,计算机程序51在被处理器执行时,用于实现上述实施例中的机器学习模型的压缩方法。
计算机可读存储介质50可以是服务端、U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
在本申请所提供的几个实施方式中,应该理解到,所揭露的方法以及设备,可以通过其它的方式实现。例如,以上所描述的设备实施方式仅仅是示意性的,例如,模块或单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。
作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施方式方案的目的。
另外,在本申请各个实施方式中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
以上仅为本申请的实施例,并非因此限制本申请的专利范围,凡是利用本申请说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本申请的专利保护范围内。
Claims (12)
1.一种机器学习模型的压缩方法,其特征在于,包括:
获取机器学习模型的多个权重数据;
对所述多个权重数据进行等间隔划分,得到至少两个权重划分区间;
统计每个所述权重划分区间中的权重数据的数量;
对每个所述权重划分区间对应的权重数据的数量进行调整,得到所述权重划分区间对应的校准数量数据;
基于每个所述权重划分区间对应的校准数量数据,对所述多个权重数据重新进行划分,得到至少两个权重量化区间,以使各个所述权重量化区间中的权重数据的数量均衡;
对所述权重量化区间中的权重数据进行量化处理,以使量化后的所有权重数据的比特数之和小于量化前的所有权重数据的比特数之和。
2.根据权利要求1所述的机器学习模型的压缩方法,其特征在于,所述对每个所述权重划分区间对应的权重数据的数量进行调整,得到所述权重划分区间对应的校准数量数据的步骤,包括:
对每个所述权重划分区间对应的权重数据的数量进行数值限制处理与归一化处理,得到所述校准数量数据;或者,
对每个所述权重划分区间对应的权重数据的数量进行变换与归一化处理,得到所述校准数量数据;或者,
对每个所述权重划分区间对应的权重数据的数量进行数值限制处理,得到第一权重数量数据;对所述第一权重数量数据进行变换与归一化处理,得到所述校准数量数据;或者,
对每个所述权重划分区间对应的权重数据的数量进行变换,得到第二权重数量数据;对所述第二权重数量数据进行数值限制处理与归一化处理,得到所述校准数量数据。
3.根据权利要求2所述的机器学习模型的压缩方法,其特征在于,所述对每个所述权重划分区间对应的权重数据的数量进行数值限制处理的步骤,包括:
依次从所有所述权重划分区间对应的权重数据的数量中取出一个权重数据的数量,得到当前数量;
判断所述当前数量是否满足预设条件;
若是,则不对所述当前数量进行调整;
若否,则在所述当前数量落在第一数量范围时,将所述当前数量调整为预设最小数值;在所述当前数量落在第二数量范围时,不对所述当前数量进行调整;在所述当前数量落在第三数量范围时,将所述当前数量调整为预设最大数值。
4.根据权利要求3所述的机器学习模型的压缩方法,其特征在于,所述判断所述当前数量是否满足预设条件的步骤,包括:
在所述当前数量为预设数值时,判定所述当前数量满足所述预设条件;
其中,所述预设数值小于所述第一数量范围的最小值,所述第一数量范围的最大值小于所述第二数量范围的最小值,所述第二数量范围的最大值小于所述第三数量范围的最小值;所述第二数量范围的最小值为所述预设最小数值,所述第二数量范围的最大值为所述预设最大数值。
5.根据权利要求2所述的机器学习模型的压缩方法,其特征在于,所述对所述第一权重数量数据进行变换与归一化处理,得到所述校准数量数据的步骤,包括:
从预设函数库中选出当前运算函数,并将所述第一权重数量数据输入所述当前运算函数,得到运算统计数据;
对所述运算统计数据进行归一化处理,得到所述校准数量数据。
6.根据权利要求1所述的机器学习模型的压缩方法,其特征在于,所述基于每个所述权重划分区间对应的校准数量数据,对所述多个权重数据重新进行划分,得到至少两个权重量化区间的步骤,包括:
对所述校准数量数据进行累加处理,得到累加数组,所述累加数组包括累加值;
基于所述累加值、权重最小值、权重最大值以及所述权重划分区间的数量,对所述多个权重数据重新进行划分,得到所述至少两个权重量化区间,所述权重最小值为所有所述权重数据的最小值,所述权重最大值为所有所述权重数据的最大值。
7.根据权利要求6所述的机器学习模型的压缩方法,其特征在于,所述校准数量数据包括至少两个校准值,所述对所述校准数量数据进行累加处理,得到累加数组的步骤,包括:
将预设数值确定为所述累加数组中的第一个累加值;
计算第n-1个累加值与所述校准数量数据中的第n-1个校准值之和,得到所述累加数组中的第n个累加值,n为大于或等于1的整数,且n小于或等于所述权重划分区间的数量。
8.根据权利要求6所述的机器学习模型的压缩方法,其特征在于,所述基于所述累加值、权重最小值、权重最大值以及所述权重划分区间的数量,对所述多个权重数据重新进行划分,得到所述至少两个权重量化区间的步骤,包括:
基于所述至少两个权重量化区间的数量,生成预设数组;
基于所述预设数组与所述累加数组,筛选出所述累加数组中满足预设分割条件的累加值,得到候选累加值;
基于所述候选累加值、所述权重最小值以及所述权重最大值,生成区间分割点;
基于所有所述区间分割点,对所述多个权重数据重新进行划分,得到所述至少两个权重量化区间。
9.根据权利要求8所述的机器学习模型的压缩方法,其特征在于,所述预设数组包括预设值,所述基于所述预设数组与所述累加数组,筛选出所述累加数组中满足预设分割条件的累加值,得到候选累加值的步骤,包括:
依次从所述预设数组中选出一预设值作为当前预设值;
判断所述当前预设值是否落在比较区间,所述比较区间由所述累加数组中相邻的两个累加值构成;
若是,则确定满足所述预设分割条件,并将所述相邻的两个累加值确定为所述候选累加值。
10.根据权利要求1所述的机器学习模型的压缩方法,其特征在于,所述对所述权重量化区间中的权重数据进行量化处理,以使量化后的所有权重数据的比特数之和小于量化前的所有权重数据的比特数之和的步骤,包括:
计算所述权重量化区间中所有权重数据的平均值,将所述平均值作为所述权重量化区间中的每个权重数据对应的量化后的权重数据;或者,
计算所述权重量化区间中所有权重数据中的最大值与所述权重量化区间中所有权重数据中的最小值的均值,将所述均值作为所述权重量化区间中的每个权重数据对应的量化后的权重数据;或者,
计算所述权重量化区间中所有权重数据中的中值,将所述中值作为所述权重量化区间中的每个权重数据对应的量化后的权重数据。
11.一种压缩装置,其特征在于,包括互相连接的存储器和处理器,其中,所述存储器用于存储计算机程序,所述计算机程序在被所述处理器执行时,用于实现权利要求1-10中任一项所述的机器学习模型的压缩方法。
12.一种计算机可读存储介质,用于存储计算机程序,其特征在于,所述计算机程序在被处理器执行时,用于实现权利要求1-10中任一项所述的机器学习模型的压缩方法。
Priority Applications (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210675517.5A CN114757353A (zh) | 2022-06-15 | 2022-06-15 | 一种机器学习模型的压缩方法、压缩装置和可读存储介质 |
| CN202211576533.5A CN115829056A (zh) | 2022-06-15 | 2022-12-08 | 一种机器学习模型的部署方法、系统和可读存储介质 |
| EP23822796.1A EP4497086A4 (en) | 2022-06-15 | 2023-04-24 | SYSTEMS AND METHODS FOR MACHINE LEARNING MODEL COMPRESSION |
| PCT/CN2023/090365 WO2023241225A1 (en) | 2022-06-15 | 2023-04-24 | Systems and methods for machine learning model compression |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202210675517.5A CN114757353A (zh) | 2022-06-15 | 2022-06-15 | 一种机器学习模型的压缩方法、压缩装置和可读存储介质 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| CN114757353A true CN114757353A (zh) | 2022-07-15 |
Family
ID=82337061
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202210675517.5A Pending CN114757353A (zh) | 2022-06-15 | 2022-06-15 | 一种机器学习模型的压缩方法、压缩装置和可读存储介质 |
| CN202211576533.5A Pending CN115829056A (zh) | 2022-06-15 | 2022-12-08 | 一种机器学习模型的部署方法、系统和可读存储介质 |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN202211576533.5A Pending CN115829056A (zh) | 2022-06-15 | 2022-12-08 | 一种机器学习模型的部署方法、系统和可读存储介质 |
Country Status (3)
| Country | Link |
|---|---|
| EP (1) | EP4497086A4 (zh) |
| CN (2) | CN114757353A (zh) |
| WO (1) | WO2023241225A1 (zh) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2023241225A1 (en) * | 2022-06-15 | 2023-12-21 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for machine learning model compression |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN118886473B (zh) * | 2024-09-30 | 2024-12-13 | 北京智眸科技发展有限公司 | 一种轻量级工业图像处理网络的模型压缩方法及系统 |
Family Cites Families (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US10387298B2 (en) * | 2017-04-04 | 2019-08-20 | Hailo Technologies Ltd | Artificial neural network incorporating emphasis and focus techniques |
| EP3639206B1 (en) * | 2017-07-06 | 2024-09-11 | Google LLC | Systems and methods for compression and distribution of machine learning models |
| CN110119745B (zh) * | 2019-04-03 | 2024-05-10 | 平安科技(深圳)有限公司 | 深度学习模型的压缩方法、装置、计算机设备及存储介质 |
| US20200342288A1 (en) * | 2019-04-23 | 2020-10-29 | Microsoft Technology Licensing, Llc | Direct computation with compressed weight in training deep neural network |
| CN114219095B (zh) * | 2021-11-15 | 2024-05-10 | 浙江大华技术股份有限公司 | 一种机器学习模型的训练方法、装置和可读存储介质 |
| CN114519432B (zh) * | 2021-12-25 | 2025-07-11 | 浙江大华技术股份有限公司 | 一种提高嵌入式设备运行机器学习模型的速度的方法 |
| CN114757353A (zh) * | 2022-06-15 | 2022-07-15 | 浙江大华技术股份有限公司 | 一种机器学习模型的压缩方法、压缩装置和可读存储介质 |
-
2022
- 2022-06-15 CN CN202210675517.5A patent/CN114757353A/zh active Pending
- 2022-12-08 CN CN202211576533.5A patent/CN115829056A/zh active Pending
-
2023
- 2023-04-24 WO PCT/CN2023/090365 patent/WO2023241225A1/en not_active Ceased
- 2023-04-24 EP EP23822796.1A patent/EP4497086A4/en active Pending
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2023241225A1 (en) * | 2022-06-15 | 2023-12-21 | Zhejiang Dahua Technology Co., Ltd. | Systems and methods for machine learning model compression |
Also Published As
| Publication number | Publication date |
|---|---|
| EP4497086A1 (en) | 2025-01-29 |
| CN115829056A (zh) | 2023-03-21 |
| WO2023241225A1 (en) | 2023-12-21 |
| EP4497086A4 (en) | 2025-07-09 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN113408715B (zh) | 一种神经网络的定点化方法、装置 | |
| CN114757353A (zh) | 一种机器学习模型的压缩方法、压缩装置和可读存储介质 | |
| US12205011B2 (en) | Method for automatic hybrid quantization of deep artificial neural networks | |
| CN111401300A (zh) | 一种人脸聚类归档方法、装置及存储介质 | |
| CN110474808A (zh) | 一种流量预测方法及装置 | |
| CN112561138B (zh) | 电力负荷预测方法、装置、计算机设备和存储介质 | |
| CN117973899B (zh) | 基于大数据的土地开发与经营信息智能管理系统 | |
| CN112817757A (zh) | 预调整的资源弹性分配方法、装置、电子设备及存储介质 | |
| CN118277093A (zh) | 一种面向算力网络的负载预测方法 | |
| CN120256139A (zh) | 一种基于资源亲和性的异构gpu集群调度优化方法及系统 | |
| CN116719714A (zh) | 一种测试用例的筛选模型的训练方法及相应的装置 | |
| CN114970856A (zh) | 基于硬件特性的模型剪枝方法、装置、设备及存储介质 | |
| CN117235297B (zh) | 图像选择方法及计算机设备 | |
| CN113935648A (zh) | 一种产品竞争力评价方法、装置及计算机可读存储介质 | |
| CN110929849B (zh) | 一种基于神经网络模型压缩的视频检测方法和装置 | |
| CN117112163B (zh) | 基于改进水母搜索算法的数据处理进程调度方法及系统 | |
| CN117312613B (zh) | 基于云计算的订单数据智能管理方法及系统 | |
| CN114418087B (zh) | 一种基于优化的kl散度的模型量化方法、装置及设备 | |
| CN117707767A (zh) | 数据库的宿主机的确定方法、装置、存储介质及电子设备 | |
| CN117422545A (zh) | 信用风险识别方法、装置、设备及存储介质 | |
| CN110942014B (zh) | 人脸识别快速检索方法、装置、服务器及存储装置 | |
| CN110134575B (zh) | 一种服务器集群的服务能力计算方法及装置 | |
| CN119416982B (zh) | 基于特征筛选的用能数据预测方法及装置、介质、终端 | |
| CN119295896A (zh) | 一种计算机视觉处理方法、装置、设备和存储介质 | |
| CN109785915B (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 | ||
| RJ01 | Rejection of invention patent application after publication | ||
| RJ01 | Rejection of invention patent application after publication |
Application publication date: 20220715 |