ICLR2022の量子化論文

# 概要

この記事では、[ICLR2022](https://iclr.cc/)の量子化論文をまとめます。[^1]
[^1]: 画像や数式は論文から引用しています。


# F8Net: Fixed-Point 8-bit Only Multiplication for Network Quantization

https://arxiv.org/abs/2202.05239

概要：F8Net. INT8量子化で、掛け算でINT32を使わず8bitで行う。
新規性：誤差をわずかに抑える固定小数点フォーマットを提案し、[PACT](https://arxiv.org/abs/1805.06085)を使った学習方法を提案した。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2448931/33be19f1-98a9-7302-ee75-08dbd15861bf.png)
キモ：
固定小数点の分母のパラメータFCを、値の分散からこのように決める。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2448931/beeafe43-450a-738e-c730-bb871e5d616d.png)
PACT(クリッピングしながら量子化学習)で学習する。
評価：ResNet, MobileNetでPACT, LSQ, HAWQ-V3などと比較した。


# 8-bit Optimizers via Block-wise Quantization

https://arxiv.org/abs/2110.02861

日本語解説：https://github.com/arXivTimes/arXivTimes/issues/2094

概要：状態を8bitで保持できるオプティマイザ。メモリ量削減や学習の高速化に寄与する。
研究機関：Facebook
新規性：状態を8bitで保持するオプティマイザは初。PyTorchで2行で使えるようにした。
キモ：Block-wize quantization. ブロックごとに量子化する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2448931/73ea3927-0735-128e-9ef7-316dc611b080.png)
評価：GLUE (RoBERTa), ImageNet (ResNet, MoCo v2)で実験した。

# Toward Efficient Low-Precision Training: Data Format Optimization and Hysteresis Quantization

https://openreview.net/forum?id=3HJOA-1hb0e

概要：低精度学習のためのデータフォーマット最適化
新規性：量子化学習のために、(1)量子化フォーマットの最適化方法 (2)歴史的情報も使うヒストリシス量子化 を提案した。
キモ：
(1) 指数部と仮数部をレイヤ毎に最適化する。
(2) 重みが増えるか減るかで丸めモードを変える。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2448931/0f4b4814-eff7-775a-32e5-13a66d49568f.png)
評価：ResNet, MobileNet, Transformer等で実験した。


# SQuant: On-the-Fly Data-Free Quantization via Diagonal Hessian Approximation

https://arxiv.org/abs/2202.07471

概要：SQuant. 高速・高精度なデータなし量子化 (Data-Free Quantization)
研究機関：Microsoft, Alibaba
新規性：従来のデータなし量子化より精度が良い。
キモ：量子化誤差を最小にするために重みのヘッシアンで最適化する。途中に表れる$E[x^l {x^l}^T]$を$E+K+C$（それぞれ、対角項、幅$K$の項、チャネル毎の項）で近似する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2448931/3714b3d3-b939-f173-1ad0-b25060173629.png)
評価：ResNet, ShuffleNet等で8bitで比較した。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2448931/6cd2e77e-9310-5272-0f24-63993660a3fe.png)


# Information Bottleneck: Exact Analysis of (Quantized) Neural Networks

https://arxiv.org/abs/2106.12912

概要：DNNを分析する方法。Information Bottleneck (IB)に関する。Information bottleneck principle は、DNNでは、レイヤの入出力の相互情報量で計算され、オーバーパラメータなDNNがなぜ汎化性能が高いかを説明するのに使われる。
新規性：IBの理論は、Floatの32bitのビンによる量子化誤差に起因するのではないかという意見に対して反論した。
キモ：DNNを量子化してIBを計算してもFloatと大体形が同じことから、量子化ビンの影響はないと主張した。
| Float | INT8 |
|:-:|:-:|
| ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2448931/5fa07d33-0c45-606c-097a-1f7dff5c58d4.png) | ![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2448931/59ad81f1-75e4-939e-9db0-ec56eca6a0ad.png) |


# QDrop: Randomly Dropping Quantization for Extremely Low-bit Post-Training Quantization

https://arxiv.org/abs/2203.05740

概要：QDROP. 超低ビット量子化の改善
新規性：2bit等の超低ビットだとPTQがうまくいかない傾向にある課題に対して、量子化に対するactivationの摂動の影響を始めて調べた。
それに基づいて、ランダムに量子化をやめるQDROPを提案した。
キモ：Activationの量子化誤差の摂動をランダムに落としながら量子化学習する。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2448931/dd748817-533b-b88e-f5f4-0005bf5b9e68.png)
評価：ImageNet, COCO, GLUEで実験した。