模型量化方法以及装置制造方法及图纸

技术编号:36871935 阅读:11 留言:0更新日期:2023-03-15 20:02
本说明书实施例提供模型量化方法以及装置,其中所述模型量化方法包括:接收针对初始任务处理模型提交的模型量化请求,根据所述初始任务处理模型对应的初始数据精度,对以比特数来表达的第一张量按所述比特数的不同组成部分进行拆分,得到所述第一张量的至少两个部分,所述第一张量包括训练数据的第一张量和模型参数的第一张量,根据所述模型量化请求中包含的量化精度,对所述至少两个部分分别进行量化调整,生成符合所述量化精度对应比特数的第二张量,其中,所述量化调整包括:对至少一个所述部分的值缩小并对至少另一个所述部分的值相应放大以使所述第二张量满足所述初始数据精度,利用所述第二张量,生成目标任务处理模型。型。型。

【技术实现步骤摘要】
模型量化方法以及装置


[0001]本说明书实施例涉及计算机
,特别涉及一种模型量化方法。

技术介绍

[0002]人工智能(artificial intelligence,AI)是利用数字计算机或者数字计算机控制的机器模拟、延伸和扩展人的智能,感知环境、获取知识并使用知识获得最佳结果的理论、方法、技术及应用系统。换句话说,人工智能是计算机科学的一个分支,它企图了解智能的实质,并生产出一种新的能以人类智能相似的方式做出反应的智能机器。人工智能也就是研究各种智能机器的设计原理与实现方法,使机器具有感知、推理与决策的功能。人工智能领域的研究包括机器人,自然语言处理,计算机视觉,决策与推理,人机交互,推荐与技索,基础理论等。
[0003]神经网络模型应用广泛,通过对神经网络模型中的算子进行模型量化,即对算子的参数的量化和对输入数据的量化,可以将浮点数的运算转换为对定点数的运算,获得模型大小、推理速度和功耗等多方面的收益。根据算子的数据范围,确定算子的量化参数,能够提高量化后的算子的数据处理结果的精度。但是,目前的这种处理方式,往往会导致整体的处理性能较差。

技术实现思路

