INTERSPEECH2023论文解读|BAT一种低延迟低内存消耗的RNN-T模型

简介: INTERSPEECH2023论文解读|BAT一种低延迟低内存消耗的RNN-T模型

流式识别即实时语音识别技术,可以让用户在语音输入过程中即时获取识别结果,获得流畅自然的交流体验,在车机助手、实时字幕、电话语音转录等人机交互场景中扮演着重要角色。同时,流式识别也面临一些挑战,包括对低延迟的要求、处理不完整语音的准确性以及对大规模语言模型的实时运算需求等。


image.png

(实例:工作学习AI助手通义听悟上的流式语音识别)


RNNT语音识别模型具有流式识别出字自然流畅的特点,并且具有良好的识别效果,近年来受到研究者的青睐。然而,RNNT模型训练过程中,需要消耗大量的计算与GPU内存资源。与此同时,RNNT为了获得更好的识别效果,往往会搜索更多的上下文,进而导致识别出字延迟较高。


为了解决上述问题,我们设计了一种低延迟和低内存消耗的RNNT模型。

论文题目:


BAT: Boundary aware transducer for memory-efficient and low-latency ASR


作者:安柯宇,石宪,张仕良


论文地址:https://arxiv.org/abs/2305.11571


代码地址:https://github.com/alibaba-damo-academy/FunASR


模型体验地址https://modelscope.cn/models/damo/speech_bat_asr-zh-cn-16k-aishell1-vocab4234-pytorch/summary


研究背景


图1 CTC与RNNT模型结构对比


CTC(上图左)是语音识别的经典模型之一,被广泛使用于各种语音识别系统中。然而,CTC的一个显著缺陷是其输出的条件独立特性,这使其无法很好地建模语言的上下文依赖关系。为了弥补这一缺陷,RNN Transducer (RNN-T [1],上图右)在CTC的基础上添加了对文本信息的建模,RNN-T的输出不仅依赖声学信息,也依赖历史的输出信息,两者通过一个joint network融合。


语音-文本信息的融合使得RNN-T取得了相对CTC更优越的识别性能,但也带来了极大的训练开销。此外,由于缺乏对齐信息的指导,RNN-T倾向于访问更多的上下文以获得更好的性能,这导致了流式识别时更高的发射延迟(emission latency)。


为了解决这两个问题,我们提出了Boundary aware transducer(BAT),用于减小RNN-T训练的时间和内存消耗和推理时的发射延迟。

BAT的思想受到了一些之前工作的启发。在降低显存开销方面,Alignment Restricted RNN-T (Ar-RNN-T)[2] 和Pruned RNN-T [3] 均表明可以通过限制RNN-T loss前后向计算在lattice上的可行路径来降低显存开销;在降低发射延迟方面,一些研究表明可以通过引入额外的对齐信息(通常来自一个传统HMM模型)对RNN-T的高延迟路径施加惩罚,来达到减小RNN-T延迟的目的。


与先前工作不同的是:1. BAT的对齐信息是通过一个轻量级CIF模块在线生成的,无需预先训练一个对齐模型;2. BAT同时实现了训练时的显存降低和测试时的发射延迟降低。


BAT是如何运算的?


>>>标准RNN-T loss


我们先简要回顾一下标准RNN-T loss的计算过程。

ca0a80a3b9c4155872af32a53ebbd7f9.png

>>>基于CIF对齐的boundary aware training


图2 BAT模型结构图


在BAT中,我们首先利用continuous integrate-and-fire(CIF)[4] 生成声学特征和标准文本之间的对齐(alignment),然后用它来限制可行的(t, u)路径。



图3 RNNT与BAT搜索路径对比



BAT的实验结果如何?


我们主要在公开的AISHELL-1和非公开的工业级数据集上评测了我们的模型,详细实验配置请参考论文。

>>>与类似工作横向对比


我们在相同的实验设置下,比较了标准RNN-T (采用warp_rnnt [7]实现)、pruned RNN-T和BAT loss计算的时间和显存开销,如下表所示。可以看到,pruned RNN-T和BAT的时间和显存占用开销均远好于标准RNN-T。BAT略好于pruned RNN-T,因为BAT确定裁剪边界的方式相较pruned RNN-T更为高效,后者需要先通过对一个“trivial” joiner network的输出计算RNN-T loss来确定裁剪边界。


表1 与类似工作对比(耗时与峰值GPU内存)


>>>AISHELL-1数据实验结果


AISHELL-1上的非流式模型结果如下表所示。可以看到,BAT识别准确率与RNN-T接近。R_d和R_u增大,识别结果变好,但计算开销也会相应增大。


