【算法】8比特数值也能训练模型?商汤提训练加速新算法丨CVPR 2020( 四 )
本文插图
其中 , g是梯度 ,
本文插图
是量化后的梯度 。 2、误差敏感的学习率调节:在错误的方向上尽量少更新根据上述的理论分析 , 降低学习率能够有助于模型量化训练的收敛 。 针对学习率的调整 , 本文提出误差敏感的学习率调节方法 , 使用学习率系数对原学习率进行调整 , 学习率系数与余弦距离
本文插图
负相关 , 学习率系数
本文插图
定义如下:
本文插图
其中
本文插图
和
本文插图
是超参数 , 用于控制衰减程度和调节下界 。 3、周期更新:降低由于统计而带来的额外计算耗时
由于量化操作需要的统计数据范围和计算截断值等操作十分耗时 , 为了减少这些操作的时间开销 , 本文采用周期更新的方式 , 周期性地统计数据范围和计算截断值 。 通过周期更新的方法能够有效地提高减少因量化引入的额外时间开销 。 下表为ResNet50在ImageNet数据集上不同周期的单次训练时间统计表 。
本文插图
4、量化卷积融合:减少访存次数、节省cuda kernel launch次数
通过将量化和反量化操作融合入卷积计算的CUDA核函数里 , 可以减少一次数据的访存 , 有效地减少量化和反量化操作的时间开销 。
本文插图
本文插图
实验结果
图像分类任务:本文在CIFAR10和ImageNet等图像分类数据集进行INT8训练实验 。 从下表结果中可以看出 , 在大多数网络结构中均取得了比现有最好方法更优的精度 , 并且首次在MobileNet、Inception等网络上进行量化训练实验 , 精度损失也在1.5%以内 。
本文插图
目标检测任务:同时 , 本文也首次尝试在PASCAL和COCO等目标检测数据集上进行INT8训练实验 , 精度损失也在2%以内 。
本文插图
已有的少量探究梯度量化的论文[4]均未报告算法在实际训练任务中的真实加速性能 , 为了最大限度将方法实用化 , 本文在 GeForce GTX1080TI显卡上编写并优化了用于支持INT8训练的卷积前向和后向计算核心 。 实测结果表明 , 使用INT8卷积计算的前向和后向过程相比于浮点计算有明显的加速 , 其中前向过程平均加速1.63倍 , 后向过程平均加速1.94倍 。 如下图所示:
本文插图
同时 , 本文在实际训练过程中进行了完整的端到端测试 , 可以看到 , INT8训练可以将ResNet50的一轮训练过程从0.360秒降低到0.293秒 , 整体训练过程提速了22% 。
论文地址:
推荐阅读
- #大华股份#大华股份AI荣获双目立体匹配算法评测全球排名第一
- ■1580枚比特币!欧洲能源巨头EDP集团惨遭黑客勒索
- [比特币]最新研究:比特币闪电网络上的钱包余额可实现去匿名化,但并非坏事
- 『大比特商务网』可伸缩柔性电路的连接
- 比特币■比特币秘史:那些对比特币改观的人
- ■矿池巨头比特大陆与币印诉讼还有第二幕:究竟是谁动了谁的奶酪?
- 「奥迪」奥迪也拼了!新车比特斯拉酷炫,长超4米9+6块液晶屏,爆408马力
- 「比特币」比特币的火爆绝非偶然,一文看懂比特币的前世今生
- [学点EXCEL不加班]EXCEL批量删除非数值数据,这么多方法你用哪一个?
- #IT168#联芸科技发布新算法,QLC闪存迎来春天
