IJCAI 2022 | 推理速度22.3倍提升,北航、字节跳动提出二值化关键字识别模型(2)

简介: IJCAI 2022 | 推理速度22.3倍提升,北航、字节跳动提出二值化关键字识别模型

2.3 FBCK —— 用于高效硬件部署的快速按位计算内核
为了在计算资源有限的边缘设备上高效部署,该研究通过新的指令和寄存器分配策略进一步优化 1 位计算,以加速边缘设备上广泛使用的 ARMv8-A 架构的推理。该研究称之为快速按位计算内核 (FBCK)。
根据 ARMv8 架构上的寄存器数量,该研究首先将内核中的寄存器重新分配为五个分区,以提高寄存器利用率并减少内存占用:分区 A 有四个寄存器(寄存器 v0 除外)用于一个输入(权重 / 激活),B 有两个用于另一个输入,C 有 8 个用于 EOR 和 CNT 的中间结果,D 有 8 个用于一个循环中的输出,E 有 8 个用于最终结果。每个输入都打包为 INT16。A 中的每个寄存器存储一个输入并重复 8 次,而 B 中的每个寄存器存储 8 个不同的输入。该研究先对 A 和 B 的一个寄存器进行 EOR 和 CNT,得到 32 个 INT8 结果到中间分区 C,然后执行 ADD 将 INT8 累加到 D,对 B 的另一个寄存器做同样的事情。经过 16 次循环,最后,该研究使用长指令 ADALP 将存储在 D 中的 INT8 数据累积到一个 INT16 寄存器(在 E 中),它将 INT8 数据扩展为双倍宽度。FBCK 在计算过程中充分利用了寄存器,几乎没有空闲位。


3. 实验
在本章,该研究从推断精度、理论计算、部署性能等角度对 BiFSMN 进行全面评估。实验证明,BiFSMN 在各个方面大幅领先现有的二值神经网络,并展现了在实际部署场景下的出众潜力。
3.1 对比验证
该研究首先进行消融研究,以调查所提出的高频增强蒸馏 (HED) 和可细化二值化架构 (TBA)在 D-FSMN 上对 Speech Commands V1-12 和 Speech Commands V2-12 KWS 任务的影响,包括高频增强蒸馏 (HED) 和可细化二值化架构 (TBA)。


表 1 中结果表明,普通二值化基线方法在两个数据集中都出现了显着的性能下降。朴素的蒸馏方案 Distill 有助于提高基本 D-FSMN 架构的准确性,而 HED 的应用提高了基于蒸馏的性能。联合使用 HED 和 TBA 进一步缩小了二值化模型和全精度模型之间的准确率差距,最终使得在这两个数据集上的准确率均小于 3%。
其次将 BiFSMN 与现有的结构无关二值化方法进行比较,包括 BNN [Courbariaux et al., 2016]、DoReFa [Zhou et al., 2016]、XNOR [Rastegari et al., 2016]、Bi-Real [Liu et al., 2018]、IR-Net [Qin et al., 2020] 和 RAD [Ding et al., 2019]。


表 2 中结果表明,该研究的 1 位 BiFSMN 完全优于其他 SOTA 二值化方法。值得注意的是,BiFSMN在两个数据集上的平均准确率下降仅为4%,并远超其他二值化方法。
其次,为了从架构的角度验证 TBA 的优势,该研究还将其与 KWS 中广泛使用的各种网络进行了比较,包括 FSMN [Zhang et al., 2015]、VGG190 [Simonyan and Zisserman, 2014]、BCResNet [Kim et al.,2021] 和 Audiomer [Sahu al.,2021]。该研究使用 XNOR 和 IR-Net 对这些架构进行二值化。


