逼近量化训练?块重修技术打造离线量化新极限

模型量化技术可以有效加速推理,已经成为人工智能芯片的标配,并在工业落地中广泛应用。离线量化(Post-Training Quantization)不需要耦合训练流程,利用成本和时间成本低,往往作为生产量化模型的首选方式,但其可调整空间有限,因此面临更大的准确度挑战,尤其是在一些特殊场景和极端要求下,不得不进一步引入更为复杂的在线量化(Quantization Aware Training)流程挽救,而这极大增加了量化模型生产的复杂度。如何在享受离线量化便捷高效的同时,在有限的调整“夹缝”中提升其成果上限,成为进一步打破技术红线的关键。在ICLR2021上,商汤科技研究院Spring工具链团队、高性能计算团队和成都电子科技大学顾实老师团队合作提出了块重修技术BRECQ,重新审视量化模型的优化粒度,首次将离线量化在4bit上的成果提升到在线量化的水平,相比在线量化可以节省大于200倍的生产时间,BRECQ在多种搜集和任务上普遍取得了业界最佳成果,打造了离线量化的新极限。

论文链接:

https://openreview.net/pdf?id=POWv6hDd9XH

代码开源地址:

https://github.com/yhhhli/BRECQ

逼近量化训练?块重修技术打造离线量化新极限

动机与背景

模型量化将浮点输入和参数映射为定点数,利用硬件的整型指令加速算子推理。作为一种通用的模型压缩和加速方式,已经广泛应用于各种计算机视觉任务。目前的工业级量化生产主要需要解决三个成绩:

真的能快:量化点对齐硬件的量化位置,考虑部署常用的折叠BN等操作。保持精度:在一些极限要求和特殊场景下仍能保持与浮点模型成果的一致性。高效生产:不要在浮点模型生产的基础之上额外增添过多时间和过于复杂的流程。

这三个成绩自然的引出了对生产量化模型方式的辩证思考,选择离线量化还是在线量化?

表1 离线量化(PTQ)与在线量化(QAT)的对比

算法位置

所需数据

时间

上手复杂度

能力上限

离线量化

贴近部署

少量校准集

10-100张

几分钟-10分钟

低,几乎一个命令行

能解决8bit的绝大部分成绩

在线量化

贴近训练

大量训练数据

完整训练集合

几小时甚至几天

高,需要一定程度侵入训练代码

解决8bit的hard-case和更低比特

由上表可以看出,离线量化在更贴合硬件部署的位置,更容易做硬件的对齐,不需要耦合训练过程,只需要很少的数据、很短的时间和很简单的命令行调用,即可完成量化模型的生产,从“天性上”就更适合量化模型的工业级落地,而其唯一的缺陷就是面临更大的精度挑战,面对一些8bit的难点成绩或者更低比特成绩时,有更大的准确度损失。那么离线量化是否能尽可能接近在线量化的成果呢?

法子

针对这个成绩,本文重新审视了离线量化的优化粒度,并尝试从理论视角分析已有方式存在的成绩。

最早期的量化工作主要关注在量化本身的偏差上,并通过如下方式建模量化偏差:

逼近量化训练?块重修技术打造离线量化新极限其中逼近量化训练?块重修技术打造离线量化新极限代表浮点权重,逼近量化训练?块重修技术打造离线量化新极限代表量化权重。然而直观上来说仅考虑量化本身的偏差其实是不够的,因为这个偏差会随着神经搜集的计算流程逐渐累积,这也是Bias Correction[1]一类的法子能够有效的原因。因此很直观的是想到以更大的优化粒度寻找更好的量化参数。Intel的LAPQ[2]即是这样做的,不过它采用了一些坐标下降系列的优化法子。直到ICML2020上,高通的AdaRound[3]一鸣惊人,提出除了量化参数,权重也是可以在离线量化场景中被优化的,优化的空间主要在于上下取整。作者在文中提出了一种推断损失函数的法子,即利用二阶泰勒展开去计算损失函数的近似:

逼近量化训练?块重修技术打造离线量化新极限

这里逼近量化训练?块重修技术打造离线量化新极限代表量化权重后产生的扰动,g和H分别代表梯度向量和Hessian矩阵(二阶梯度)。因为在离线量化中,全精度模型已经训练到收敛,因此梯度可以近似等于0。但是推断全部Hessian矩阵是非常困难的,因为矩阵的维度是逼近量化训练?块重修技术打造离线量化新极限,N是参数量,存下一个Hessian矩阵将需要TB级别的容量空间。为了推断Hessian矩阵,[3]假设H是层间独立的,即矩阵是层-对角化的(任何两层之间的二阶导数均为0)。之后经过一些推导,得到的结论是只需要对每一层的输入进行重修:

逼近量化训练?块重修技术打造离线量化新极限

其中是全精度的第l层输入,逼近量化训练?块重修技术打造离线量化新极限则是量化搜集的第l层输入。在重修过程中,只需要几百张训练图片(无需label标注)就能显著提升量化模型的成果。

AdaRound的法子确实取得了很好的成果,但是重新思考其分析过程会发现,它一方面想考虑整网的任务损失,一方面又推导到了逐层优化,这里存在一个优化粒度选择的成绩,逐层优化忽略了层间依赖关系,显然是损失了信息的。因此本文对这个成绩进行了重新思考:

离线量化的难点主要在于两个方面(1)如何正确的获取到Task loss信息,并且使其降低(2)如何利用有限的数据集在短时间内校准出一个量化模型。对于成绩(1)本文认为用层对角化的Hessian推断会丢失过多的信息,因此需要寻找到一个更精确地推断方案。定义 为所有层权重,那么二阶导数可以计算为:

逼近量化训练?块重修技术打造离线量化新极限

其中,逼近量化训练?块重修技术打造离线量化新极限为搜集输入。当搜集已经收敛时,假设Hessian矩阵是半正定的,因此可以利用高斯-牛顿矩阵来推断Hessian,即忽略掉上式中的第一项。接下来,可以用矩阵表达式来表示该矩阵:

逼近量化训练?块重修技术打造离线量化新极限

将上式中的H替换到逼近量化训练?块重修技术打造离线量化新极限中,并且利用泰勒一节逼近逼近量化训练?块重修技术打造离线量化新极限,可以将逼近量化训练?块重修技术打造离线量化新极限替换为逼近量化训练?块重修技术打造离线量化新极限 。这意味着我们可以重修搜集的最终输入层的偏差(和搜集蒸馏非常相似)来校准量化模型。

但是当利用整个搜集重修之后,发现成果并不如预期。这是因为在搜集蒸馏中可以用整个数据集来优化模型,但是离线量化中,只能利用几百张图片做校准,在整网重修过程中,校准集的偏差的确变得比逐层重修更低,但是更容易出现过拟合现象。而在逐层重修中,量化模型的每一层输入都强制与全精度模型保持相同输入,相当于引入了一个逐层的正则化,从而具有更高的泛化能力。但其成绩是无法从更全局的视角评估量化偏差,不能保证task loss的一致性。

因此本文希望尝试找到一个折中的法子来重修量化模型,定义了4个重修粒度,分别是逐层重修,逐块重修,逐阶段重修,整网重修。其中,块(Block)定义为组成模型的一个基本模块,通常只有三四层。比如在残差搜集ResNet-50中,块被定义为BottleneckBlock,由两个1×1和一个3×3的卷积层加上一个残差分支(residual branch)组成。而阶段(Stage)则是由几个块组成,在每个阶段,卷积搜集的感受野将会被下采样,从而提取更高维度的特征。在ResNet中,每个搜集都有4个阶段,例如ResNet-34每个阶段含有的块数量分别为3,4,6,3。不同优化粒度之间的关系见下图。

逼近量化训练?块重修技术打造离线量化新极限图1 优化粒度

本文在这四个重修粒度之间进行了选择,发现块重修在大量搜集结构以及图像分类和检测任务中都是最优的选择。

同时,为了进一步提升离线量化上限,本文也探索了离线量化的混合精度成绩。在以往的文献中,混合精度往往都是层间独立的,即用不同的比特数求出每层的敏感度,再将敏感度加起来得到整个搜集的敏感度。可以用如下公式来表示,c是比特向量,包含了每层的比特数,H(c)是硬件评估函数,测量了模型的规模,或者延迟等硬件参数。

逼近量化训练?块重修技术打造离线量化新极限

延续前文的观点,层与层之间不是独立的,因此利用块敏感度度量,将每个块内所有的比特排列的敏感度测量出来,块之间的敏感度则是认为独立可直接相加。

实行

本文首先做了消融实行,考证四个不同的重修粒度之间的区别。在ImageNet数据集,ResNet-18和MobilenetV2上面做了实行,结果如下:

表2 消融实行:不同优化粒度的离线量化成果

逼近量化训练?块重修技术打造离线量化新极限

可以发现,利用逐块重修的成果是最好的。

为了更广泛的考证各种搜集结构和不同的表现,本文在ImageNet数据集上做了不同比特数下的离线量化实行,且利用了大量的搜集结构包括ResNet, RegNet, MobileNetV2, MNasNet进行考证。实行结果如下:

表3 图像分类离线量化成果(只量化权重)

逼近量化训练?块重修技术打造离线量化新极限表4 图像分类离线量化成果(权重和激活值都量化)

