基于pytorch量化感知训练(mnist分类)--浮点训练vs多bit后量化vs多bit量化感知训练效果对比

本文对比了基于PyTorch的浮点训练、多bit后量化和多bit量化感知训练在MNIST分类任务上的效果。量化训练在bit=2、3时表现突出,但bit=1时因信息损失大而难以训练。学习率对低比特量化训练影响显著,且量化训练的部署比后训练量化复杂,目前缺乏统一标准,给模型部署带来挑战。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

基于pytorch量化感知训练–浮点训练vs多bit后量化vs多bit量化感知训练效果对比

代码下载地址:下载地址
灰色线是量化训练,橙色线是后训练量化,可以看到,在 bit = 2、3 的时候,量化训练能带来很明显的提升。
在这里插入图片描述
在这里插入图片描述

实验分析

在 bit = 1 的时候,我发现量化训练回传的梯度为 0,训练基本失败了。这是因为 bit = 1 的时候,整个网络已经退化成一个二值网络了,而低比特量化训练本身不是一件容易的事情,虽然我们前面用 STE 解决了梯度的问题,但由于低比特会使得网络的信息损失巨大,因此通常的训练方式很难起到作用。

另外,量化训练本身存在很多 trick,在这个实验中我发现,学习率对结果的影响非常显著,尤其是低比特量化的时候,学习率太高容易导致梯度变为 0,导致量化训练完全不起作用「一度以为代码出错」。

量化训练部署

前面说过,量化训练虽

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

踟蹰横渡口,彳亍上滩舟。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值