极智AI | 谈谈非线性激活函数的量化方式

本文涉及的产品
视觉智能开放平台,视频资源包5000点
视觉智能开放平台,图像资源包5000点
视觉智能开放平台,分割抠图1万点
简介: 本文主要聊一聊深度学习模型量化中对激活函数的处理方式。

本文主要聊一聊深度学习模型量化中对激活函数的处理方式。

之前已经写过几篇关于模型量化的文章:《【模型推理】谈谈几种量化策略:MinMax、KLD、ADMM、EQ》、《【模型推理】谈谈模型量化组织方式》,里面对一些常用的量化算法及量化的组织方式进行了一些介绍,有兴趣的同学可以查阅。这里主要说一下模型中的激活函数特别是非线性激活函数的量化方式。

RELU 函数比较特殊,在 Conv 后跟着 RELU 后,一般会进行融合量化,其中 RELU 这种分段线性函数可以用 clip 函数截断处理进行量化,但是有许多激活函数是非线性的,无法进行截断处理,那么非线性激活函数该如何量化呢?其实非线性激活函数在很多框架中是不会进行量化的,若非要量化,可以采用查表法、泰勒展开法。


1、查表法

查表法的思路在运算性能低或者没有专门的非线性函数指令的单板机上常常被使用。对于神经网络中非线性激活函数的量化中查表法该如何使用呢?

任何一个非线性激活函数在进行量化时,都可以用如下数学表达式进行等效:

上述式子中,很多情况下 f() 这个函数是无法彻底用整型运算代替的,而查表法的思想是基于输入 qx 在被量化后为 int8 类型,其值域为有限集合[-2^7, 2^7-1],因此,用查表代替运算时,我们可以预先算好任何 qx 所对应的量化值:

实际推理过程中,我们预先计算好的表其长度为 256,假设表的第 128 位数的指针为 Y128,那么取出经过非线性函数的量化值是个很简单的取址操作,如下所示:

以下分别是 sigmoid 和 mish 激活函数经过模拟出来的浮点数,其输入分布为在 [-4, 4] 的平均分布时使用 KL 散度量化算法进行量化后的曲线图:


2、泰勒展开

对可导函数在某点 x0 进行泰勒展开,该函数在该点必须是无限可导的。那么其展开式如下:

将量化公式代入上述式子,可得到如下的量化等效式:

这样就实现了使用泰勒展开方法对非线性激活函数进行量化,但是可想而知,这种通过这样方法来进行量化的方法缺陷很多,其中最为严重就是量化精度误差与运算耗时,所以这种量化方式不一定适合实际的部署。


以上聊了一下深度学习模型中的非线性激活函数的量化方法,有问题欢迎讨论。


logo_show.gif


相关文章
|
14天前
|
机器学习/深度学习 存储 人工智能
【AI系统】感知量化训练 QAT
本文介绍感知量化训练(QAT)流程,旨在减少神经网络从FP32量化至INT8时的精度损失。通过在模型中插入伪量化节点(FakeQuant)模拟量化误差,并在训练中最小化这些误差,使模型适应量化环境。文章还探讨了伪量化节点的作用、正向与反向传播处理、TensorRT中的QAT模型高效推理,以及QAT与PTQ的对比,提供了实践技巧,如从良好校准的PTQ模型开始、采用余弦退火学习率计划等。
53 2
【AI系统】感知量化训练 QAT
|
14天前
|
机器学习/深度学习 存储 人工智能
【AI系统】训练后量化与部署
本文详细介绍了训练后量化技术,涵盖动态和静态量化方法,旨在将模型权重和激活从浮点数转换为整数,以优化模型大小和推理速度。通过KL散度等校准方法和量化粒度控制,文章探讨了如何平衡模型精度与性能,同时提供了端侧量化推理部署的具体实现步骤和技术技巧。
40 1
【AI系统】训练后量化与部署
|
3月前
|
机器学习/深度学习 人工智能 开发框架
智能ai量化高频策略交易软件、现货合约跟单模式开发技术规则
该项目涵盖智能AI量化高频策略交易软件及现货合约跟单模式开发,融合人工智能、量化交易与软件工程。软件开发包括需求分析、技术选型、系统构建、测试部署及运维;跟单模式则涉及功能定义、策略开发、交易执行、终端设计与市场推广,确保系统高效稳定运行。
|
6月前
|
存储 人工智能 数据挖掘
AI大模型量化
AI大模型量化
142 0
|
7月前
|
机器学习/深度学习 人工智能 算法
【AI 初识】激活函数在神经网络中的作用是什么?
【5月更文挑战第2天】【AI 初识】激活函数在神经网络中的作用是什么?
|
7月前
|
机器学习/深度学习 人工智能 关系型数据库
南京大学提出量化特征蒸馏方法QFD | 完美结合量化与蒸馏,让AI落地更进一步!!!
南京大学提出量化特征蒸馏方法QFD | 完美结合量化与蒸馏,让AI落地更进一步!!!
218 0
|
7月前
|
机器学习/深度学习 人工智能 算法
极智AI | 谈谈多通道img2col的实现
大家好,我是极智视界,本文来谈谈 多通道img2col的实现。
170 1
|
7月前
|
人工智能 JSON API
极智AI | 三谈昇腾CANN量化
大家好,我是极智视界,本文介绍一下 三谈昇腾CANN量化。
106 1
|
7月前
|
人工智能 API Python
极智AI | 再谈昇腾CANN量化
大家好,我是极智视界,本文介绍一下 再谈昇腾CANN量化。
158 1
|
7月前
|
人工智能 自然语言处理 算法
极智AI | TensorRT API构建模型推理流程
大家好,我是极智视界,本文介绍一下 TensorRT API 构建模型推理流程。
529 1

热门文章

最新文章

下一篇
DataWorks