表 3 表明, HED 通常可应用于基于类似 FSMN 的架构,并对二值化模型性能产生影响。此外,配备 TBA 的 BiFSMN 可以进一步在运行时在准确性和效率之间取得平衡。例如,更薄的版本 BiFSMN0.5× with 4 blocks 和 BiFSMN0.25× with 2 blocks 甚至在 Speech Commands V1-12 任务上实现了 23.8× 和 28.8× FLOPs 节省,而不牺牲准确性(仅下降 0.16% 和 0.13%)。该研究进一步修剪模型宽度并提供一个极小的 BiFSMNS(具有 32 个主干内存大小和 64 个隐藏大小),只有 0.05M 参数和 9.16M FLOP,证明该研究的方法在微型网络上也能很好地工作。
3.2 部署效率
除了推理精度与理论计算性能,在现实世界的边缘设备上运行时,KWS 任务对于低内存占用和快速实时响应具有迫切需求。为了验证 BiFSMN 的实际部署效率,该研究在 1.2GHz 64 位 ARMv8 CPU Cortex-A53 的 Raspberry Pi 3B + 上测试了 BiFSMN 的实际速度。
如图 5 所示,由于提出了优化的 1 位快速按位计算内核, BiFSMN 与全精度对应物相比提供了 10.9 倍的加速度。它也比现有的开源高性能二值化框架(如 daBNN 和 Bolt)快得多。此外,受益于可细化架构,BiFSMN 可以根据设备上的资源自适应地平衡运行时的准确性和效率,切换到分别带来了 15.5× 和 22.3× 加速。这表明 BiFSMN 可以在实际推理中满足不同的资源约束。


参考文献

  1. [Meyer, 1992] Yves Meyer. Wavelets and Operators: Volume 1. Cambridge university press, 1992.
  2. [Rosso et al., 2001] Osvaldo A Rosso, Susana Blanco, Juliana Yordanova, Vasil Kolev, Alejandra Figliola, Martin Schurmann, and Erol Bas¸ar. Wavelet entropy: a new tool ¨ for analysis of short duration brain electrical signals. J. Neurosci. Methods, 2001.
  3. [Martinez et al., 2020] Brais Martinez, Jing Yang, Adrian Bulat, and Georgios Tzimiropoulos. Training binary neural networks with real-to-binary convolutions. In ICLR, 2020.
  4. [Courbariaux et al., 2016] Matthieu Courbariaux, Itay Hubara, Daniel Soudry, Ran El-Yaniv, and Yoshua Bengio. Binarized neural networks: Training deep neural networks with weights and activations constrained to+ 1 or-1. arXiv, 2016.
  5. [Zhou et al., 2016] Shuchang Zhou, Yuxin Wu, Zekun Ni, Xinyu Zhou, He Wen, and Yuheng Zou. Dorefa-net: Training low bitwidth convolutional neural networks with low bitwidth gradients. arXiv, abs/1606.06160, 2016.
  6. [Rastegari et al., 2016] Mohammad Rastegari, Vicente Ordonez, Joseph Redmon, and Ali Farhadi. Xnor-net: Imagenet classification using binary convolutional neural networks. In ECCV, 2016.
  7. [Liu et al., 2018] Zechun Liu, Baoyuan Wu, Wenhan Luo, Xin Yang, Wei Liu, and Kwang-Ting Cheng. Bi-real net: Enhancing the performance of 1-bit cnns with improved representational capability and advanced training algorithm. In ECCV, 2018.
  8. [Qin et al., 2020] Haotong Qin, Ruihao Gong, Xianglong Liu, Mingzhu Shen, Ziran Wei, Fengwei Yu, and Jingkuan Song. Forward and backward information retention for accurate binary neural networks. In CVPR, 2020.
  9. [Ding et al., 2019] Ruizhou Ding, Ting-Wu Chin, Zeye Liu, and Diana Marculescu. Regularizing activation distribution for training binarized deep networks. In CVPR, 2019.
