智能加速算法

1. 传统加速算法

设计了适合硬件实现的省内存的基于单元分割的连通域标记算法。通过硬件实现该算法,实现了世界最快速的基于高速视觉的多目标追踪识别系统,可根据硬件提取的目标特征值进行基于形状、色彩直方图、颜色的快速运动目标的识别及追踪。该系统可以实时运行在2000帧/秒,达到世界最先进水平。

2. AI加速算法

团队研发的高精度深度神经网络无数据量化方法,结合无数据场景的混合精度量化方法,无需任何数据即可达到与数据驱动的方法相当甚至更好的量化性能。并拓展无数据量化到多种视觉任务和模型结构,开发集成无数据量化通用一体化平台。

图1 无数据量化通用一体化平台

(1)HTQ:实现混合精度量化的多维最优权衡

混合精度量化,即更敏感的层保持更高的精度,可以实现神经网络的准确性和复杂性之间的权衡。同时,随着硬件社区的发展,越来越多的芯片都开始支持混合精度计算,如Apple A12仿生芯片和NVIDIA Turing GPU芯片,也为混合精度量化提供了广泛的应用前景。然而,混合精度的搜索空间随着层数的增加而呈指数级增长,使得蛮力方法对深度网络是不可行的。为了减少这个指数级的搜索空间,之前的工作使用Pareto边界或整数线性规划来选择每一层的位精度。然而,我们发现这些工作中的约束空间是不够的,导致次优的结果。在实践中,模型复杂度包括空间复杂度和时间复杂度,而这两者是弱相关的,因此仅仅使用一个作为约束条件是不全面的。除此之外,它们还需要手动设置约束条件,这使得它们只是伪自动的。
为了解决上述问题,我们提出了High-dimensional Trade-off Quantization(HTQ),如图2,它可以自动确定模型精度、空间复杂度和时间复杂度的高维空间中的最佳位精度,而不需要任何人工干预。具体来说,我们使用基于连接敏感性的显著性标准来表示量化后的精度扰动,其性能类似于Hessian信息,但可以快速计算(速度提高1000×以上)。然后,根据总扰动、模型大小和位操作(BOPs)的三维Pareto边界自动选择位精度,不需要人工约束。此外,HTQ允许对权重和激活进行联合优化,因此可以同时计算两者的位精度。与最先进的方法(如HAWQ-V3)相比,HTQ在图像分类和物体检测任务的各种模型架构上实现了更高的精度和更低的空间/时间复杂性。

图2 HTQ总览图。第1步:计算连接灵敏度,以衡量每层中权重和激活的重要性。第2步:计算量化网络的评价指标。第3步:生成ResNet18的三维Pareto边界。这里,三维图中的每个红点代表一个特定的位精度设置,包括权重和激活,蓝色和绿色曲线是二维Pareto边界,三角形代表自动确定的最佳权衡点。第四步:进行微调以恢复精度。

(2)DDAQ:双鉴别器无数据量化框架

Zhikai Li, Liping Ma, Xianlei Long, Junrui Xiao, and Qingyi Gu*, Dual-Discriminator Adversarial Framework for Data-Free Quantization, Neurocomputing (NEUCOM), 2022, 511: 67-77.

目前,几乎所有现有的量化方法都严重依赖原始训练数据集进行微调,而由于隐私和安全问题,这些数据集在许多实际场景中无法获取。为了解决这个问题,最近的工作提出了几种无数据量化方法,这些方法基于模型中的先验信息生成样本。然而,它们未能充分地利用先验信息,因此不能完全恢复真实数据的特征,也不能对量化后的模型提供有效的监督,导致性能不佳。
在本文中,我们提出了Dual-Discriminator Adversarial Quantization(DDAQ),这是一种新型的无数据量化框架,具有对抗性学习风格,能够有效地生成样本并学习量化模型,如图3所示。具体来说,我们在两个鉴别器指导下,采用一个生成器来产生有意义的和多样化的样本。两个鉴别器的目的分别是促进BN层分布的匹配和最大化全精度模型和量化模型之间的差异,如图4所示。此外,受混合精度量化的启发,即每层的重要性是不同的,我们在两个鉴别器引入了层的重要性,使我们能够更好地利用模型中的信息。随后,在全精度模型的监督下,用生成的样本训练量化的模型。我们针对不同的视觉任务,包括图像分类和物体检测,在不同的网络结构上对DDAQ进行了评估,实验结果表明DDAQ以良好的通用性超越了所有的基线方法,如图5所示。