逼近量化训练?块重修技术打造离线量化新极限可以看出,在分类的4比特量化任务上,BRECQ在成果方面实现了非常大的跨越,以往的法子量化到2W4A一般都是崩的,而本文的法子首次实现了可接受的精度,提升了50%-60%的准确率。

同时我们在MS COCO上面做了目标检测的离线量化实行:

表5 目标检测离线量化成果

逼近量化训练?块重修技术打造离线量化新极限

可以看出,块重修技术在目标检测上也取得了显著的优势。

如前文所说,引入BRECQ之后,离线量化在一些更极限的比特数下首次实现了接近QAT的水平,具体成果见下表:

表6 与QAT法子的对比

逼近量化训练?块重修技术打造离线量化新极限

在4比特下,BRECQ甚至可以打败一些在线量化法子的准确率,同时享受到大概240-250倍的时间优势。这对于降低量化模型生产成本来说是一个极大的好消息,为离线量化技术的进一步规模应用打开了新的空间!

通过进一步引入混合比特,可以将离线量化的精度持续提升,为了考证这一点,我们在ARM和FPGA上进行了考证,同时考虑硬件延迟/模型体积和准确率,利用遗传算法寻找最优解:

逼近量化训练?块重修技术打造离线量化新极限

图2 ARM CPU混合比特结果

可以看出,引入混合比特之后,确实可以相比固定比特实现进一步的精度上限拉升。

总结

本文提出了一套块重修法子用于提升更加实用的离线量化的精度上限,通过寻找最优重修粒度,首次将离线量化的精度拉升到在线量化的水平,该法子有极高的实用性,在多种任务和模型结构上取得了稳定一致的成果提升!

作者介绍

论文共同第一作者李雨杭,耶鲁大学准博士生,主要研究方向为模型压缩与加速应用,包括模型量化、模型结构搜索、硬件加速以及神经拟态计算。以第一作者在ICLR、AAAI等会议上发表四篇论文。

论文共同第一作者龚睿昊,商汤科技高级研究员,主要工作方向为模型压缩与AI-System协同优化,包括模型量化稀疏、系统视角的模型结构推荐、神经搜集编译等。以第一/二作者在ICLR、CVPR、ICCV、PR等期刊会议上发表6篇论文,服务大量业务线量化模型落地。个人主页:https://xhplus.github.io/。

团队介绍

商汤研究院-Spring工具链团队致力于通过System+AI技术打造顶尖的深度学习核心引擎。开发的模型训练和模型部署工具链已服务于公司多个核心业务。团队在量化模型的在线/离线生产、部署对齐、标准工具等方向有着明确的技术规划。团队目前正在招聘模型量化/稀疏方向的系统算法研究员/实习生,欢迎感兴趣的小伙伴投递简历到 [email protected]

电子科技大学顾实教授,2017年入选国家特聘青年专家。2016年毕业于美国宾夕法尼亚大学,获应用数学与计算科学博士。2016-2017年在宾夕法尼亚大学医学院做博士后研究。主要研究领域为搜集神经科学、神经影像分析、类脑人工智能等,曾在Nature Communication, PNAS等顶尖期刊发表高水平论文。其团队在相关领域有广泛深入的研究,常年招硕士/博士生。

实行室主页:https://guslab.org/

参考文献:

[1] Markus Nagel, Mart van Baalen, Tijmen Blankevoort, and Max Welling. Data-free quantization through weight equalization and bias correction. In Proceedings of the IEEE International Conference on Computer Vision, pp. 1325–1334, 2019.

[2] Yury Nahshan, Brian Chmiel, Chaim Baskin, Evgenii Zheltonozhskii, Ron Banner, Alex M Bronstein, and Avi Mendelson. Loss aware post-training quantization. arXiv preprint arXiv:1911.07190, 2019.

[3] Markus Nagel, Rana Ali Amjad, Mart van Baalen, Christos Louizos, and Tijmen Blankevoort. Up or down? adaptive rounding for post-training quantization. arXiv preprint arXiv:2004.10568, 2020.

原创文章,作者:特邀精选,如若转载,请注明出处:https://www.iaiol.com/news/bi-jin-liang-hua-xun-lian-kuai-chong-xiu-ji-shu-da-zao-li/

(0)
上一篇 2021年 3月 25日 下午5:41
下一篇 2021年 3月 26日 下午3:42

