摘要:
(本文首发于公众号,没事来逛逛) 今天讲一点量化训练中关于 STE (Straight Through Estimator) 的问题,同时介绍两种应对问题的方法:DSQ 和 QuantNoise。分别对应两篇论文:Differentiable Soft Quantization: Bridging 阅读全文
摘要:
(本文首发于公众号,没事来逛逛) 有读者让我讲一下 LSQ (Learned Step Size Quantization) 这篇论文,刚好我自己在实践中有用到,是一个挺实用的算法,因此这篇文章简单介绍一下。阅读这篇文章需要了解量化训练的基本过程,可以参考我之前的系列教程。 LSQ 是 IBM 在 阅读全文
摘要:
(本文首发于公众号,没事来逛逛) 前面两篇文章介绍 Data-Free Quantization,这篇文章准备用 pytorch 实现一遍 weight equalize 算法,并捋一下刚踩的新坑。 Weight Equalization 其实 pytorch 官方有一个 weight equali 阅读全文
摘要:
(本文首发于公众号,没事来逛逛) 上一篇文章介绍了高通 Data-Free Quantization 的基本思想,但我在代码实现的时候发现有个问题没有解决,因此这篇文章对前文打个补丁 (果然没有落实到代码层面都不能说自己看懂了论文)。 Depthwise Conv如何equalize 在前面的文章中 阅读全文
摘要:
(本文首发于公众号,没事来逛逛) 前面介绍了一些后训练量化的基本方法,从这篇文章开始我们来学习一些高阶操作。 首先登场的是高通提出的一篇论文:Data-Free Quantization Through Weight Equalization and Bias Correction。之所以介绍它是因 阅读全文
摘要:
(本文首发于公众号,没事来逛逛) 这篇文章简单聊聊后训练量化的一些常规操作。 一些基础知识 在此之前,还是需要先了解一下后训练量化 (下面简称 PTQ,Post-training Quantization) 是啥?具体细节这里就不展开了,不熟悉的读者欢迎看回我之前的文章 (神经网络量化入门--后训练 阅读全文
摘要:
(本文首发于公众号,没事来逛逛) 之前写的关于网络量化的文章都是基于 per-layer 实现的,最近有小伙伴询问关于 per-channel 量化的问题,我发现有些同学对这个东西存在一些误解,包括我以前也被 per-channel 的字面意义误导过,所以今天简单聊一下 per-channel 量化 阅读全文
摘要:
(本文首发于公众号,没事来逛逛) Pytorch1.8 发布后,官方推出一个 torch.fx 的工具包,可以动态地对 forward 流程进行跟踪,并构建出模型的图结构。这个新特性能带来什么功能呢?别的不说,就模型量化这一块,炼丹师们有福了。 其实早在三年前 pytorch1.3 发布的时候,官方 阅读全文
摘要:
本文首发于公众号 之前写过一系列网络量化相关的文章,它们都出自 Google 在 2018 年发表的一篇论文,目前也是 tflite 和 pytorch 等框架中通用的量化标准。不过,最近有读者在后台问我,说他看到的一些论文和我文章中的方法差别很大,被搞懵了。因此,今天想整理一下网络量化的发展脉络, 阅读全文
摘要:
本文首发于公众号 在之前的文章中提到过可以把 ReLU 合并到 Conv 中加速量化推理,当时只是用一个例子简单介绍一下过程,逻辑上存在一些漏洞。本文打算从数学上深入剖析一下其中的原理,并进一步扩展到其他激活函数,看看在网络量化中激活函数一般是怎么处理的。 温故知新 为了简单起见,假设我们是量化到 阅读全文