前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >AI大模型落地不远了!首个全量化Vision Transformer的方法FQ-ViT(附源代码)

AI大模型落地不远了!首个全量化Vision Transformer的方法FQ-ViT(附源代码)

作者头像
计算机视觉研究院
发布于 2023-08-24 00:38:56
发布于 2023-08-24 00:38:56
6690
举报

论文地址:https://arxiv.org/pdf/2111.13824.pdf

项目代码:https://github.com/megvii-research/FQ-ViT

计算机视觉研究院专栏

Column of Computer Vision Institute

将算法网络进行量化和模型转换可以显着降低模型推理的复杂性,并在实际部署中得到了广泛的应用。然而,大多数现有的量化方法主要是针对卷积神经网络开发的,并且在完全量化的vision Transformer上应用时会出现严重的掉点。今天我们就分享一个新技术,实现高精度量化的Vit部署。AI大模型落地使用离我们还远吗?

01

总 述

Transformer 是现在火热的AIGC预训练大模型的基础,而ViT(Vision Transformer)是真正意义上将自然语言处理领域的Transformer带到了视觉领域。从Transformer的发展历程就可以看出,从Transformer的提出到将Transformer应用到视觉,其实中间蛰伏了三年的时间。而从将Transformer应用到视觉领域(ViT)到AIGC的火爆也差不多用了两三年。其实AIGC的火爆,从2022年下旬就开始有一些苗条,那时就逐渐有一些AIGC好玩的算法放出来,而到现在,AIGC好玩的项目真是层出不穷。

随着近两年来对视觉Transformer模型(ViT)的深入研究,ViT的表达能力不断提升,并已经在大部分视觉基础任务 (分类,检测,分割等) 上实现了大幅度的性能突破。然而,很多实际应用场景对模型实时推理的能力要求较高,但大部分轻量化ViT仍无法在多个部署场景 (GPU,CPU,ONNX,移动端等)达到与轻量级CNN(如MobileNet) 相媲美的速度。

因此,重新审视了ViT的2个专属模块,并发现了退化原因如下:

  • 研究者发现LayerNorm输入的通道间变化严重,有些通道范围甚至超过中值的40倍。传统方法无法处理如此大的激活波动,这将导致很大的量化误差
  • 还发现注意力图的值具有极端的不均匀分布,大多数值聚集在0~0.01之间,少数高注意力值接近1

基于以上分析,研究者提出了Power-of-Two Factor(PTF)来量化LayerNorm的输入。通过这种方式,量化误差大大降低,并且由于Bit-Shift算子,整体计算效率与分层量化的计算效率相同。此外还提出了Log Int Softmax(LIS),它为小值提供了更高的量化分辨率,并为Softmax提供了更有效的整数推理。结合这些方法,本文首次实现了全量化Vision Transformer的训练后量化。

02

新框架

下面的这两张图表明,与CNN相比,视觉转换器中存在严重的通道间变化,这导致了分层量化的不可接受的量化误差。

首先解释网络量化符号。假设量化位宽为b,量化器Q(X|b)可以公式化为将浮点数X∈R映射到最近量化仓的函数:

Uniform Quantization

Uniform Quantization在大多数硬件平台上都得到了很好的支持。它的量化器Q(X|b)可以定义为:

其中s(标度)和zp(零点)是由X的下界l和上界u确定的量化参数,它们通常是最小值和最大值。

Log2 Quantization

Log2 Quantization将量化过程从线性变化转换为指数变化。其量化器Q(X|b)可定义为:

为了实现完全量化的视觉变换器,研究者对所有模块进行量化,包括Conv、Linear、MatMul、LayerNorm、Softmax等。特别是,对Conv、线性和MatMul模块使用均匀的Min-Max量化,对LayerNor和Softmax使用以下方法。

Power-of-Two Factor for LayerNorm Quantization

在推理过程中,LayerNorm计算每个正向步骤中的统计量µX,σX,并对输入X进行归一化。然后,仿射参数γ,β将归一化输入重新缩放为另一个学习分布。

如刚开始解释分析一样,与神经网络中常用的BatchNorm不同,LayerNorm由于其动态计算特性,无法折叠到前一层,因此必须单独量化它。然而,在对其应用训练后量化时观察到显著的性能下降。查看LayerNorm层的输入,发现存在严重的通道间变化。

