对模型量化的简单的总览

本文概述了模型量化的重要性和面临的问题,包括前向传播的精度下降、参数范围选择、量化类型选择等。后向传播的难点在于量化造成的梯度消失,解决方法如STE。文中还探讨了量化框架的三个阶段,并介绍了当前的研究工作,如三元量化、PACT、非均匀量化等,以及提高量化网络精度的策略,如模型宽度提升、动态精度学习和集成方法。未来的工作重点在于平衡计算效率与精度。
摘要由CSDN通过智能技术生成

本文总结了《哈佛大学在读博士董鑫:模型量化—更小更快更强》(https://www.bilibili.com/video/av76554696)的内容。

首先他简单介绍了下量化的必要性,这个其实随便哪篇文章的介绍里都会提及。

随后他介绍了量化目前的问题:

在前向传播时,由于量化使得参数精度下降,于是模型的表达能力下降了。这在一些简单的分类任务中表现得不太明显,甚至有时候量化还会增加分类精度。但当模型精度极度小,或面对复杂问题及数据集较复杂时,量化就会导致严重的精度下降。

另一个问题是,在量化时,根据所选bit数的不同,我们实际上是将不同范围内的参数统一到同一个值上。当参数的范围越大,所给定的bit数越小,这个范围就越大。如何选取合适的参数范围以及bit数,这也是一个实际问题。

前向传播的最后一个问题是,均匀量化和非均匀量化的分歧。均匀与非均匀指的是量化的范围是否一致。后者因为更加灵活,因此会带来更好的精度表现。但在硬件上的实施就相对难些。

谈完了前向传播,就轮到了后向传播。后向传播的问题是一目了然的:因为现有的方法都对参数和激活值做了量化,但这两个量化函数往往是阶梯函数,它们的梯度几乎在处处都是0,因此对后向传播造成了困难。

解决这个方法的一个现有的方法是STE(Straight Through Estimator)。它的思想是,假装量化没有发生,网络将输入值未经处理就传递到后方。这样在反向传播时,在实际的量化函数处的导数值就变成了1。这样做会产生两个问题:一是由于这样的估计比较粗糙,因此在训练时,loss curve会波动;二是由于量化函数实际上和y=x这条直线并不一致,而我们用后者的梯度来代替前者,这就会导致梯度的不匹配(也就

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值