相关推荐

  • 阿里 BladeDISC 深度进修编译器正式开源

    作者:朱凯 – 机器进修PAI团队 随着深度进修的不断发展,AI模型结构在快速演化,底层算计硬件技术更是层出不穷,对于广大开发者来说不仅要考虑如何在复杂多变的场景下有效的将算力发挥出来,还要应对算计框架的持续迭代。深度编译器就成了应对以上课题广受关注的技术方向,让用户仅需专注于上层模型开发,降低手工优化本能的人力开发成本,进一步压榨硬件本能空间。阿里云机器进修PAI开源了业内较早投入实际业务使用的静态shape深度进修编译器 BladeDISC,本文将详解 BladeDISC的设计原理和使用。BladeD

    2022年 3月 30日
  • 把轮子装在膝盖上,「机器羊」能走能滑、还载起了人和货

    四足机器人不一定是机器狗,也可能是「机器羊」。

    2022年 3月 29日
  • 支援6kW外放电,最快6.9s破百!吉利首款纯电皮卡起售价17.88万元

    昨日(11月9日),吉利旗下雷达新能源汽车发布首款产品雷达RD6,共推出启航版、创客版、悦享版、悦野版4款车型,售价为17.88万-26.88万元。雷达官方表示,目前购车的用户将会至本月至明年一季度内提车。现场,雷达还发布了其打造的国内首个原生纯电皮卡平台M.A.P。作为搭载该平台的首款车型,雷达RD6的百公里加快可达6.9s,最长续航为632km,并具有一系列智能化能力,配备智能座舱和12项L2+级智能驾驭帮助功用。此外,雷达还透露了他们后续车型的研发规划:未来他们还将推出中型纯电皮卡、中大型新能源皮卡、全尺寸纯

    2022年 11月 10日
  • 数学奥赛冠军都做不对的题,却被拿来考ML模型?GPT-3:我不行

    为了衡量机器学习模型的数学求解能力,来自 UC 伯克利和芝加哥大学的研究者提出了一个包含 12, 500 道数学比赛难题的新型数据集 MATH,以及帮助模型学习数学基础知识的预训练数据集 AMPS。研究发现,即使是大参数的 Transformer 模型准确率也很低。

    2021年 3月 16日
  • 吴恩达那场十万人观察的讲座,如今有了专项课程

    如果你看过那个一小时的演讲,而且觉得意犹未尽,这门课程可能适合你。

    2021年 5月 14日
  • 做研究无人咨询、与先生不交心,UNC助理熏陶两年教职挣扎史

    当助理熏陶是怎样一种体验?来自北卡罗来纳大学教堂山分校的Colin Raffel谈了谈他自己的感受。

    2022年 7月 5日
  • 解读阿里云PAI模型紧缩手艺落地实时挪动端智能应用

    随着挪动端AI应用摆设需求的日益增强,模型紧缩作为深度学习模型实现轻量化摆设的有用手段,在挪动端场景越来越受关注。尤其是剪枝、量化、权重稀疏化与网络结构搜索等算法政策,能够帮助减少深度模型端侧摆设时的资源消耗(Latency、Energy与Memory等),始终是学术界与工业界的发展焦点。阿里云机器学习PAI平台模型紧缩手艺,在端智能应用场景实现了端侧智能的快速赋能与应用落地。尤其在2020年阿里双十一期间,淘宝直播App的“一猜到底”语音交互游戏中,PAI模型紧缩手艺体现了关键作用。淘宝直播一猜到底背后的模型紧缩

    2021年 2月 18日
  • 数据驱动核保风控,AI促进健壮管制,健壮险市场迎来万亿蓝海

    健壮险作为我国调理保障体系的补充,同时也是缓解调理保障支付压力的重要组成部分。自国务院在2014年发布《关于加快发展商业健壮险的若干意见》,一系列政策密集发布,促进保障行业监管降级,并推动健壮险企业发展立异。伴随近年来大数据手艺与人工智能手艺的逐步成熟,健壮险行业开始走向数字化转型,进而实现智能化降级。其中调理大数据公司与保障公司开始合作,通过构建智能风控模型辅助保障机构走向数字化风控;健壮管制企业则通过开发智能利用,通过AIoT手艺、智能硬件、云计算等利用模式培养用户健壮管制习惯, 从多个维度降低理赔危害。此外,

    2021年 6月 25日
  • 知乎李大海对话阿里云贾扬清:透视AI使用难题与将来趋势

    “AI行业接下来可能有哪些落后?” “一线从业者如何看待其中的机会?”知乎合伙人、CTO李大海与阿里巴巴副总裁、阿里云智能高级研究员贾扬清亮相知乎直播,与网友分享了他们对AI时代下行业趋势、手艺使用、个人成长等多个层面的洞察和思考。

    2021年 8月 11日
  • 用技术致敬每一位妈妈,B站up主用AI复原李焕英老照片动态影像

    「从我有记忆开始,妈妈就是中年妇女的模样,所以我会忘记,她也曾是花季少女。」

    2021年 2月 23日

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注