研究者提出了一种简单而有效的层范数量化方法,即Power-of-Two Factor(PTF)。PTF的核心思想是为不同的信道配备不同的因子,而不是不同的量化参数。给定量化位宽b,输入活动X∈RB×L×C,逐层量化参数s,zp∈R1,以及PTFα∈NC,则量化活动XQ可以公式化为:

其中部分参数如下:

Softmax quantized with Log-Int-Softmax (LIS)

注意图的存储和计算是变压器结构的瓶颈,因此研究者希望将其量化到极低的位宽(例如4位)。然而,如果直接实现4位均匀量化,则会出现严重的精度退化。研究者观察到分布集中在Softmax输出的一个相当小的值上,而只有少数异常值具有接近1的较大值。基于以下可视化,对于具有密集分布的小值区间,Log2保留了比均匀更多的量化区间。

将Log2量化与i-exp(i-BERT提出的指数函数的多项式近似)相结合,提出了LIS,这是一个仅整数、更快、低功耗的Softmax。

整个过程如下所示。

03

实验&可视化

Comparison of the top-1 accuracy with state-of-the-art methods on ImageNet dataset

将注意力图可视化,以查看均匀量化和LIS之间的差异,如上图所示。当两者都使用8位时,均匀量化集中在高激活区域,而LIS在低激活区域保留更多纹理,这保留了注意力图的更多相对秩。在8位的情况下,这种差异不会产生太大的差异。然而,当量化到较低的位宽时,如6位和4位的情况所示,均匀量化会急剧退化,甚至使所有关注区域失效。相反,LIS仍然表现出类似于8位的可接受性能。

Channel-wise minimum and maximum values of Vision Transformers and ResNets

