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

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

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

之前已经写过几篇关于模型量化的文章:《【模型推理】谈谈几种量化策略: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


目录
打赏
0
0
0
0
7
分享
相关文章
Qlib:华尔街颤抖!微软开源金融AI量化投资神器,助力智能投研
Qlib是微软亚洲研究院推出的开源AI量化投资平台,提供从数据处理、模型训练到组合管理的全流程支持,内置高性能数据基础设施和多种机器学习模型。
185 19
Qlib:华尔街颤抖!微软开源金融AI量化投资神器,助力智能投研
Scaling Law或将终结?哈佛MIT预警:低精度量化已无路可走,重磅研究掀翻AI圈
哈佛大学和麻省理工学院的研究人员最近发布了一项重磅研究,对Scaling Law在低精度量化中的应用提出严重质疑。研究表明,随着训练数据增加,低精度量化带来的性能损失也增大,且与模型大小无关。这挑战了通过增加规模提升性能的传统观点,提醒我们在追求效率时不能忽视性能损失。该研究结果在AI圈内引发广泛讨论,提示未来需探索其他方法来提高模型效率,如混合精度训练、模型压缩及新型硬件架构。论文地址:https://arxiv.org/pdf/2411.04330。
78 11
|
3月前
|
Scaling Laws终结,量化无用,AI大佬都在审视这篇论文
《Scaling Laws for Precision》论文提出“精度感知”的扩展理论,将精度纳入模型发展的核心考量,弥补了传统AI模型发展理论忽视精度的不足。研究发现低精度训练会降低模型的有效参数计数,影响性能,并预测了低精度训练和后训练量化带来的损失。作者通过大量实验验证了理论的可靠性和有效性,为计算资源有限情况下如何平衡模型规模和精度提供了新思路。然而,该研究也引发了关于精度与性能权衡复杂性的争议。
107 27
【AI系统】感知量化训练 QAT
本文介绍感知量化训练(QAT)流程,旨在减少神经网络从FP32量化至INT8时的精度损失。通过在模型中插入伪量化节点(FakeQuant)模拟量化误差,并在训练中最小化这些误差,使模型适应量化环境。文章还探讨了伪量化节点的作用、正向与反向传播处理、TensorRT中的QAT模型高效推理,以及QAT与PTQ的对比,提供了实践技巧,如从良好校准的PTQ模型开始、采用余弦退火学习率计划等。
203 2
【AI系统】感知量化训练 QAT
【AI系统】低比特量化原理
模型量化是将浮点数模型参数转化为低比特整数表示的技术,旨在减少模型大小、内存消耗及推理延迟,但会带来精度损失。本文介绍量化的基本原理、优势及挑战,涵盖量化训练、动态与静态离线量化等方法,并探讨线性与非线性量化、饱和与非饱和量化等技术细节。
178 2
【AI系统】低比特量化原理
【AI系统】训练后量化与部署
本文详细介绍了训练后量化技术,涵盖动态和静态量化方法,旨在将模型权重和激活从浮点数转换为整数,以优化模型大小和推理速度。通过KL散度等校准方法和量化粒度控制,文章探讨了如何平衡模型精度与性能,同时提供了端侧量化推理部署的具体实现步骤和技术技巧。
237 1
【AI系统】训练后量化与部署
智能ai量化高频策略交易软件、现货合约跟单模式开发技术规则
该项目涵盖智能AI量化高频策略交易软件及现货合约跟单模式开发,融合人工智能、量化交易与软件工程。软件开发包括需求分析、技术选型、系统构建、测试部署及运维;跟单模式则涉及功能定义、策略开发、交易执行、终端设计与市场推广,确保系统高效稳定运行。
【AI 初识】激活函数在神经网络中的作用是什么?
【5月更文挑战第2天】【AI 初识】激活函数在神经网络中的作用是什么?
南京大学提出量化特征蒸馏方法QFD | 完美结合量化与蒸馏,让AI落地更进一步!!!
南京大学提出量化特征蒸馏方法QFD | 完美结合量化与蒸馏,让AI落地更进一步!!!
288 0

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等