图3 DDAQ的整体工作流程。训练过程以两阶段对抗性学习的方式进行。在第一阶段,生成器网络通过优化高斯噪声来合成虚假样本。两个鉴别器被用来指导生成器的训练,它们分别促进BN层分布匹配和模型差异最大化。在第二阶段,在全精度模型的监督下,利用生成的样本来训练量化模型。此外,我们在框架中引入了层重要性先验(平均Hessian迹),以增强鉴别器损失。
图4 微调期间ResNet-20在CIFAR-10上的训练损失和测试精度。两个鉴别器损失在对抗中减少,使得量化模型的准确性稳步提高。我们还将中间epoch的结果可视化(32×32的分辨率),显示出生成样本的有效性和语义的逐渐增加。
图5 CIFAR-10和ImageNet数据集上不同位精度的量化结果比较。(左):无微调;(右):微调。我们提出的DDAQ在任何位精度情况下都比SOTA方法好,从而证明了它的稳健性和通用性。

(3)CoLeQ:结合对比学习提升无数据量化性能

最近,无数据量化被广泛研究,因为它不访问原始数据集,可以解决广泛存在的数据隐私和安全问题。它的主要思想是根据全精度(FP)模型中的先验信息生成假数据,然后在FP模型的监督下用它们训练量化模型。量化性能在很大程度上依赖于生成数据的有效性,然而,现有的方法存在两个严重的问题:模式崩溃和灾难性遗忘,如图6所示,导致了非常显著的精度下降。
为此,我们提出 Contrastive Learning Quantization(CoLeQ),它通过对比学习实现了数据多样性的增强和旧知识的恢复,以解决上述问题,如图7所示。具体来说,我们在无数据量化中引入了MoCo范式,该范式可以维护一个编码特征的动态动量队列。对比学习的优化目标是通过促进生成的样本与前几批已经生成的样本的分离来提高数据多样性,从而缓解模式崩溃问题。此外,我们设计了一个捆绑权重的解码器,从队列中的编码特征中恢复以前的样本,而不需要额外的参数和训练,因此可以有效地防止灾难性的遗忘问题,如图8所示。为了评估CoLeQ的有效性,我们进行了大量的实验,结果表明与最先进的方法相比,CoLeQ具有一致的优势,如图9所示。

图6 模式崩溃(即严重同质化的生成数据仅限于一个模式)和灾难性遗忘(即以前的数据被完全忽略)的图示。
图7 CoLeQ的整体流程,其中数据多样性增强(DDE)和旧知识恢复(OKR)模块分别解决了模式崩溃和灾难性遗忘问题。第一步:用分布匹配损失和对比损失训练生成器,其中后者来自MoCo范式。第2步:将当前批次中生成的数据与恢复的数据串联起来,并将整体送入下一步。这里,恢复的数据是由一个与MoCo中的编码器共享权重的解码器从动量队列中的特征中重构出来的。第三步:使用FP模型和量化模型之间的散度作为监督信号来训练量化模型以进行知识转移。
图8 用OKR模块解决灾难性遗忘问题对CIFAR-10和ImageNet数据集上量化感知微调的影响。量化精度为W4/A4,上面显示的结果都是在相同的学习率下得到的。在没有OKR模块的情况下,微调过程存在灾难性的遗忘问题:中间历时的精度有明显的震荡,收敛缓慢;在有OKR模块的情况下,精度曲线上升更平稳,收敛更迅速(大约2×的加速)。
图9 CIFAR-10和ImageNet数据集上不同量化位精度的量化结果。X轴“Wx/Ax”表示权重和激活都被量化为x位。CoLeQ始终优于SOTA的无数据量化方法,特别是在低精度(如2比特)时,CoLeQ保持了较高的鲁棒性,而其他方法则产生了明显的精度下降。

(4)PASQ-ViT:基于Patch相似性的vision transformer无数据量化

Zhikai Li, Liping Ma, Mengjuan Chen, Junrui Xiao, and Qingyi Gu*, Patch Similarity Aware Data-Free Quantization for Vision Transformers, 2022 European Conference on Computer Vision (ECCV), Tel Aviv, Israel, pp. 154-170, 2022.

