数据处理的方法、装置及电子设备制造方法及图纸

技术编号:37396826 阅读:16 留言:0更新日期:2023-04-30 09:24
提供了一种数据处理的方法、装置及电子设备。该数据处理的方法包括:接收端侧设备的定点输入数据;对定点输入数据进行反量化,得到反量化后的数据;将反量化后的数据输入端侧设备部署的量化模型,得到第一计算结果;根据端侧设备存储的查找表,得到第二计算结果,查找表用于构建量化模型的映射关系;根据第一计算结果和第二计算结果,确定查找表的误差。本申请实施例有助于准确衡量查找表的误差,简化精度评估的复杂度,提高模型在端侧设备运行的准确性。确性。确性。

【技术实现步骤摘要】
数据处理的方法、装置及电子设备


[0001]本申请实施例涉及数据处理
,并且更为具体地,涉及一种数据处理的方法、装置及电子设备。

技术介绍

[0002]越宽越深越大的模型往往精度越高,对计算资源要求越高,而现在模型应用越来越倾向于从云端部署到端侧设备。在涉及非线性函数的模型计算中,受限于端侧设备或嵌入式设备的计算资源,通常采用模型量化进行优化。直接使用模型量化计算较为复杂,端侧设备通常采用查找表以简化模型计算。因此,查找表的精度将直接影响到模型最终计算结果的精度,如果没有准确衡量查找表的误差,将不能保证模型在端侧设备的运行准确性。

技术实现思路

[0003]本申请实施例提供了一种数据处理的方法、装置及电子设备,下面对本申请实施例的各个方面进行介绍。
[0004]第一方面,提供一种数据处理的方法,包括:接收端侧设备的定点输入数据;对所述定点输入数据进行反量化,得到反量化后的数据;将所述反量化后的数据输入所述端侧设备部署的量化模型,得到第一计算结果;根据所述端侧设备存储的查找表,得到第二计算结果,所述查找表用于构建所述量化模型的映射关系;根据所述第一计算结果和所述第二计算结果,确定所述查找表的误差。
[0005]第二方面,提供一种数据处理的装置,包括:接收模块,用于接收端侧设备的定点输入数据;反量化模块,用于对所述定点输入数据进行反量化,得到反量化后的数据;第一计算模块,用于将所述反量化后的数据输入所述端侧设备部署的量化模型,得到第一计算结果;第二计算模块,用于根据所述端侧设备存储的查找表,得到第二计算结果,所述查找表用于构建所述量化模型的映射关系;确定模块,用于根据所述第一计算结果和所述第二计算结果,确定所述查找表的误差。
[0006]第三方面,提供一种电子设备,包括:存储器,用于存储计算机程序;处理器,用于执行所述计算机程序,以执行如第一方面所述的方法。
[0007]第四方面,提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序用于执行如第一方面所述的方法。
[0008]本申请实施例将端侧设备的定点输入数据经查找表的查询计算结果与经原量化模型计算得到的基准数据作比较,进而确定查找表的误差。本申请实施例有助于准确衡量查找表的误差,简化精度评估的复杂度,提高模型在端侧设备运行的准确性。
附图说明
[0009]图1是一种模型计算的流程示意图。
[0010]图2是神经网络处理器中模型计算的流程示意图。
[0011]图3是采用查找表的模型计算的流程示意图。
[0012]图4是一种曲线分段线性拟合的示意图。
[0013]图5是本申请实施例提供的曲线非均匀分段线性拟合的示意图。
[0014]图6是查找表与原始模型的误差来源的示意图。
[0015]图7是本申请实施例提供的数据处理的方法的流程示意图。
[0016]图8是图7方法的几项误差评估的流程示意图。
[0017]图9是一种查询查找表的流程示意图。
[0018]图10是本申请实施例提供的数据处理的装置的结构示意图。
[0019]图11是本申请实施例提供的电子设备的结构示意图。
具体实施方式
[0020]下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请的一部分实施例,而不是全部的实施例。
[0021]越宽越深越大的模型往往比越窄越浅越小的模型精度要高,同时越宽越深越大的模型对计算资源的要求更高,而现在模型应用越来越倾向于从云端部署到端侧设备。受限于端侧设备的计算资源,需要考虑设备存储空间(storage)、内存(memory)大小、运行功耗(power)及时延性(latency)等问题,特别是在端侧设备和嵌入式设备等资源受限的应用场景中更加需要进行优化。为此,模型量化应运而生。
[0022]模型量化是将浮点存储(运算)转换为整型存储(运算)的一种模型压缩技术。例如将深度神经网络的权值、激活值等从高精度转化成低精度的操作过程,比如将32位浮点数转化成8位整型数,同时期望转换后的模型准确率与转化前相近。
[0023]模型量化具有诸多优点:1)减小模型尺寸,如8位整型量化可减少75%的模型大小。2)减少存储空间,在边缘侧设备存储空间不足时更具有意义。3)易于在线升级,模型更小意味着更加容易传输。4)减少内存耗用,更小的模型大小意味着不需要更多的内存。5)加快推理速度,整型运算比浮点型运算更快,访问一次32位浮点型可以访问四次8位整型。6)减少设备功耗,内存耗用少,推理速度快,自然减少了设备功耗。7)支持微处理器,有些微处理器属于8位的,低功耗运行浮点运算速度慢,需要进行8位量化。
[0024]图1是一种模型计算的流程示意图。如图1所示,模型计算涉及量化和反量化,该模型计算的过程可以包括步骤S110至步骤S150,下面对这些步骤进行详细的说明。
[0025]在步骤S110,定点输入数据。
[0026]定点是指表示一个数值时,小数点之后的位数是固定的,有时候小数点之前的位数也是固定的。用浮点表示时,小数点的位置不是固定的,可以根据有效位数而浮动。例如,采用统一小数点位置规则的定点表示法可以表示123.45、1234.56等数值,而浮点表示法还可以表示1.234567、0.00001234567等数值。因此,浮点可以表示的值范围比定点要大得多,浮点并且能够表示非常小的数和非常大的数。
[0027]将浮点数进行处理为定点数后,数据精度的小数中,小数部分可能不精确,超出精度会四舍五入,但是整数部分是精确的。定点数也可以为整型数。
[0028]在步骤S120,反量化处理。反量化是量化的反过程。例如一些模型计算中需要将一定范围内数据映射为另一范围的数据。例如,神经网络模型中将16bit的整型数值归一化处
理,转换为0.0

