E2E SEGMENTATION IN A TWO-PASS CASCADED ENCODER ASR MODEL

向量数据库大模型机器学习

ABSTRACT

我们探索将具有two-pass级联编码器ASR的 neural segmenter 统一为单个模型。

一个关键的挑战是允许segmenter(实时运行,与解码器同步)完成 2nd pass(比实时运行晚900毫秒),而不会在推理过程中引入用户感知的延迟或删除错误。

我们提出了一种设计,其中 neural segmenter 与因果 1st pass 解码器集成以发出 end-of-segment (EOS) 实时信号。然后使用EOS信号来完成非因果的 2nd pass。

我们尝试了不同的方法来完成 2nd pass,并发现一种新的 dummy frame injection 注入策略可以同时实现高质量的 2nd pass 结果和低完成延迟。

在现实世界的长格式字幕任务(YouTube)中,我们在具有相同级联编码器的基于vad的基线 segmenter 上实现了2.4%的相对WER和140 ms的EOS延迟增益。

INTRODUCTION

two-pass 级联编码器模型用于流ASR系统,从 1st pass 向用户提供实时的因果结果,同时还从滞后于 1st pass 的 2nd pass 提供卓越的、高质量的、非因果结果,例如,为了访问900毫秒的right-context帧,延迟了900毫秒。

并行运行允许 2nd pass 操作长形式的话语(即,那些超过几分钟)在字幕和听写任务中普遍存在。

在解码长格式话语时,另一种常见的做法是将话语分割成更短的长度,并在每个片段末端(EOS)传递最终的 2nd pass 结果。许多下游任务(如机器翻译)可以逐渐消耗部分识别结果,因此快速和频繁的分割有利于整体用户体验.

在流式识别中,分割器与波束搜索同步运行,并实时决定每个片段的结束位置。特别是,它会发出一个EOS令牌,该令牌会重置光束搜索,丢弃除顶部假设之外的所有假设,其状态被传递到下一个段。这为新的假设进入光束提供了空间,带来了更多的多样性。更关键的是,EOS token 通过丢弃所有其他可能的竞争者来最终确定顶部假设,保证顶部假设不再改变,例如,通过后来的证据导致非顶部假设被提升到顶部。

Finalization是向下游任务交付 2nd pass 结果的先决条件,因为下游任务通常需要固定hypothesis。另一方面,放置不当的EOS可能导致错误的假设最终确定,从而损害ASR质量。因此,分割器决定何时发射EOS的工作对于长格式任务中的WER和用户感知延迟都是至关重要的。

通常,EOS由VAD确定,VAD是一种预测每帧是语音还是silence的分类器。手工编码的状态机跟踪预测,做一些平滑,并在检测到连续的silence帧时发出EOS信号,例如在我们的例子中是200毫秒。

VAD分割器有两个缺点:(1)它需要一个带有手工制作的超参数的状态机,这增加了复杂性;(2)VAD条件仅基于声学特征(语音/silence)。

E2E分段器通过直接从流E2E ASR模型的解码器预测EOS信号来解决这些问题。具体来说,它增加了一个额外的RNNT联合层,通过弱监督的EOS注释方法来训练预测EOS令牌。通过将ASR和分割统一到一个模型中,简化了系统。它还通过利用E2E ASR模型可用的声学和语言上下文来提高质量和EOS延迟。也就是说,端到端分割只在 single-pass 模型中进行了演示.

将E2E分割与高质量的双通道级联编码器模型统一起来,是为长格式任务构建低延迟和最先进的流ASR系统的下一个合乎逻辑的步骤。在这项工作中,我们讨论了统一ASR和分割的挑战,并提出了我们的解决方案,该解决方案导致单个级联编码器模型预测EOS,如图1a所示,在YouTube长格式测试集中,相对WER的增益为2.4%,相对oracle WER的增益为7.3%,EOS延迟为140毫秒。

Related work

其他工作则试图将附加任务与 two-pass ASR 统一到一个单一模型中。

E2E 预取通过基于 1st-pass 结果查询下游响应,并在 1st-pass 与最终的 2nd-pass 最终结果匹配时交付该响应,从而降低了实现延迟。

端到端 endpointing 通过预测 1st pass 的话语结束,并使用该信号来完成 2nd pass,从而降低了麦克风关闭延迟。

UNIFYING E2E SEGMENTATION WITH CASCADED ENCODER

与传统的 two-pass 模型相反,2nd pass 必须等到片段结束才能解码.

级联编码器的 2nd pass与 1st pass 并行解码,但以时间交错的方式,以便它可以访问正确的上下文音频帧。

picture.image

具体来说,2nd-pass 解码器实时滞后 900毫秒,因此级联编码器可以在其中心帧右侧900毫秒的帧上进行调整,如图1a所示。

1st-pass EOS prediction, 2nd-pass finalization

EOS信号应该实时确定,因为任何延迟都会直接影响用户感知的延迟。这很容易用VAD分段实现,因为VAD在解码器的上游运行。

然而,在端到端分段中,EOS由解码器本身决定。如果EOS是由第二通解码器决定的,那么它的时间戳将总是比实时时间晚至少900毫秒,这是一个令人望而却步的延迟量。我们提出以下推理策略:

  1. The 1st pass predicts EOS in real-time.
  2. When the EOS signal is emitted, finalize the 1st pass and route the EOS timestamp to the 2nd pass.
  3. When the 2nd pass receives the EOS timestamp, inject dummy frames and finalize.

2nd-pass finalization strategy

目前讨论的过程仅适用于延迟至关重要的推理。