最近, vision transformer在各种计算机视觉任务上获得了巨大的成功;然而,它们的高模型复杂性使其在资源有限的设备上的部署具有挑战性。量化是降低模型复杂性的有效方法,而无数据量化可以解决模型部署过程中的数据隐私和安全问题,因此受到广泛关注。不幸的是,所有现有的方法,如BN正则化,都是为卷积神经网络设计的,不能应用于具有明显不同模型结构的vision transformer。为此,我们提出了Patch Similarity Aware data-free Quantization framework for Vision Transformers (PSAQ-ViT),一个用于vision transformer的基于Patch相似性的无数据量化框架,以便能够根据视觉变换器的独特属性生成“逼真的”样本来校准量化参数,如图10所示。具体来说,我们分析了自我注意模块的属性,并揭示了其在处理高斯噪声和真实图像时的一般差异(补丁相似性),如图11所示。上述见解指导我们设计了一个相对值指标,以优化高斯噪声来接近真实图像,然后利用它来校准量化参数。我们在各种基准上进行了广泛的实验和消融研究,以验证PSAQ-ViT的有效性,它甚至可以优于真实数据驱动的方法。

图10 提出的样本生成方法。当输入是高斯噪声时,Patch被归入一个类别(前景或背景),导致同质的Patch相似度和单模态的内核密度曲线。相比之下,我们生成的图像可以潜在地代表真实图像的特征,产生不同的斑块相似度和双峰核密度曲线,其中左峰和右峰分别描述类别间和类别内的相似度。
图11 当输入为真实图像、高斯噪声和生成的图像时,ViT-B模型中各层Patch相似度的核密度曲线的比较。X轴代表Patch相似度的值。我们可以看到,高斯噪声对应的各层密度显示出集中的单模态形状,而生成的图像和真实图像具有相似的属性,产生的密度具有分散的双模态形状,其中左峰和右峰分别描述类别间和类别内的相似性。

(5)I-ViT:vision transformer的纯整数量化

Zhikai Li, and Qingyi Gu*, I-ViT: Integer-only Quantization for Efficient Vision Transformer Inference, 2023 IEEE International Conference on Computer Vision (ICCV), Pairs, France, 2023, Accepted.

Vision transformers(ViTs)在各种计算机视觉应用中取得了最先进的性能。然而,这些模型有相当大的存储和计算开销,使得它们在边缘设备上的部署和有效推理具有挑战性。量化是降低模型复杂性的一个有效的方法;不幸的是,现有的量化ViTs的工作是模拟量化(又称伪量化),在推理过程中仍然是浮点运算,因此对模型加速的贡献很小,如图12所示。在本文中,我们提出了Integer Vision Transformer (I-ViT),一种针对ViT的纯整数量化方案,使ViT能够用整数运算和位移来执行推理的整个计算图,而没有任何浮点运算,如图13所示。在I-ViT中,线性运算(如MatMul和Dense)遵循纯整数二元算术流水线;非线性运算(如Softmax,GELU和LayerNorm)由提出的轻量级纯整数算术方法近似。特别是,I-ViT应用了新颖的Shiftmax和 ShiftGELU,它们被设计为使用整数位移来逼近相应的浮点运算。我们在各种基准模型上评估了I-ViT,结果表明,纯整数的INT8量化实现了与全精度(FP)基线相当(甚至更高)的精度。此外,我们利用TVM在GPU的整数运算单元上进行实际的硬件部署,与FP模型相比实现了3.72-4.11×的推理加速,如图14所示。

图12 模拟量化与纯整数量化的对比。前者需要去量化,并保留浮点运算,而后者用纯整数运算实现了整个推理。
图13 I-ViT的总体流程。整个计算图是用纯整数算术进行的,其中线性的MatMul和Dense操作是按照二元算术流水线进行的,提出的Shiftmax、ShiftGELU和I-LayerNorm完成非线性操作。除了标明的INT32,其余的数据流都是INT8精度。
图14 I-ViT和FP基线在DeiT和Swin模型上的精度-速度曲线。准确度是在ImageNet数据集上评估的,速度是在RTX 2080Ti GPU(batch=8)上得到的。我们可以看到,I-ViT提供了显著的加速(3.72-4.11×),同时实现了类似(甚至更高的)精度。

相关成果

学术论文:


[1] Zhikai Li, and Qingyi Gu*, I-ViT: Integer-only Quantization for Efficient Vision Transformer Inference, 2023 IEEE International Conference on Computer Vision (ICCV), Pairs, France, 2023, Accepted.