相关文章
|
消息中间件 监控 安全
云消息队列 Confluent 版正式上线
云消息队列 Confluent 版正式上线!
968 103
|
机器学习/深度学习 Python
深度学习篇之数据集划分方法-附代码python详细注释
深度学习篇之数据集划分方法-附代码python详细注释
深度学习篇之数据集划分方法-附代码python详细注释
|
机器学习/深度学习 人工智能 达摩院
[ICML'22] 阿里巴巴达摩院FEDformer,长程时序预测全面超越SOTA
本文介绍阿里巴巴达摩院决策智能实验室时间序列预测方向的最新(ICML 2022 accepted)工作:FEDformer: Frequency Enhanced Decomposed Transformer for Long-term Series Forecasting论文链接:https://arxiv.org/abs/2201.12740代码链接:https://github.com/DA
3362 0
[ICML'22] 阿里巴巴达摩院FEDformer,长程时序预测全面超越SOTA
|
10月前
|
机器学习/深度学习 计算机视觉
RT-DETR改进策略【注意力机制篇】| CVPR2024 CAA上下文锚点注意力机制
RT-DETR改进策略【注意力机制篇】| CVPR2024 CAA上下文锚点注意力机制
345 1
RT-DETR改进策略【注意力机制篇】| CVPR2024 CAA上下文锚点注意力机制
|
11月前
|
计算机视觉
YOLOv11改进策略【SPPF】| AIFI : 基于Transformer的尺度内特征交互,在降低计算成本的同时提高模型的性能
本文探讨了基于AIFI模块的YOLOv11目标检测改进方法。AIFI是RT-DETR中高效混合编码器的一部分,通过在S5特征层上应用单尺度Transformer编码器,减少计算成本并增强概念实体间的联系,从而提升对象定位和识别效果。实验表明,AIFI使模型延迟降低35%,准确性提高0.4%。
1234 20
YOLOv11改进策略【SPPF】| AIFI : 基于Transformer的尺度内特征交互,在降低计算成本的同时提高模型的性能
|
机器学习/深度学习 人工智能 自然语言处理
一文介绍CNN/RNN/GAN/Transformer等架构 !!
一文介绍CNN/RNN/GAN/Transformer等架构 !!
1131 5
|
存储 Java 数据库
Java “ClassCastException”解决
Java中的“ClassCastException”是在运行时尝试将对象强制转换为与其实际类型不兼容的类型时引发的异常。解决方法包括:1. 检查类型转换前使用`instanceof`关键字进行类型判断;2. 确保对象的实际类型与目标类型一致;3. 审查代码逻辑,避免不必要的类型转换。
1012 4
|
存储 测试技术 计算机视觉
开源视频版GPT-4o?快速记忆,实时问答,拿下CVPR'24长视频问答竞赛冠军
【7月更文挑战第24天】Flash-VStream, 一款模拟人脑记忆的视频语言模型,实现实时长视频流理解和问答,夺得CVPR'24竞赛桂冠。它采用动态记忆技术,高效存储检索信息,大幅降低推理延迟与显存消耗,超越现有模型。虽有资源限制及复杂查询处理难题,仍展现卓越通用性及先进性能。[详细论文](https://arxiv.org/abs/2406.08085)。
343 17
|
Cloud Native 安全 Devops
核心系统转型问题之数字化韧性的定义如何解决
核心系统转型问题之数字化韧性的定义如何解决
|
域名解析 安全 物联网
阿里云EMAS HTTPDNS 扩展全球服务节点:提升解析安全性与网络覆盖
阿里云EMAS HTTPDNS新增国内西南、华南及国际欧洲、美东服务节点,提升了全球覆盖能力与性能。作为高效域名解析服务,EMAS HTTPDNS针对互联网、汽车、物流、IOT等行业提供支持,解决了传统解析易遭劫持等问题。新增节点优化了就近调度功能,显著缩短响应时间并增强了服务稳定性和连续性,尤其为中国企业的海外业务提供了强有力的支持。此次扩展展现了阿里云对服务质量的持续追求和全球市场布局的战略思考。