表2 AISHELL-1 非流式实验结果对比


AISHELL-1上的流式模型结果如下表所示。为了更好地展示BAT对发射延迟的改进效果,我们提供了标准RNN-T加上FastEmit [6]正则的结果作为对比。

下表中的avg ET (average emission time) 代表了最后一个token的平均发射时间,PR (partial recognition latency)代表了最后一个token发射时刻和说话人实际完成讲话的时刻之差,PR50和PR90分别是PR的50分位数和90分位数。可以看到:与FastEmit类似,BAT的结果体现出了准确率和延迟的trade-off,即更大的R_d和R_u会造成更大的延迟,但识别准确率会有所提高。


表3 AISHELL-1 流式实验结果对比

下图可视化了流式RNN-T和流式BAT的token发射快慢。途中横坐标代表了时间轴,纵坐标则代表了模型输出的non-blank token。可以看到,流式BAT的token输出要显著快于流式RNN-T。



图4 流式RNNT与BAT出字延迟对比

>>>3万小时工业数据实验结果

3万小时工业数据上的结果如下表所示。可以看到,BAT在工业量级数据上取得了与RNN-T可比的性能。


表4 3万小时工业数据实验结果


‍▎Future Work


本文中我们提出了BAT,同时解决了RNN-T在训练时显存占用较高和推理时发射延迟较高的问题。我们将验证BAT在其他语种(例如英语)上的效果。

此外,在BAT中,仅在训练阶段利用了CIF的对齐信息,后续工作将考虑结合对齐信息的推理,例如基于CIF的预测权重进行跳帧解码等。

BAT显著降低了RNN-T的训练成本。再结合encoder输出降采样、混合精度训练和预训练等加速方案后,在阿里巴巴内部的PAI平台上使用32卡A100训练RNN-T工业模型的时间从15天缩短至5天内,显著加快了模型开发和迭代的速度。在未来,BAT有望在流式语音识别和端上语音识别等场景发挥作用。


‍▎联系我们


BAT的代码已在FunASR开源,欢迎对识别模型开源和应用感兴趣的研究人员和开发人员加入Fun-ASR开源社区交流群,共同探讨精进!



References:

[1] Graves, Alex., “Sequence Transduction with Recurrent Neural Networks.”, ArXiv abs/1211.3711 (2012).

[2] J. Mahadeokar et al., "Alignment Restricted Streaming Recurrent Neural Network Transducer." , SLT 2021.

[3] Kuang, Fangjun et al., "Pruned RNN-T for fast, memory-efficient ASR training.", INTERSPEECH 2022.

[4] L. Dong and B. Xu, "CIF: Continuous Integrate-And-Fire for End-To-End Speech Recognition," ICASSP 2020.

[5] https://github.com/danpovey/fast_rnnt

[6] Yu, Jiahui  et al., FastEmit: Low-Latency Streaming ASR with Sequence-Level Emission Regularization. ICASSP 2021.

[7] https://github.com/1ytic/warp-rnnt