转载请联系本公众号获得授权

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-24,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 计算机视觉战队 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
CVPR 2023|EfficientViT:让ViT更高效部署实现实时推理(附源码)
论文地址:https://arxiv.org/pdf/2305.07027.pdf
计算机视觉研究院
2023/08/24
1.2K0
CVPR 2023|EfficientViT:让ViT更高效部署实现实时推理(附源码)
Trio-ViT | 专门针对高效 ViTs 的卷积 Transformer混合架构的加速器!
感谢自注意力机制强大的全局信息提取能力,Transformers在各种自然语言处理(NLP)任务中取得了巨大成功。这一成功催生了视觉Transformers(ViTs)[4, 5]的快速发展,它们在计算机视觉领域受到了越来越多的关注,并且与基于卷积的对应物相比显示出优越的性能。
集智书童公众号
2024/05/17
5230
Trio-ViT | 专门针对高效 ViTs 的卷积 Transformer混合架构的加速器!
南开大学提出 ADFQ-ViT,解决 ViT 在低比特量化时显著准确性损失的问题 !
视觉 Transformer (ViTs)[(7)] 在各种计算机视觉任务中,如图像分类、目标检测和实例分割,都取得了卓越的性能。尽管如此,与之前常见的视觉基础网络如卷积神经网络(CNNs)[(18)] 相比,ViTs 由于其大量的参数,需要显著更多的内存和计算资源。因此,在资源受限的环境下或实时推理的约束下部署ViTs仍然是一个挑战。
未来先知
2024/08/08
4910
南开大学提出 ADFQ-ViT,解决 ViT 在低比特量化时显著准确性损失的问题 !
NeurIPS 2021 Transformer部署难?北大&华为诺亚提出Vision Transformer的后训练量化方法
本文分享 NeurIPS 2021 论文『Post-Training Quantization for Vision Transformer』,由北大&华为诺亚联合提出 Vision Transformer 的后训练量化方法,解决 Transformer 部署难的问题。
CV君
2021/10/27
1.6K0
加速AGI落地!使用4-bit整数训练Transformer,比FP16快2.2倍,提速35.1%
论文地址:https://arxiv.org/pdf/2306.11987.pdf
计算机视觉研究院
2023/08/24
3330
加速AGI落地!使用4-bit整数训练Transformer,比FP16快2.2倍,提速35.1%
CAS-ViT:引领高效移动视觉应用的革新
在视觉转换器(Vision Transformers, ViTs)领域,随着技术的不断发展,研究者们不断探索如何在保持高效性能的同时,降低模型的计算复杂度,以满足资源受限场景(如移动设备)的需求。近期,一种名为CAS-ViT(卷积加性自注意力视觉转换器)的模型横空出世,它以其出色的效率和性能平衡,被誉为“最快的ViT模型”,吸引了广泛的关注。
AI浩
2024/10/22
2340
CAS-ViT:引领高效移动视觉应用的革新
华为诺亚Transformer后量化技术:效率百倍提升,视觉&NLP性能不减
大型预训练模型在计算机视觉和自然语言处理中展现了巨大的潜力,但是模型大、参数多的问题也给它们的商业化落地带来了很大挑战。模型压缩技术是当前的研究热点,模型量化是其中的一个重要分支。
机器之心
2022/02/23
8850
华为诺亚Transformer后量化技术:效率百倍提升,视觉&NLP性能不减
Backbone创新 | 中科大联合百度提出全新Transformer Backbone
最近,Vision Transformer(ViT)在各种计算机视觉任务上取得了显著的性能提升,例如图像分类、目标检测和语义分割。同时,广泛认为,由于Token-Level多Head自注意力(MHSA)模块带来的二次计算复杂度,Vision Transformer的计算成本较高。这种模型复杂性使得视觉Transformer在实际应用中的推理速度是一个关Key 因素时,相对于卷积神经网络(CNN)处于劣势,特别是与高效的CNN变体相比。
集智书童公众号
2023/09/04
4970
Backbone创新 | 中科大联合百度提出全新Transformer Backbone
华为诺亚极简网络,靠13层就拿下83%精度(附源代码)
论文地址:https://arxiv.org/pdf/2305.12972.pdf
计算机视觉研究院
2023/08/24
4190
华为诺亚极简网络,靠13层就拿下83%精度(附源代码)
What?UFO! | UFO-ViT用X-Norm让你的Transformer模型回归线性复杂度
Vision transformers已成为计算机视觉任务的重要模型之一。虽然它们优于早期的卷积网络,但使用传统的自注意力算法时,其复杂度是
集智书童公众号
2021/10/25
1.1K0
What?UFO! | UFO-ViT用X-Norm让你的Transformer模型回归线性复杂度
北京大学提出 PTQ4ViT | 双均匀量化+Hessian引导度量,推进Transformer模型落地
自注意力模块是Transformer的基本构建块,用于捕捉全局信息。受到Transformer在自然语言处理(NLP)任务上的成功启发,研究人员将自注意力模块引入了计算机视觉。他们用自注意力模块替代了卷积神经网络(CNNs)中的卷积层,将这些网络称为视觉Transformer。视觉Transformer在许多计算机视觉任务上与CNNs相媲美,有巨大的潜力用于各种应用。
集智书童公众号
2023/11/01
1.4K0
北京大学提出 PTQ4ViT | 双均匀量化+Hessian引导度量,推进Transformer模型落地
人脸技术:不清楚人照片修复成高质量高清晰图像框架(附源代码下载)
关注并星标 从此不迷路 计算机视觉研究院 公众号ID|ComputerVisionGzq 学习群|扫码在主页获取加入方式 论文地址:https://arxiv.org/pdf/2201.06374.pdf 代码地址:https://github.com/wzhouxiff/RestoreFormer.git 计算机视觉研究院专栏 作者:Edison_G Blind face恢复是从未知退化中恢复高质量的人脸图像。由于人脸图像包含丰富的上下文信息,研究者提出了一种方法,RestoreFormer,它
计算机视觉研究院
2022/07/18
6110
人脸技术:不清楚人照片修复成高质量高清晰图像框架(附源代码下载)
SLAB:华为开源,通过线性注意力和PRepBN提升Transformer效率 | ICML 2024
论文: SLAB: Efficient Transformers with Simplified Linear Attention and Progressive Re-parameterized Batch Normalization
VincentLee
2024/08/22
1840
SLAB:华为开源,通过线性注意力和PRepBN提升Transformer效率 | ICML 2024
Vision Transformer 必读系列之图像分类综述(三): MLP、ConvMixer 和架构分析
https://github.com/open-mmlab/awesome-vit
OpenMMLab 官方账号
2022/02/28
3.1K0
Vision Transformer 必读系列之图像分类综述(三): MLP、ConvMixer 和架构分析
VIT Vision Transformer | 先从PyTorch代码了解
【前言】:看代码的时候,也许会不理解VIT中各种组件的含义,但是这个文章的目的是了解其实现。在之后看论文的时候,可以做到心中有数,而不是一片茫然。
机器学习炼丹术
2021/03/04
2.3K0
北航提出 PTQ4SAM | 一种高效的分割任何模型训练后量化框架,实现了无损精度,速度提高了3.9 倍 !
具有卓越的零样本能力和用户友好的灵活提示技术,Segment Anything Model(SAM)最近已成为一系列通用视觉应用中的新型基础模型,包括图像分割、目标检测、跟踪和其他下游任务。然而,SAM中的 Transformer 架构需要密集的计算和内存占用,这阻碍了在资源受限的边缘设备上的实际部署。
AIGC 先锋科技
2024/07/08
6390
北航提出  PTQ4SAM  |  一种高效的分割任何模型训练后量化框架,实现了无损精度,速度提高了3.9 倍 !
一文全览 | 全览iPhone 12就可以实时推理的移动端ViT
受Transformer模型在自然语言处理(NLP)应用中的成功启发,A.Dosovitskiy、Dosovitski等人介绍了用于计算机视觉(CV)应用的视觉Transformer(ViT)。视觉Transformer模型在ImageNet数据集上显示出77.9%至81.3%的Top-1准确率,并已用于许多下游图像识别任务,如分类、目标检测和分割。
集智书童公众号
2023/09/04
4040
一文全览 | 全览iPhone 12就可以实时推理的移动端ViT
真香!Vision Transformer 快速实现 Mnist 识别
引言:基于深度学习的方法在计算机视觉领域中最典型的应用就是卷积神经网络CNN。CNN中的数据表示方式是分层的,高层特征表示依赖于底层特征,由浅入深抽象地提取高级特征。CNN的核心是卷积核,具有平移不变性和局部敏感性等特点,可以捕捉局部的空间信息。
AI科技大本营
2022/04/05
1.6K0
真香!Vision Transformer 快速实现 Mnist 识别
Transformer可以不需要Softmax?Kakao提出了UFO-ViT,性能高,计算量还小
视觉Transformer已成为计算机视觉任务的重要模型之一。虽然它们优于之前的卷积神经网络,但其复杂度是与输入特征长度N呈二次关系。
CV君
2021/11/11
9860
Transformer可以不需要Softmax?Kakao提出了UFO-ViT,性能高,计算量还小
DVT:华为提出动态级联Vision Transformer,性能杠杠的 | NeurIPS 2021
论文: Not All Images are Worth 16x16 Words: Dynamic Transformers for Efficient Image Recognition
VincentLee
2024/07/03
1890
DVT:华为提出动态级联Vision Transformer,性能杠杠的 | NeurIPS 2021
推荐阅读
CVPR 2023|EfficientViT:让ViT更高效部署实现实时推理(附源码)
1.2K0
Trio-ViT | 专门针对高效 ViTs 的卷积 Transformer混合架构的加速器!
5230
南开大学提出 ADFQ-ViT,解决 ViT 在低比特量化时显著准确性损失的问题 !
4910
NeurIPS 2021 Transformer部署难?北大&华为诺亚提出Vision Transformer的后训练量化方法
1.6K0
加速AGI落地!使用4-bit整数训练Transformer,比FP16快2.2倍,提速35.1%
3330
CAS-ViT:引领高效移动视觉应用的革新
2340
华为诺亚Transformer后量化技术:效率百倍提升,视觉&NLP性能不减
8850
Backbone创新 | 中科大联合百度提出全新Transformer Backbone
4970
华为诺亚极简网络,靠13层就拿下83%精度(附源代码)
4190
What?UFO! | UFO-ViT用X-Norm让你的Transformer模型回归线性复杂度
1.1K0
北京大学提出 PTQ4ViT | 双均匀量化+Hessian引导度量,推进Transformer模型落地
1.4K0
人脸技术:不清楚人照片修复成高质量高清晰图像框架(附源代码下载)
6110
SLAB:华为开源,通过线性注意力和PRepBN提升Transformer效率 | ICML 2024
1840
Vision Transformer 必读系列之图像分类综述(三): MLP、ConvMixer 和架构分析
3.1K0
VIT Vision Transformer | 先从PyTorch代码了解
2.3K0
北航提出 PTQ4SAM | 一种高效的分割任何模型训练后量化框架,实现了无损精度,速度提高了3.9 倍 !
6390
一文全览 | 全览iPhone 12就可以实时推理的移动端ViT
4040
真香!Vision Transformer 快速实现 Mnist 识别
1.6K0
Transformer可以不需要Softmax?Kakao提出了UFO-ViT,性能高,计算量还小
9860
DVT:华为提出动态级联Vision Transformer,性能杠杠的 | NeurIPS 2021
1890
相关推荐
CVPR 2023|EfficientViT:让ViT更高效部署实现实时推理(附源码)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档