基于自适应动态移位的8位整型全量化推理方法及装置制造方法及图纸

技术编号:26378655 阅读:32 留言:0更新日期:2020-11-19 23:47
本发明专利技术提供了一种基于自适应动态移位的8位整型全量化推理方法及装置,该方法包括:获取训练后的浮点模型;获取所述浮点模型中的每个通道的权重;通过KLD计算所述浮点模型中每一层的激活值;基于所述激活值,针对所述浮点模型的跳层和卷积通道打乱操作,确定转换因子,并预存所有定点化值和移位值;根据量化表获取浮点模型的定点的权重scale,并基于该权重,输出整型结果。本发明专利技术实施例提供的方法,按通道全定点量化大大减少了浮点转换到定点的误差,在推理过程中不涉及浮点操作,全定点移位操作,可以验证模型全量化后结果误差是否符合人工智能芯片需求,且自适应动态移位,避免固定移位带来的溢出误差,中间值由int32优化成int8进一步减少片上内存。

【技术实现步骤摘要】
基于自适应动态移位的8位整型全量化推理方法及装置
本专利技术书一个或多个实施例涉及卷积神经网络(ConvolutionalNeuralNetworks,CNNs)
,尤其涉及一种基于自适应动态移位的8位整型全量化推理方法及装置。
技术介绍
本部分旨在为权利要求书中陈述的本专利技术的实施方式提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。CNNs在图像分类、目标检测、人脸识别等领域取得了优越的成果,但由于网络结构的复杂性和计算延时,在存储资源和计算资源相对不足的嵌入式平台实现CNNs的实时前向推理,需要在控制精度损失的条件下,压缩神经网络的模型大小以及提升模型计算效率现有技术对神经网络每一层进行均匀量化,对于权重和激活值进行量化,然后进行定点乘加,达到加速效果。该技术存在以下问题:第一、激活值采用均匀量化虽然计算量小,但是量化误差很大,几乎不可用;第二、权重按层量化,对于多通道卷积层误差远大于按通道量化;第三、现有技术在推理中依然需要进行浮点计算,在人工智能芯片AIC本文档来自技高网...

【技术保护点】
1.一种基于自适应动态移位的8位整型全量化推理方法,其特征在于,所述方法包括:/n获取训练后的浮点模型;/n按通道计算所述浮点模型中的每一层的权重;/n计算所述浮点模型中每一层的激活值;/n基于所述权重和所述激活值,针对所述浮点模型的跳层和卷积通道打乱操作,确定转换因子,并预存所有定点化值和移位值至量化表;/n基于所述量化表,将每一层接受int8类型量化输入并生成int8量化输出。/n

【技术特征摘要】
1.一种基于自适应动态移位的8位整型全量化推理方法,其特征在于,所述方法包括:
获取训练后的浮点模型;
按通道计算所述浮点模型中的每一层的权重;
计算所述浮点模型中每一层的激活值;
基于所述权重和所述激活值,针对所述浮点模型的跳层和卷积通道打乱操作,确定转换因子,并预存所有定点化值和移位值至量化表;
基于所述量化表,将每一层接受int8类型量化输入并生成int8量化输出。


2.根据权利要求1所述的方法,其特征在于,通过如下公式按通道计算所述浮点模型中的每一层的权重:
127/xmax
其中,xmax为该通道权重的最大值。


3.根据权利要求1所述的方法,其特征在于,所述计算所述浮点模型中每一层的激活值,具体为:
准备校准数据集;
根据所述校准数据集初始化激活值分布;
对分布归一化处理,得到最小kl散度对应的threshold;
基于所述threshold,求得所述浮点模型中每一层的激活值。


4.根据权利要求3所述的方法,其特征在于,所述归一化处理具体为:
设置分块数target_bins为128,对[target_bins,2048]的每一个threshold做以下处理:
将[threshold,2048]的分布相加为threshold_sum,并将原始distribution[threshold]赋值为threshold_sum,将新的分布称为P矩阵;
划分采样间隔为threshold/target_bins,对原始分布进行重新采样,维度和P矩阵相同,称之为Q矩阵;
根据公式得到最小kl散度对应的threshold;其中,p为目标分布;q为去匹配的分布;DKL(p||q)表示KL散度,衡量p和q两个分布的相似性,也称之为q相对于p的信息损耗。


5.根据权利要求3所述的方法,其特征在于,所述基于所述threshold,求得所述浮点模型中每一层的激活值...

【专利技术属性】
技术研发人员:谢远东
申请(专利权)人:云知声智能科技股份有限公司厦门云知芯智能科技有限公司
类型:发明
国别省市:北京;11

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

1