1.0之间的32bit浮点数,以满足节点对输入数据的范围要求。
[0029]在步骤S130,进行浮点域计算。如涉及指数函数、正切函数等计算,得到浮点域的计算结果。
[0030]在步骤S140,对步骤S130得到的浮点域的计算结果进行量化处理,转换为原映射关系对应的结果。
[0031]在步骤S150,定点输出数据。以要求的精度定点输出数据。
[0032]在一些模型应用中,不仅涉及数值的量化,还涉及非线性函数等复杂函数的处理,如神经网络中的激活函数计算等。
[0033]以神经网络模型的计算为例进行说明。神经网络模型包括多个节点(或神经元),每个节点代表一种特定的输出函数,称为激励函数或激活函数。其中一些节点的函数类型为线性函数,即该节点的输入数据及与输出数据的关系为线性关系。纯粹的线性组合并不能够解决更为复杂的问题,而一些节点的函数类型为非线性激活函数,以使得两个节点中的前一个节点的输出值为非线性关系及限定在一定的范围内。例如,在两个节点间可以设本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种数据处理的方法,其特征在于,包括:接收端侧设备的定点输入数据;对所述定点输入数据进行反量化,得到反量化后的数据;将所述反量化后的数据输入所述端侧设备部署的量化模型,得到第一计算结果;根据所述端侧设备存储的查找表,得到第二计算结果,所述查找表用于构建所述量化模型的映射关系;根据所述第一计算结果和所述第二计算结果,确定所述查找表的误差。2.根据权利要求1所述的方法,其特征在于,所述根据所述第一计算结果和所述第二计算结果,确定所述查找表的误差,包括:对所述第一计算结果进行量化,得到第三计算结果;根据所述第二计算结果和所述第三计算结果,计算所述查找表在整型域的误差。3.根据权利要求1所述的方法,其特征在于,所述根据所述第一计算结果和所述第二计算结果,确定所述查找表的误差,包括:对所述第二计算结果进行反量化,得到第四计算结果;根据所述第一计算结果和所述第四计算结果,计算所述查找表在浮点域的误差。4.根据权利要求1所述的方法,其特征在于,所述方法还包括:将所述反量化后的数据输入所述查找表中的拟合参数,得到第五计算结果;根据所述第一计算结果和所述第五计算结果,计算所述查找表的拟合误差。5.一种数据处理的装置,其特征在于,包括:接收模块,用于接收端侧设备的定点输入数据;反量化模块,用于对所述定点输入数据进行反量化,得到反量化后的数据;第一计算模块,用于将所...

【专利技术属性】
技术研发人员:罗杰姜坤
申请(专利权)人:哲库科技上海有限公司
类型:发明
国别省市:

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

1