相关实践学习
达摩院智能语音交互 - 声纹识别技术
声纹识别是基于每个发音人的发音器官构造不同,识别当前发音人的身份。按照任务具体分为两种: 声纹辨认:从说话人集合中判别出测试语音所属的说话人,为多选一的问题 声纹确认:判断测试语音是否由目标说话人所说,是二选一的问题(是或者不是) 按照应用具体分为两种: 文本相关:要求使用者重复指定的话语,通常包含与训练信息相同的文本(精度较高,适合当前应用模式) 文本无关:对使用者发音内容和语言没有要求,受信道环境影响比较大,精度不高 本课程主要介绍声纹识别的原型技术、系统架构及应用案例等。 讲师介绍: 郑斯奇,达摩院算法专家,毕业于美国哈佛大学,研究方向包括声纹识别、性别、年龄、语种识别等。致力于推动端侧声纹与个性化技术的研究和大规模应用。
相关文章
|
3月前
|
关系型数据库 分布式数据库 数据库
|
6月前
|
机器学习/深度学习 存储 算法
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
反向传播算法虽是深度学习基石,但面临内存消耗大和并行扩展受限的问题。近期,牛津大学等机构提出NoProp方法,通过扩散模型概念,将训练重塑为分层去噪任务,无需全局前向或反向传播。NoProp包含三种变体(DT、CT、FM),具备低内存占用与高效训练优势,在CIFAR-10等数据集上达到与传统方法相当的性能。其层间解耦特性支持分布式并行训练,为无梯度深度学习提供了新方向。
219 1
NoProp:无需反向传播,基于去噪原理的非全局梯度传播神经网络训练,可大幅降低内存消耗
|
3月前
|
存储 人工智能 自然语言处理
AI代理内存消耗过大?9种优化策略对比分析
在AI代理系统中,多代理协作虽能提升整体准确性,但真正决定性能的关键因素之一是**内存管理**。随着对话深度和长度的增加,内存消耗呈指数级增长,主要源于历史上下文、工具调用记录、数据库查询结果等组件的持续积累。本文深入探讨了从基础到高级的九种内存优化技术,涵盖顺序存储、滑动窗口、摘要型内存、基于检索的系统、内存增强变换器、分层优化、图形化记忆网络、压缩整合策略以及类操作系统内存管理。通过统一框架下的代码实现与性能评估,分析了每种技术的适用场景与局限性,为构建高效、可扩展的AI代理系统提供了系统性的优化路径和技术参考。
162 4
AI代理内存消耗过大?9种优化策略对比分析
|
7月前
|
存储 人工智能 编解码
TripoSF:3D建模内存暴降80%!VAST AI新一代模型细节狂飙82%
TripoSF 是 VAST AI 推出的新一代 3D 基础模型,采用创新的 SparseFlex 表示方法,支持 1024³ 高分辨率建模,内存占用降低 82%,在细节捕捉和复杂结构处理上表现优异。
215 10
TripoSF:3D建模内存暴降80%!VAST AI新一代模型细节狂飙82%
|
程序员 编译器 C++
【C++核心】C++内存分区模型分析
这篇文章详细解释了C++程序执行时内存的四个区域:代码区、全局区、栈区和堆区,以及如何在这些区域中分配和释放内存。
149 2
|
10月前
|
人工智能 物联网 C语言
SVDQuant:MIT 推出的扩散模型后训练的量化技术,能够将模型的权重和激活值量化至4位,减少内存占用并加速推理过程
SVDQuant是由MIT研究团队推出的扩散模型后训练量化技术,通过将模型的权重和激活值量化至4位,显著减少了内存占用并加速了推理过程。该技术引入了高精度的低秩分支来吸收量化过程中的异常值,支持多种架构,并能无缝集成低秩适配器(LoRAs),为资源受限设备上的大型扩散模型部署提供了有效的解决方案。
543 5
SVDQuant:MIT 推出的扩散模型后训练的量化技术,能够将模型的权重和激活值量化至4位,减少内存占用并加速推理过程
|
NoSQL Java Redis
Redis系列学习文章分享---第十八篇(Redis原理篇--网络模型,通讯协议,内存回收)
Redis系列学习文章分享---第十八篇(Redis原理篇--网络模型,通讯协议,内存回收)
669 0
|
11月前
|
开发框架 监控 .NET
【Azure App Service】部署在App Service上的.NET应用内存消耗不能超过2GB的情况分析
x64 dotnet runtime is not installed on the app service by default. Since we had the app service running in x64, it was proxying the request to a 32 bit dotnet process which was throwing an OutOfMemoryException with requests >100MB. It worked on the IaaS servers because we had the x64 runtime install
172 5
|
XML IDE 前端开发
IDEA忽略node_modules减少内存消耗,提升索引速度
在后端开发中,IDEA 在运行前端代码时,频繁扫描 `node_modules` 文件夹会导致高内存消耗和慢索引速度,甚至可能会导致软件卡死。为了改善这一问题,可以按照以下步骤将 `node_modules` 文件夹设为忽略:通过状态菜单右键排除该文件夹、在设置选项中将其加入忽略列表,并且手动修改项目的 `.iml` 文件以添加排除配置。这些操作可以有效提高IDE的运行性能、减少内存占用并简化项目结构,但需要注意的是,排除后将无法对该文件夹进行索引,操作文件时需谨慎。
980 4
IDEA忽略node_modules减少内存消耗,提升索引速度
|
12月前
|
机器学习/深度学习 算法 物联网
大模型进阶微调篇(一):以定制化3B模型为例,各种微调方法对比-选LoRA还是PPO,所需显存内存资源为多少?
本文介绍了两种大模型微调方法——LoRA(低秩适应)和PPO(近端策略优化)。LoRA通过引入低秩矩阵微调部分权重,适合资源受限环境,具有资源节省和训练速度快的优势,适用于监督学习和简单交互场景。PPO基于策略优化,适合需要用户交互反馈的场景,能够适应复杂反馈并动态调整策略,适用于强化学习和复杂用户交互。文章还对比了两者的资源消耗和适用数据规模,帮助读者根据具体需求选择最合适的微调策略。
3205 5

热门文章

最新文章