[0004]有鉴于此,本说明书实施例提供了一种模型量化方法。本说明书一个或者多个实施例同时涉及一种模型量化装置,一种计算设备,一种计算机可读存储介质以及一种计算机程序,以解决现有技术中存在的技术缺陷。
[0005]根据本说明书实施例的第一方面,提供了一种模型量化方法,包括:
[0006]接收针对初始任务处理模型提交的模型量化请求;
[0007]根据所述初始任务处理模型对应的初始数据精度,对以比特数来表达的第一张量按所述比特数的不同组成部分进行拆分,得到所述第一张量的至少两个部分,所述第一张量包括训练数据的第一张量和模型参数的第一张量;
[0008]根据所述模型量化请求中包含的量化精度,对所述至少两个部分分别进行量化调整,生成符合所述量化精度对应比特数的第二张量,其中,所述量化调整包括:对至少一个所述部分的值缩小并对至少另一个所述部分的值相应放大以使所述第二张量满足所述初始数据精度;
[0009]利用所述第二张量,生成目标任务处理模型。
[0010]根据本说明书实施例的第二方面,提供了一种模型量化装置,包括:
[0011]接收模块,被配置为接收针对初始任务处理模型提交的模型量化请求;
[0012]拆分模块,被配置为根据所述初始任务处理模型对应的初始数据精度,对以比特数来表达的第一张量按所述比特数的不同组成部分进行拆分,得到所述第一张量的至少两个部分,所述第一张量包括训练数据的第一张量和模型参数的第一张量;
[0013]调整模块,被配置为根据所述模型量化请求中包含的量化精度,对所述至少两个部分分别进行量化调整,生成符合所述量化精度对应比特数的第二张量,其中,所述量化调整包括:对至少一个所述部分的值缩小并对至少另一个所述部分的值相应放大以使所述第二张量满足所述初始数据精度;
[0014]生成模块,被配置为利用所述第二张量,生成目标任务处理模型。
[0015]根据本说明书实施例的第三方面,提供了一种计算设备,包括:
[0016]存储器和处理器;
[0017]所述存储器用于存储计算机可执行指令,所述处理器用于执行所述计算机可执行指令实现任意一项所述模型量化方法的步骤。
[0018]根据本说明书实施例的第四方面,提供了一种计算机可读存储介质,其存储有计算机可执行指令,该指令被处理器执行时实现任意一项所述模型量化方法的步骤。
[0019]根据本说明书实施例的第五方面,提供了一种计算机程序,其中,当所述计算机程序在计算机中执行时,令计算机执行上述模型量化方法的步骤。
[0020]本说明书一个实施例通过接收针对初始任务处理模型提交的模型量化请求,根据所述初始任务处理模型对应的初始数据精度,对以比特数来表达的第一张量按所述比特数的不同组成部分进行拆分,得到所述第一张量的至少两个部分,所述第一张量包括训练数据的第一张量和模型参数的第一张量,根据所述模型量化请求中包含的量化精度,对所述至少两个部分分别进行量化调整,生成符合所述量化精度对应比特数的第二张量,其中,所述量化调整包括:对至少一个所述部分的值缩小并对至少另一个所述部分的值相应放大以使所述第二张量满足所述初始数据精度,利用所述第二张量,生成目标任务处理模型。
[0021]本说明书实施例通过按照量化精度,对初始数据精度的训练数据和模型参数进行量化调整,并利用训练数据对应的量化结果对初始任务处理模型进行训练,从而实现对模型参数的调整,即通过采用低精度的训练数据进行模型训练,在能够保证训练结果的准确度的同时,有利于提升任务处理模型的任务处理性能。
附图说明
[0022]图1是本说明书一个实施例提供的一种模型量化过程的示意图;
[0023]图2是本说明书一个实施例提供的一种模型量化方法的流程图;
[0024]图3a是本说明书一个实施例提供的一种模型量化方法的示意图;
[0025]图3b是本说明书一个实施例提供的一种量化的具体实现过程的示意图;
[0026]图4是本说明书一个实施例提供的一种模型量化方法的处理过程流程图;
[0027]图5是本说明书一个实施例提供的一种模型量化装置的结构示意图;
[0028]图6是本说明书一个实施例提供的一种计算设备的结构框图。
具体实施方式
[0029]在下面的描述中阐述了很多具体细节以便于充分理解本说明书。但是本说明书能够以很多不同于在此描述的其它方式来实施,本领域技术人员可以在不违背本说明书内涵的情况下做类似推广,因此本说明书不受下面公开的具体实施的限制。
[0030]在本说明书一个或多个实施例中使用的术语是仅仅出于描述特定实施例的目的,
而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本说明书一个或多个实施例中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0031]应当理解,尽管在本说明书一个或多个实施例中可能采用术语第一、第二等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一也可以被称为第二,类似地,第二也可以被称为第一。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或“当
……
时”或“响应于确定”。
[0032]首先,对本说明书一个或多个实施例涉及的名词术语进行解释。
[0033]FP8:8bit浮点数,其中1bit为符号位,剩余的7bit为mantissa(尾数位)+exponent(指数位)。
[0034]FP1本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种模型量化方法,包括:接收针对初始任务处理模型提交的模型量化请求;根据所述初始任务处理模型对应的初始数据精度,对以比特数来表达的第一张量按所述比特数的不同组成部分进行拆分,得到所述第一张量的至少两个部分,所述第一张量包括训练数据的第一张量和模型参数的第一张量;根据所述模型量化请求中包含的量化精度,对所述至少两个部分分别进行量化调整,生成符合所述量化精度对应比特数的第二张量,其中,所述量化调整包括:对至少一个所述部分的值缩小并对至少另一个所述部分的值相应放大以使所述第二张量满足所述初始数据精度;利用所述第二张量,生成目标任务处理模型。2.根据权利要求1所述的模型量化方法,所述初始数据精度与所述量化精度对应的数据类型相同,所述初始数据精度对应的比特数大于所述量化精度对应的量化比特数;相应地,所述根据所述初始任务处理模型对应的初始数据精度,对以比特数来表达的第一张量按所述比特数的不同组成部分进行拆分,得到所述第一张量的至少两个部分,包括:根据所述初始任务处理模型对应的初始数据精度,确定以比特数来表达的第一张量对应的数据结构,其中,所述数据结构包括至少两个组成部分;根据所述数据结构对所述第一张量的至少两个组成部分进行拆分,生成所述第一张量的至少两个部分。3.根据权利要求2所述的模型量化方法,所述数据结构由符号位、尾数位、基数以及指数位构成;相应地,所述根据所述数据结构对所述第一张量的至少两个组成部分进行拆分,生成所述第一张量的至少两个部分,包括:将所述第一张量中指数位对应的数据拆分为第一部分,并将所述第一张量中尾数位对应的数据拆分为第二部分。4.根据权利要求3所述的模型量化方法,所述第二张量的数据结构由符号位、尾数位、基数以及指数位构成;相应地,所述根据所述模型量化请求中包含的量化精度,对所述第一张量的至少两个部分分别进行量化调整,生成符合所述量化精度对应比特数的第二张量,包括:根据所述量化精度对应的比特数,确定第二张量中指数位对应的预设数据阈值;判断所述第一部分对应的值是否大于所述预设数据阈值;若是,则将所述预设数据阈值作为第二张量中指数位对应的数据;根据所述第一部分及所述预设数据阈值,对所述第二部分进行量化处理,生成第二张量中尾数位对应的数据。5.根据权利要求4所述的模型量化方法,若所述第一部分对应的值小于等于所述预设数据阈值,则所述方法还包括:将所述第一部分作为第二张量中指数位对应的数据,并将所述第二部分作为第二张量中尾数位对应的数据,以基于所述第一部分及所述第二部分生成第二张量。6.根据权利要求5所述的模型量化方法,所述根据所述第一部分及所述预设数据阈值,
对所述第二部分进行量化处理,包括:确定所述第一部分对应的值与所述预设数据阈值间的差值,并基于所述差值及所述基数,对所述第二部分进行量化处理,其中,所述初始数据精度对应的基数与所述量化精度对应...

【专利技术属性】
技术研发人员:康瑞鹏游亮龙欣
申请(专利权)人:阿里云计算有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1