[2] Junrui Xiao, Zhikai Li, Lianwei Yang, and Qingyi Gu*, Patch-Wise Mixed-Precision Quantization of Vision Transformer, 2023 International Joint Conference on Neural Networks (IJCNN), Queensland, Australia, 2023, Accepted.

[3] Junrui Xiao, He Jiang, Zhikai Li, and Qingyi Gu*, DCIFPN: Deformable cross-scale interaction feature pyramid network for object detection, IET Image Processing, 2023, Early View, DOI: 10.1049/ipr2.12800.

[4] Zhikai Li, Junrui Xiao, Lianwei Yang, and Qingyi Gu*, RepQ-ViT: Scale Reparameterization for Post-Training Quantization of Vision Transformers, 2023 IEEE International Conference on Computer Vision (ICCV), Pairs, France, 2023, Accepted.

[5] Zhikai Li, Mengjuan Chen, Junrui Xiao, and Qingyi Gu*, PSAQ-ViT V2: Towards Accurate and General Data-Free Quantization for Vision Transformers, IEEE Transactions on Neural Networks and Learning Systems (TNNLS), 2022, Accepted.

[6] Junrui Xiao, He Jiang, Zhikai Li, and Qingyi Gu*, Rethinking Prediction Alignment in One-stage Object Detection, Neurocomputing (NEUCOM), 2022, 541: 58-69, DOI: 10.1016/j.neucom.2022.09.132.

[7] Zhikai Li, Liping Ma, Xianlei Long, Junrui Xiao, and Qingyi Gu*, Dual-Discriminator Adversarial Framework for Data-Free Quantization, Neurocomputing (NEUCOM), 2022, 511: 67-77, DOI: 10.1016/j.neucom.2022.09.076.

[8] Zhikai Li, Liping Ma, Mengjuan Chen, Junrui Xiao, and Qingyi Gu*, Patch Similarity Aware Data-Free Quantization for Vision Transformers, 2022 European Conference on Computer Vision (ECCV), Tel Aviv, Israel, pp. 154-170, 2022.

[9] He Jiang, and Qingyi Gu*, G-Head: Gating Head for Multi-task Learning in One-stage Object Detection, IEEE International Conference on Multimedia and Expo (ICME), Taipei, Taiwan, pp. 1-6, 2022.

[10] He Jiang, Junrui Xiao, and Qingyi Gu*, DLA: Dynamic Label Assignment for Accurate One-stage Object Detection, International Conference Series on Software and Computer Applications (ICSCA), Melaka, Malaysia, pp. 83-89, 2022.

[11] Yiming Hu, Xinggang Wang, Lujun Li, and Qingyi Gu*, Improving One-Shot NAS with Shrinking-and-Expanding Supernet, Pattern Recognition (PR), 2021, 118: 108025, DOI: 10.1016/j.patcog.2021.108025

[12] Jianquan Li, Xianlei Long, Shenhua Hu, Yiming Hu, Qingyi Gu*, and De Xu, A Novel Hardware Oriented Ultra-High-Speed Object Detection Algorithm Based on Convolutional Neural Network, Journal of Real-Time Image Processing (JRTIP), 2020, 17: 1703-1714, DOI: 10.1007/s11554-019-00931-5.

[13] Xianlei Long, Shenhua Hu, Yiming Hu, Qingyi Gu*, and Idaku Ishii, An FPGA-based Ultra-High-Speed Object Detection Algorithm with Multi-Frame Information Fusion, Sensors, 2019, 19(17): 3707, DOI: 10.3390/s19173707.

[14] Yiming Hu, Jianquan Li, Xianlei Long, Shenhua Hu, Jiagang Zhu, Xingang Wang, and Qingyi Gu*, Cluster Regularized Quantization for Deep Networks Compression, 2019 IEEE International Conference on Image Processing (ICIP), Taipei, Taiwan, pp. 914-918, 2019, DOI: 10.1109/ICIP.2019.8803034.

[15] Yiming Hu, Siyang Sun, Jianquan Li, Jiagang Zhu, Xingang Wang, and Qingyi Gu*, Multi-loss-aware Channel Pruning of Deep Networks, 2019 IEEE International Conference on Image Processing (ICIP), Taipei, Taiwan, pp. 889-893, 2019, DOI: 10.1109/ICIP.2019.8802974.