
摘要
在推理阶段使用低精度运算的深度网络相比高精度替代方案具有功耗和空间优势,但需要克服随着精度降低而保持高准确率的挑战。本文提出了一种名为“学习步长量化”(Learned Step Size Quantization)的方法,该方法在使用多种架构的模型时,当权重和激活值被量化为2位、3位或4位精度时,在ImageNet数据集上实现了迄今为止最高的准确率,并且能够训练达到全精度基线准确率的3位模型。我们的方法通过改进量化器自身的配置方式,建立在现有用于学习量化网络中权重的方法之上。具体而言,我们引入了一种新颖的方法来估计并调整每个权重和激活层量化器步长的任务损失梯度,从而使其可以与其他网络参数一同进行学习。该方法可以根据特定系统所需的精度级别灵活工作,并且只需要对现有的训练代码进行简单的修改即可实现。
代码仓库
jiyoonkm/columnquant
pytorch
GitHub 中提及
ZouJiu1/LSQplus
pytorch
GitHub 中提及
Adlik/model_optimizer
pytorch
GitHub 中提及
zhutmost/lsq-net
pytorch
GitHub 中提及
Kelvinyu1117/LSQ-implementation
pytorch
GitHub 中提及
Shunli-Wang/Tiny-YOLO-LSQ
pytorch
GitHub 中提及
hustzxd/LSQuantization
pytorch
DeadAt0m/LSQ-PyTorch
pytorch
GitHub 中提及
DeadAt0m/LSQFakeQuantize-PyTorch
pytorch
GitHub 中提及
基准测试
| 基准 | 方法 | 指标 |
|---|---|---|
| model-compression-on-imagenet | ADLIK-MO-ResNet50+W3A4 | Top-1: 77.34 |
| model-compression-on-imagenet | ADLIK-MO-ResNet50+W4A4 | Top-1: 77.878 |
| quantization-on-imagenet | ResNet50-W4A4 (paper) | Activation bits: 4 Top-1 Accuracy (%): 76.7 Weight bits: 4 |
| quantization-on-imagenet | ADLIK-MO-ResNet50-W4A4 | Activation bits: 4 Top-1 Accuracy (%): 77.878 Weight bits: 4 |
| quantization-on-imagenet | ADLIK-MO-ResNet50-W3A4 | Activation bits: 4 Top-1 Accuracy (%): 77.34 Weight bits: 3 |