现在考虑图1b。当时间是T时,“hello world”已经说过了。此时,因果 1st pass 解码器(未显示)决定发出EOS(时间T的红色帧),并立即将EOS的时间戳(即T)路由到 2nd pass。此时,级联编码器的中心帧位于T−3,即在T时刻比实时帧晚3帧(现实中为900毫秒),因此 2nd pass 解码器尚未解码单词“world”。当 2nd pass 接收到EOS时间戳时,有几种可能的响应:

  1. Finalize immediately.

这将导致片段的最后3帧没有被解码,导致错误地删除“world”,因为 2nd pass 中心帧比 1st pass 滞后3帧,并且在 1st pass 发出EOS时仍在处理T - 3。参见图1b。

  1. Finalize when 2nd pass reaches EOS timestamp

这意味着要等到 2nd pass 解码器的中心帧(目前处于T−3)达到T,或者等价地,等待 1st pass 解码器或因果编码器的中心帧(目前处于T)达到T + 3。

如图1b所示,将蓝色的fprop上下文窗口向右滑动3帧。此时,“world”被 2nd pass 解码器正确解码,避免了选项1中的删除错误。然而,这需要等待3个额外的帧生成,因为级联编码器需要它们作为右上下文。产生3帧的延迟(现实中是900毫秒)可能会让用户体验望而却步。

  1. Inject 900 ms of dummy right-context frames, then finalize when 2nd pass reaches EOS timestamp

在这种两全其好的替代方案中,我们仍然允许第二轮解码直到EOS时间戳以避免删除错误,但我们通过立即注入3个虚拟的正确上下文帧来防止等待3个正确上下文帧,如图1c所示。

由于虚拟帧是一次性注入的,级联编码器可以并行地支持它们,如图1c中的三个fprop上下文窗口所示。它们被注入到级联编码器的输入中,所以我们通过不支持任何东西通过因果编码器来节省一些计算。所有这些都可以在下一帧到达之前的时刻T发生;因此,该过程的算法延迟为零。

另一方面,基于类似架构的Pixel 6手机的测量,计算延迟(级联编码器启动和解码虚拟帧的时间)相对较低,为208毫秒。与选项2不同的是,选项2的延迟在算法上的下限为900毫秒,而208毫秒是用户可以接受的延迟量,并且可以通过更好的硬件进行改进。

我们实验了两种类型的虚拟帧:

  • Zero: all dummy frames are zero vectors
  • Last-frame: all dummy frames are identical to last frame outputted by the causal encoder.

其基本原理是,最后一帧出现在用户说话后的短暂silence期间,是比零更好的silence编码表示。

picture.image

我们选择了一个能给出最好的WER和最终延迟的策略,即 dummy last-frame injection (E2)。同样,我们只在推理期间应用此策略。

EXPERIMENTAL SETTINGS

EOS joint layer

我们的EOS join层在大小上与完全训练好的ASR joint层相同,并根据其权重初始化。它消耗编码器和预测网络的输出,使其能够看到声学和语言上下文,如图1a所示。 它在相同的数据集上进行微调,但目标转录文本通过EOS令牌增强

picture.image

EOS标注方案与[5,6]相同。

  1. 简而言之,EOS token被插入到文本的末尾,用于短查询语句,如语音搜索。
  2. 它们也被插入到其他话语的两个单词之间,比如YouTube,当有很长一段silence之后没有犹豫,或者更长的silence之后有犹豫。

在推理过程中,如果EOS token 负对数概率 cost 低于某一阈值,则 1st pass beam search 将立即完成,EOS时间戳将被路由到 2nd pass 进行 2nd pass 最终确定。

Beam search

我们对两个pass使用帧同步波束搜索。1st 和 2nd pass 的光束尺寸分别为4和8,剪枝阈值均为5。在每一帧中,我们对可能的扩展应用宽度优先搜索,忽略任何负对数后值大于等于5的扩展,并将搜索深度限制为10个扩展。

Voice activity detector

我们的管道在E2E模型的上游包含一个轻量级的语音活动检测器。除了在我们的VAD分割实验中用作分割器外,它还可以用作帧滤波器;在最初的200毫秒的silence之后,被分类为silence的连续帧被过滤掉。对所有实验打开帧滤波,以匹配边缘部署条件。

RESULTS

Main results

picture.image

Ablation study

picture.image

有两个超参数可以调整EOS信号在推理过程中发出的积极程度:

  1. EOS阈值 ,即在推理过程中发出EOS的负概率阈值;
  2. silence长度阈值 ,即 训练话语中两个单词之间的最小silence长度,以便在目标文本中的这两个单词之间注入EOS令牌

这是有道理的:如果模型被训练成更积极地发射EOS(更小的沉默长度阈值),那么在推理过程中它需要受到更多的限制(更小的EOS阈值)。该研究表明,沉默长度阈值超参数在训练过程中相当不敏感,因为我们可以在推理过程中对其进行补偿。

这表明,在推理过程中,改变沉默长度阈值不会影响最佳段长度,这表明测试集对于段的长度应该有一个潜在的最佳点。

Oracle WER

picture.image

Error analysis

picture.image

参考文献

0
0
0
0
关于作者

文章

0

获赞

0

收藏

0

相关资源
大规模高性能计算集群优化实践
随着机器学习的发展,数据量和训练模型都有越来越大的趋势,这对基础设施有了更高的要求,包括硬件、网络架构等。本次分享主要介绍火山引擎支撑大规模高性能计算集群的架构和优化实践。
相关产品
评论
未登录
看完啦,登录分享一下感受吧~
暂无评论