(笔记)通过知识蒸馏和量化进行模型压缩MODEL COMPRESSION VIA DISTILLATION AND QUANTIZATION

(笔记)Model Compression via Distillation and Quantization

  • (笔记)Model Compression via Distillation and Quantization
    • 原文链接:
    • 代码:
    • 摘要
    • 算法一:加入知识蒸馏loss的量化训练
    • 算法二:训练量化集p
    • 效果

原文链接:

https://arxiv.org/abs/1802.05668

代码:

https://github.com/antspy/quantized_distillation

摘要

主要介绍了两种算法。
1)加入知识蒸馏loss的量化训练。
2)训练量化集p。

算法一:加入知识蒸馏loss的量化训练

有一个浮点模型w,一个量化模型w^q,用量化模型计算前向loss(加上知识蒸馏的loss),对w^q计算梯度,用以更新浮点模型。每次前向计算之前用更新的浮点模型更新量化模型。
(笔记)通过知识蒸馏和量化进行模型压缩MODEL COMPRESSION VIA DISTILLATION AND QUANTIZATION_第1张图片

算法二:训练量化集p

此方法适合非线性量化。量化函数的输入为浮点模型参数w和量化集合p。训练在于优化量化集合p。
由量化函数、浮点模型w和量化集合p可得量化模型w^q,量化模型做前向传播,对w^q求梯度,根据等式(6)求loss对p的梯度,更新p。
(笔记)通过知识蒸馏和量化进行模型压缩MODEL COMPRESSION VIA DISTILLATION AND QUANTIZATION_第2张图片
这里写图片描述

效果

最后用量化ResNet-18去学ResNet-34效果不好,于是采用更宽的ResNet-18,结果参数比ResNet-34多一倍多,bucket-size也用到了256个。
(笔记)通过知识蒸馏和量化进行模型压缩MODEL COMPRESSION VIA DISTILLATION AND QUANTIZATION_第3张图片
(笔记)通过知识蒸馏和量化进行模型压缩MODEL COMPRESSION VIA DISTILLATION AND QUANTIZATION_第4张图片
(笔记)通过知识蒸馏和量化进行模型压缩MODEL COMPRESSION VIA DISTILLATION AND QUANTIZATION_第5张图片
(笔记)通过知识蒸馏和量化进行模型压缩MODEL COMPRESSION VIA DISTILLATION AND QUANTIZATION_第6张图片
(笔记)通过知识蒸馏和量化进行模型压缩MODEL COMPRESSION VIA DISTILLATION AND QUANTIZATION_第7张图片
(笔记)通过知识蒸馏和量化进行模型压缩MODEL COMPRESSION VIA DISTILLATION AND QUANTIZATION_第8张图片

你可能感兴趣的:(深度学习量化)