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

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

该研究提出了首个针对 KWS 任务的二值神经网络 BiFSMN,通过令人信服的精度改进优于现有的二值化方法,甚至可以与全精度对应物相媲美。此外,该研究在 ARMv8 实际设备上的 BiFSMN 实现了 22.3 倍加速和 15.5 倍存储节省。

近年来,以 FSMN 为代表的语音关键字识别(KWS)模型在各类边缘场景得到广泛应用。然而,语音唤醒应用的实时响应需求和边缘设备上有限计算与能耗资源间的矛盾一直存在,这阻碍了 KWS 模型在真实世界硬件设备上的部署。近日,人工智能顶会 IJCAI 2022 接收论文结果已经正式公布,北航刘祥龙教授团队和字节跳动 AI Lab 智能语音团队联合提出了首个针对 KWS 任务的二值神经网络 BiFSMN,并在 ARM 设备上实现了高达 22.3 倍和 15.5 倍的推理加速和存储节省。

论文地址:https://arxiv.org/pdf/2202.06483.pdf
1. 引言
1.1 背景
目前深度神经网络的卓越性能,主要依赖于高端图形处理单元进行计算训练。训练好的模型,其体积和参数量通常较大,因此需要大量的存储空间占用,并且有足够的计算单元来提高模型运行效率。这导致模型较难部署在手机等部分算力有限、存储空间有限的边缘设备上,这也限制了神经网络的适用场景和部署平台。
1.2 问题
尽管目前模型二值化取得了进展,但通过现有方法对 KWS 网络进行二值化仍然远非理想。大多数量化方法在推理过程中使用浮点算法,且直接量化会带来严重的性能下降。
首先,由于使用了 1 位参数,二值化网络的表示空间极其有限,难以优化。其次,KWS 的现有架构具有固定的模型规模和拓扑结构,无法在运行时自适应地平衡资源预算。此外,现有的部署框架在现实世界的硬件上实现时还远未达到二值化网络的理论加速上限。
1.3 成果

  • 提出了一种用于 KWS 的准确且极其高效的二元神经网络 BiFSMN。
  • 构建了 HED,方案来强调高频信息,以优化二值化网络的训练。
  • 提出了 TBA,以在运行时实现即时和自适应的精度 - 效率权衡。


BiFSMN 通过令人信服的精度改进优于现有的二值化方法,甚至可以与全精度对应物相媲美。此外,该研究在 ARMv8 实际设备上的 BiFSMN 实现了 22.3 倍加速和 15.5 倍存储节省。
2. 方法概述
2.1 HED —— 高频增强蒸馏
该研究发现,信息倾向于边缘的本质是:基本的二值化表示倾向于集中在高频分量上。该研究使用 2D Haar 小波变换 (WT) [Meyer, 1992],其常用作分离水平、垂直边缘的可分离变换,将表示分解为低频和高频分量。
输入到特定层的隐藏状态 H 可以表示为小波函数族的加权和,


其中 是具有特定时间参数的母小波函数, 是分辨率级别, 和 K 确定波形的平移,为了测量表示的单个分量所传达的信息量,使用相对小波能量来定义信息量[Rosso et al., 2001]。第层的小波能量 首先计算为:


当通过一次分解得到低频和高频系数时,它们的相对小波能量可以表示为:


较大的相对小波能量表明信息更多地聚集在该分量中。如图所示,与全精度表示相比,二值化表示的高频分量的相对小波能量显着增加,这意味着二值化表示向高频分量倾斜。


基于上述分析,该研究提出了一种用于二值化感知训练的高频增强蒸馏方法。该方案利用预训练的全精度 D-FSMN 作为教师,并在蒸馏过程中增强其隐藏层特征的高频分量。具体来说,该研究对原始特征应用小波变换,去除低频分量,然后对高频分量应用小波逆变换(IWT)函数来恢复选定的特征。该过程可以表述如下:


然后将强调的高频表示添加到原始表示中:


其中 是标准偏差。受 [Martinez et al., 2020] 的启发,该研究最小化了来自教师的 和直接来自学生的隐藏层特征 之间的注意力蒸馏损失,表示为:


其中 表示第 个块,是 L2 范数。
上面的 HED 方案使二值化学生网络更容易利用强调的全精度表示中的基本信息并提高准确性。
2.2 TBA —— 可细化二值结构
该研究提出了一种用于 KWS 的 Thinnable Binarization Architecture (TBA),它可以在运行时选择具有更少层的更薄模型,从而直接减少计算消耗。该研究把包含 N 个块的基本二值化架构的整个主干网络表示为:


其中 分别是二值化网络和二值化 D-FSMN 块,是网络的输入。形成的 TBA 结构可以定义为:


其中 是所选层的间隔,取值仅限于可整除 N。每个可细化块 可以定义为:


可细化网络架构将通过用恒等函数替换中间块来跳过每个 层的中间块, 下图显示了该研究的可细化二值化架构的形式化。

此外,该研究还提供了 的实例,如图所示。


为了优化提议的 TBA 的二值化感知训练,该研究采用统一层映射策略来更好地对齐和学习 HED 中的表示:


来自不同分支的梯度在反向传播过程中累积以共同更新权重。根据可细化架构中的压缩比,加权损失可以计算为:


其中 表示 的交叉熵损失,是控制蒸馏影响的超参数。

相关文章
|
网络安全 开发工具 C语言
升级OpenSSH
升级OpenSSH
1360 0
|
3月前
|
存储 机器学习/深度学习 缓存
KV Cache优化实战:分层量化、动态淘汰、全局共享,攻克长上下文显存难题.157
KV Cache是大模型推理中缓存Transformer注意力机制K/V向量的关键技术,避免逐词生成时重复计算,提速10–100倍。但其显存随长度线性增长,制约长上下文应用。四大优化技术——量化压缩、动态淘汰、分层缓存、全局共享——协同解决显存爆炸问题,支撑10万+ Token高效推理。
792 4
|
12月前
|
边缘计算 资源调度 算法
MATLAB中实现Canny边缘检测
在MATLAB中实现Canny边缘检测,既可以直接使用内置函数,也可以自己编写代码分步实现以加深理解。
|
9月前
|
机器学习/深度学习 人工智能 算法
告别“左右横跳”:深度强化学习PPO算法为何是训练AI的黄金准则?
本文深入浅出地解析了深度强化学习中的PPO算法,从原理到实战,手把手教你用PyTorch实现倒立摆控制。揭秘PPO为何成为OpenAI的“看家本领”,适合想入门DRL的开发者与爱好者。
761 0
|
缓存 人工智能 算法
深度揭秘复杂异构硬件推理优化
本文介绍了大语言模型在部署推理层面的性能优化工作,涵盖高性能算子、量化压缩、高效运行时及分布式调度四个方面。面对参数和上下文规模增长带来的显存、缓存与计算开销挑战,文中详细探讨了如何通过优化算子性能、低精度量化压缩、异步运行时框架设计以及多层次分布式架构来提升大模型推理效率。此外,还展示了BladeLLM引擎框架的实际应用效果,证明了这些技术在高并发场景下的显著性能提升。
|
安全 JavaScript Java
汉服|高校汉服租赁网站|基于Springboot的高校汉服租赁网站设计与实现(源码+数据库+文档)
汉服|高校汉服租赁网站|基于Springboot的高校汉服租赁网站设计与实现(源码+数据库+文档)
718 0
|
数据采集 机器学习/深度学习 人工智能
2026年具身智能商业化浪潮前瞻:开发者工具与软件生态的万亿级掘金图谱
在具身智能执行器和传感器等硬件成本持续下降的背景下,真正驱动其大规模商业化爆发的,并非单一的硬件产品,而是其背后的软件与生态系统。正如互联网的价值最终体现在软件应用与服务上,具身智能的商业价值正在从传统的“硬件产品销售”转向“软件与服务订阅”。RaaS等创新商业模式的兴起,正是这一趋势的直接体现。这里我们将深入剖析2026年具身智能领域,特别是围绕数据采集、训练和任务开发的软件工具与服务所蕴藏的万亿级商业机遇,为开发者与投资者描绘一幅详尽的掘金图谱。
1513 0
|
存储 Cloud Native 容灾
阿里云对象存储(OSS):企业数字化转型的核心存储引擎
阿里云对象存储(OSS)是全球领先的云原生存储服务,提供无限扩展的存储容量、高达12个9的数据持久性以及企业级安全防护。它支持智能分层存储降低成本,通过CDN加速实现高性能访问,并深度集成阿里云生态,适用于海量静态资源分发、大数据分析、备份容灾等场景。OSS以全生命周期管理与开发者友好工具助力企业高效、安全地释放数据价值,推动数字化转型。
3513 15
|
存储 缓存 数据库
CodeFuse开源ModelCache大模型语义缓存
CodeFuse 开源火热进行中!本次开源的是 ModelCache 大模型语义缓存,可大幅降低大模型应用的推理成本,提升用户体验。 CodeFuse-ModelCache 项目地址: https://github.com/codefuse-ai/CodeFuse-ModelCache
1250 0
|
编解码 开发工具 git
技术心得记录:小波变换(wavelettransform)的通俗解释(一)
技术心得记录:小波变换(wavelettransform)的通俗解释(一)
1440 0

热门文章

最新文章