今天来介绍些asr相关的主要模型论文的总结,希望对asr有兴趣的朋友们做个入门版的概览
模型架构和主流
wav语音波形(连续) -> 分帧/加窗/傅里叶变换 -> 语音特征(梅尔谱)(离散) -> tokenize(codebook) -> asr模型 -> 文本
模型架构对比
AR自回归 vs NAR非自回归
非自回归框架弱于自回归框架模型:
1.非自回归更快,但缺少输出token的上下文依赖 2.NAR需要进行输出token的predict
with llm architecture vs traditional
主流模型
NAR非自回归
paraformer
AR自回归
sensevoice-large
whisper
大模型
qwen-audio 1/2
MooER
seedASR
数据集
AISHELL-1, AISHELL-2 benchmark
benchmark
MooER benchmark表
Language | Testset | Paraformer-large | SenseVoice-small | Qwen-audio | Whisper-large-v3 | SeamlessM4T-v2 | MooER-5K | MooER-80K | MooER-80K-v2 |
---|---|---|---|---|---|---|---|---|---|
Chinese | aishell1 | 1.93 | 3.03 | 1.43 | 7.86 | 4.09 | 1.93 | 1.25 | 1.00 |
aishell2_ios | 2.85 | 3.79 | 3.57 | 5.38 | 4.81 | 3.17 | 2.67 | 2.62 | |
test_magicdata | 3.66 | 3.81 | 5.31 | 8.36 | 9.69 | 3.48 | 2.52 | 2.17 | |
test_thchs | 3.99 | 5.17 | 4.86 | 9.06 | 7.14 | 4.11 | 3.14 | 3.00 | |
fleurs cmn_dev | 5.56 | 6.39 | 10.54 | 4.54 | 7.12 | 5.81 | 5.23 | 5.15 | |
fleurs cmn_test | 6.92 | 7.36 | 11.07 | 5.24 | 7.66 | 6.77 | 6.18 | 6.14 | |
average | 4.15 | 4.93 | 6.13 | 6.74 | 6.75 | 4.21 | 3.50 | 3.35 | |
English | librispeech test_clean | 14.15 | 4.07 | 2.15 | 3.42 | 2.77 | 7.78 | 4.11 | 3.57 |
librispeech test_other | 22.99 | 8.26 | 4.68 | 5.62 | 5.25 | 15.25 | 9.99 | 9.09 | |
fleurs eng_dev | 24.93 | 12.92 | 22.53 | 11.63 | 11.36 | 18.89 | 13.32 | 13.12 | |
fleurs eng_test | 26.81 | 13.41 | 22.51 | 12.57 | 11.82 | 20.41 | 14.97 | 14.74 | |
gigaspeech dev | 24.23 | 19.44 | 12.96 | 19.18 | 28.01 | 23.46 | 16.92 | 17.34 | |
gigaspeech test | 23.07 | 16.65 | 13.26 | 22.34 | 28.65 | 22.09 | 16.64 | 16.97 | |
average | 22.70 | 12.46 | 13.02 | 12.46 | 14.64 | 17.98 | 12.66 | 12.47 |
主要挑战:
- 生词
- 噪音
- 口音
- 说话人重叠
- 上下文信息
- 切分过程的信息丢失
seedASR
1.前情提要
大部分end2end model取得了不错的成绩,但都是数据匹配场景的(细分场景),已经遇到了瓶颈。大模型有能处理多域、多语言、口音/方言的能力,中英公开数据集10%-40%(wer或cer)的提升
2.5个亮点
高识别精度:通过对超过 2000 万小时的语音数据和近 90 万小时的配对 ASR 数据进行训练,我们的中文多方言模型 Seed-ASR(CN)和多语言模型 Seed-ASR(ML)在公共数据集和我们内部的综合评估集上都取得了令人印象深刻的结果(如图 所示);
大模型容量:Seed-ASR 采用了拥有近 20 亿参数的音频编码器和包含数十亿参数的专家混合(MoE)LLM 进行建模。
多语言支持:在保持高精度的同时,Seed-ASR(CN)支持使用单一模型转录普通话和 13 种中国方言。此外,Seed-ASR(ML)能够识别英语及其他 7 种语言的语音,并且正在扩展以支持超过 40 种语言;
上下文感知能力:Seed-ASR 在统一模型中利用了包括历史对话、视频编辑历史和会议参与细节在内的多种上下文信息,以捕捉与语音内容相关的关键指标。这种整合大幅提升了各种场景下 ASR 评估集中的关键词召回率;
分阶段训练方案:Seed-ASR 的开发经历了一个简单而有效的训练方案:音频编码器的自监督学习(SSL)→ 监督微调(SFT)→ 上下文 SFT → 强化学习(RL)。每个阶段都有其独特的作用,确保了 Seed-ASR 的逐步性能提升。
(注意这里的qwen-audio是版本1的,版本2的asr效果和paraformer差不多)
3.模型架构和训练
3.1架构图
我们构建了一个拥有近 20 亿参数的音频编码器,并在数千万小时的数据上进行自监督学习(SSL)。经过预训练的音频编码器获得了强大的语音表示能力,从而在监督微调(SFT)阶段实现了快速收敛。在大规模 SSL 阶段之后,我们在 AcLLM 框架内实施了一个简单而有效的分阶段训练方案(如图 3 所示)。在 SFT 阶段,我们通过在大量语音-文本对上进行训练,建立语音和文本之间的映射关系。在上下文 SFT 阶段,我们使用相对较少的上下文-语音-文本三元组数据来引导 LLM 从上下文中捕捉与语音相关线索的能力。这些三元组数据可以根据特定场景进行定制。在强化学习阶段,我们应用了 MWER [37] 的训练标准并进行了一些改进,以进一步增强我们模型的能力。在接下来的小节中,我们将更详细地介绍这些方法。
3.2 音频编码器的自监督学习(SSL)
大规模的 SSL 使音频编码器能够从语音中捕捉丰富的信息。受到基于 BERT 的语音 SSL 框架 [27, 2, 8, 10] 的启发,我们开发了一个基于 Conformer [22] 的音频编码器模型,该模型能够捕捉音频信号中存储的全局和局部结构。在这项工作中,我们主要关注语音信号。由于它是在大规模无监督数据上进行训练的,我们将训练后的音频编码器称为 LUISE,代表大规模无监督迭代语音编码器(Large-scale Unsupervised Iterative Speech Encoder)。
遵循 BERT [14] 的概念,LUISE 采用了掩码语言预测的学习范式。训练过程如图 4 所示。具体来说,从波形中提取的梅尔滤波器组特征序列首先被输入到分词器模块,以获得每一帧的离散标签。然后,LUISE 的训练使用交叉熵标准进行,损失函数仅针对被掩码的帧计算。训练完成后,移除 softmax 层,LUISE 的编码器部分将用于后续的监督微调。
我们采用了一种迭代固定分词器方法来为每一帧获取相应的离散标签。在第一轮迭代中,我们使用随机投影层 [10] 将语音特征投射到一个随机初始化的码本中,并通过寻找码本中最接近的向量将它们映射为离散标签。在第二轮迭代中,我们对先前训练的编码器的中间层表示进行 K-means 聚类,以获得一个新的码本。然后,通过在新的码本中寻找最接近同一中间层表示的向量,获得离散标签。在选择中间层时,我们冻结在第一轮迭代中训练的编码器参数,并在每个中间层上添加一个映射层和连接时序分类(CTC)[21] 损失,以进行监督微调。图 5 显示了在每个中间层表示上进行监督微调后获得的字错误率(WER)。对于拥有 20 亿参数的 LUISE,32 层中的第 25 层的输出表现出了最佳的语义表示,并被用于后续迭代中离散标签的生成。
3.3 SFT
在对大规模语音数据进行训练后,LUISE 已经发展出强大的语音表示能力。它输出的连续表示包含丰富的语音和语义信息,帧率为 40 毫秒。为了使 AcLLM 更好地理解语音中的相应文本内容,我们需要将编码表示中的语义信息映射到 LLM 的语义空间中。为此,我们使用了以下两种方法:
- 在模型结构中,我们引入了一个转换器模块,将我们的音频编码器(LUISE)与 LLM 连接起来(如图 2 所示)。转换器包括一个下采样模块和一个线性投影层。我们发现不同的下采样方法效果相同,因此我们采用了最简洁的方法:帧拼接。具体来说,我们将连续的 4 帧语音表示在特征维度上进行拼接后输入到线性层中。因此,图 2 中输入到 LLM 的语音表示帧率为 160 毫秒;
- 在训练方法方面,我们采用了“可学习音频编码器 + 可学习转换器 + 固定 LLM”的策略,通过保持 LLM 的参数不变,最大化保留 LLM 的丰富语义知识和推理能力。可学习的音频编码器和转换器参数确保语音表示中的语义信息与 LLM 的语义空间对齐。在训练过程中,使用交叉熵损失函数,只有生成转录文本的标记位置参与交叉熵计算。
3.4 Context SFT
在对大规模语音-文本对数据进行训练后,我们的 SFT 模型在覆盖多个领域的测试集上表现出色。然而,SFT 模型的训练方式决定了它在给定上下文信息(context)时缺乏识别模糊语音内容的能力。这些问题在涉及口音(语音模糊)、同音词或稀有词(语义模糊)的场景中尤为突出。因此,我们引入了上下文感知训练
和联合束搜索方法来增强模型有效利用上下文的能力(示例见图 6)。
-
上下文感知训练:首先,我们使用内部 LLM 生成与语音转录相关的上下文。与使用长文本语音的历史转录作为上下文相比,实验表明这种方法效果更好。生成的自然语言上下文能够提供比采样词汇更完整的语义,从而使得模型不仅能复制相关的转录内容,还能学习推理。接着,我们建立了一个 <context, speech, text> 三元组的数据集,并与一定比例的通用 ASR 数据(语音-文本对数据)混合用于上下文感知训练。如图 2 所示,在上下文感知训练过程中,我们将上下文和语音表示输入到 LLM 中。此训练的目标是增强模型从上下文中捕捉与语音内容相关线索的能力。
-
联合束搜索:我们发现直接使用原生束搜索存在严重的幻觉问题。为了解决这个问题,我们提出了一种联合束搜索的解码策略,以缓解这一问题。具体而言,我们使用联合束搜索来寻找最佳得分 P j o i n t ( y ∣ x , c ) P_{joint}(y|x, c) Pjoint(y∣x,c),其中 y y y 表示预测的假设, x x x 是语音信息, c c c 是给定的上下文信息。超参数 α \alpha α 用于平衡解码过程中语音信息和上下文信息的重要性:
P j o i n t ( y ∣ x , c ) = α 1 + α ⋅ P ( y ∣ x , c ) + 1 1 + α ⋅ P ( y ∣ x ) P_{joint}(y|x, c) = \frac{\alpha}{1 + \alpha} \cdot P(y|x, c) + \frac{1}{1 + \alpha} \cdot P(y|x) Pjoint(y∣x,c)=1+αα⋅P(y∣x,c)+1+α1⋅P(y∣x)
同时,我们引入了一种修剪策略,首先使用上下文无关的得分 P ( y ∣ x ) P(y|x) P(y∣x) 来过滤掉声学上不合理的候选标记,然后对剩余的候选标记应用联合束搜索。修剪策略在减轻幻觉问题中发挥了重要作用。
3.5 RL
由于 SFT 和 Context SFT 阶段的训练是基于交叉熵目标函数,这与推理过程中使用的评估指标(如 WER)存在不匹配。随着强化学习(RL)的成功发展,它能够在序列建模任务中学习相对优化的决策策略。因此,我们通过构建基于 ASR 指标的奖励函数引入了 RL 阶段。
词错误率(WER)通常被视为评估 ASR 模型性能的核心指标,但句子中的某些内容(如关键词)在理解整个句子时起着更关键的作用。因此,我们还引入了加权词错误率(WWER)作为额外的奖励函数,强调关键词错误的重要性。具体来说,我们在 RL 阶段将最小词错误率(MWER)作为另一个训练目标,与交叉熵目标 L C E L_{CE} LCE 进行插值:
L N − b e s t m w e r ( x , y ∗ ) = 1 N ∑ y i ∈ N − b e s t ( x , N ) P ^ ( y i ∣ x ) ( W ( y i , y ∗ ) − W ˉ ) + λ L C E L_{N-best_{mwer}}(x, y^*) = \frac{1}{N} \sum_{y_i \in N-best(x, N)} \hat{P}(y_i|x) \left(W(y_i, y^*) - \bar{W}\right) + \lambda L_{CE} LN−bestmwer(x,y∗)=N1∑yi∈N−best(x,N)P^(yi∣x)(W(yi,y∗)−Wˉ)+λLCE
其中, W ( y ∗ , y i ) W(y^*, y_i) W(y∗,yi) 代表 ground-truth( y ∗ y^* y∗)和 N-best 中每个假设 y i y_i yi 之间的 WER 或 WWER 值(关键词错误的权重增加)。 W ˉ \bar{W} Wˉ 代表 N-best 假设的平均 WER 或 WWER。 λ \lambda λ 是插值系数。 P ^ ( y i ∣ x ) \hat{P}(y_i|x) P^(yi∣x) 代表假设的归一化似然概率,其计算方式如下:
P ^ ( y i ∣ x ) = P ( y i ∣ x ) ∑ y i ∈ N − b e s t ( x , N ) P ( y i ∣ x ) \hat{P}(y_i|x) = \frac{P(y_i|x)}{\sum_{y_i \in N-best(x, N)} P(y_i|x)} P^(yi∣x)=∑yi∈N−best(x,N)P(yi∣x)P(yi∣x)
为了提高 RL 的训练效率,我们部署了一个远程服务来生成假设,并同时计算 MWER 损失,同时在当前服务器上更新模型参数。在 RL 训练过程中:1) 我们使用之前阶段训练得到的上下文 SFT 模型初始化模型参数;2) 我们利用高质量的数据进行强化学习训练,数据规模达到数千小时;3) 为了保留初始化模型的上下文感知能力,我们的训练数据还包括一定比例的 <context, speech, text> 三元组。在完成 RL 训练后,我们得到我们的 Seed-ASR 模型。
表 1:RL 阶段的消融研究。加权 WER 作为奖励函数在所有三个评估集上表现优于 WER(这些集合的详细信息在第 4.1 节中介绍)。RL 阶段中的 <contexts, speech, text> 三元组训练数据确保了上下文感知能力没有下降。Seed-ASR 使用了最后一行的策略。WER 或加权 WER 指标计算中文、日文和韩文的字符错误率,英文及其他语言的词错误率。
模型 | 多领域 WER ↓ | Hardcase (F1%) ↑ | 上下文严格 (Recall%) ↑ |
---|---|---|---|
Context SFT 后模型 | 2.02 | 93.39 | 80.63 |
+ RL w/ WER 奖励 | 1.98 | 93.39 | 75.34 |
+ RL w/ 加权 WER 奖励 | 1.94 | 93.78 | 78.01 |
+ 训练 w/ 上下文 | 1.94 | 93.72 | 80.63 |
3.6 观察
在提高 Seed-ASR 性能的过程中,我们也获得了一些观察结果:
3.6.1 Scaling Law
在 LLM 领域,观察到更大的模型可以通过在更多数据上训练来持续降低损失值 [29, 26]。据我们所知,尚无关于基于 LLM 框架下音频编码器的扩展法则的相关研究。在 SSL 阶段,我们进行实验以探索不同模型规模下 LUISE 的性能。具体而言,我们选择了五组模型规模:75M、0.2B、0.6B、2B 和 5B。训练数据包括 770 万小时的无监督语音数据,覆盖多个领域,确保模型容量的充分利用。不同规模的模型在大多数训练配置中保持一致,除了随着模型规模的增加,我们按比例扩展模型的宽度和深度,适当增加批次大小和权重衰减,并降低学习率。
我们首先关注交叉熵预训练损失值与模型规模之间的相关性。如图 (a) 所示,我们观察到两者之间几乎是线性相关的。此外,我们比较了在小规模 SFT 数据上训练后的性能,使用贪婪搜索进行推理。如图 (b) 所示,多领域评估集上的 WER 指标也与 LUISE 的模型规模几乎呈线性相关关系。此外,这揭示了 SFT 后测试集上的 WER 指标与 SSL 阶段的损失函数值之间的正相关关系,如图 © 所示。这些关于扩展法则的发现为我们选择编码器(考虑到性能和效率的平衡)以及后续优化提供了指导。
3.6.2 长文本能力
我们的 Seed-ASR 模型在 AcLLM 框架下建模,自然利用了 LLM 的语义知识和长上下文建模能力。因此,我们还探索了将整个长文本语音直接输入 LLM 进行识别的选项。这种方法有效避免了将长文本语音分割为多个独立推理的问题:1) **分割过程可能导致边界处信息的丢失,**2)分割过程会破坏长文本语音中的强全局上下文信息,从而影响识别的准确性和一致性。
表 2:长文本视频测试集上的性能比较
模型 | 平均 WER | video_1 | video_2 | video_3 | video_4 | video_5 |
---|---|---|---|---|---|---|
Transducer-based E2E Model | 3.92 | 2.83 | 3.80 | 3.80 | 4.22 | 4.66 |
Paraformer-large | 5.97 | 5.78 | 5.36 | 5.80 | 6.87 | 5.96 |
Our Model after short-form SFT | 2.28 | 1.48 | 1.99 | 2.31 | 2.64 | 2.73 |
+ long-form SFT | 2.08 | 1.44 | 1.96 | 1.95 | 2.56 | 2.31 |
具体来说,我们构建了一系列长文本视频测试集,包括来自不同来源的 5 个数据集。在训练过程中,将整个长文本数据输入模型,而没有进行任何分割处理。测试集的时长分布与训练集相当。如表 2 所示,相比于短文本训练,长文本数据的训练和测试使得相对 WER 减少了近 8.8%。短文本训练使用了领域自适应 VAD 将长文本语音分割成几个部分进行训练和测试。长文本视频测试集的最大时长为 5 分钟,并具有显著的长度扩展调度器。
4 模型与评估
目前,我们重点关注在多样化场景中对中文和多语言(不含中文)语音识别性能的全面提升。因此,我们展示了两个具有相同模型结构和训练配方的 Seed-ASR 模型:中文多方言模型,称为 Seed-ASR (CN),以及多语言模型,称为 Seed-ASR (ML)。虽然我们还有支持中文和多语言的模型,但本报告将详细介绍这两个分别关注中文和多语言(不含中文)的 Seed-ASR 模型。
Seed-ASR (CN) 不仅可以用单一模型转录普通话和 13 种中国方言,还在多维度评估集上表现出显著的性能提升,包括多领域、多方言、多口音和公共集。此外,上下文 SFT 阶段的训练使 Seed-ASR (CN) 在对话上下文评估集上展现了有效的上下文感知能力。类似地,Seed-ASR (ML) 在 8 个多语言公共集(包括英语)和多领域评估集上与其他发布的模型相比取得了具有竞争力的结果,并正在扩展到 40 多种语言。在以下部分中,词错误率(WER)被用作主要的评估指标。除非另有说明,WER 指标用于计算中文、日文、韩文的字符错误率,以及英文和其他语言的词错误率。
4.1 Seed-ASR (CN)
Seed-ASR (CN) 遵循如图 3 所示的完整训练流程。在 SSL 阶段,我们使用了参数接近 20 亿的 LUISE 编码器,并在来自各种领域的近八百万小时的普通话和中国方言语音数据上进行训练。在 SFT 阶段,我们使用训练好的 LUISE 和一个拥有超过 100 亿参数的 MoE LLM 进行模型初始化。训练数据包括包含多个领域和方言数据的普通话数据。SSL 和 SFT 阶段的详细数据分布介绍见附录 A.3。在上下文 SFT 阶段,我们使用一定比例的 SFT 阶段数据,并混合一些 <context, speech, text> 三元组数据进行训练。在 RL 阶段,我们使用训练好的上下文 SFT 模型进行初始化,并构建高质量的训练数据进行训练。经过这一综合训练过程,我们获得了 Seed-ASR (CN) 模型。
为了全面评估 Seed-ASR (CN) 模型的 ASR 能力,我们将其与其他发布的模型在公共数据集上进行了比较,并构建了一系列评估集,包括多领域集、多源视频集、难案例集、多方言集、多口音集、上下文感知集和主观可懂度评估。
4.1.1 在公共数据集上的评估
我们将 Seed-ASR (CN) 与最近发布的大型模型在几个中文 ASR 基准测试集上进行了比较,包括:
- aishell-1 [5] 的测试集,标记为 aishell1_test,包含约 5 小时的朗读语音;
- aishell-2 [16] 的三个测试集,标记为 aishell2_andriod、aishell2_ios 和 aishell2_mic,每个集包含约 5 小时的朗读语音;
- Wenetspeech [49] 的两个测试集,标记为 wenetspeech_testnet 和 wenetspeech_testmeeting,分别包含 23 小时和 15 小时的多领域测试数据。
表 3:Seed-ASR (CN) 与其他发布的大型 ASR 模型在中文 ASR 基准测试集上的比较
模型 | aishell1_test | aishell2_andriod | aishell2_ios | aishell2_mic | wenetspeech_testnet | wenetspeech_testmeeting | 平均-6 |
---|---|---|---|---|---|---|---|
Paraformer-large | 1.68 | 3.13 | 2.85 | 3.06 | 6.74 | 6.97 | 4.07 |
Qwen-Audio | 1.3 | 3.3 | 3.1 | 3.3 | 9.5 | 10.87 | 5.23 |
Hubert+Baichuan2 | 0.95 | 3.5 (平均) | 2.27 | 2.28 | 6.06 | 6.26 | 3.96 |
Seed-ASR (CN) | 0.68 | 2.27 | 2.27 | 2.28 | 4.66 | 5.69 | 2.98 |
最终结果是上述 6 个测试集的 WER(中文字符错误率)平均值。我们比较的基线模型包括 Paraformer-Large [17]、Qwen-Audio [12] 和一个最近发布的基于 LLM 的 ASR 模型 Hubert+Baichuan2 [18]。这些结果来自它们各自的论文。如表 3 所示,Seed-ASR (CN) 在这些公共数据集上表现出显著的性能优势,达到了最先进的结果。在这 6 个测试集上的平均 WER 中,Seed-ASR (CN) 比其他发布的模型减少了 24% 至 40% 的 WER。
4.1.2 在多领域和多源视频集上的评估
我们还在多领域评估集上进行了全面性能比较,该集包含来自各种场景的高质量评估数据,包括视频、直播、语音搜索、会议、智能助手等。多领域集中的 7 个集的加权平均 WER 被用作最终指标。我们选择了一个基于转导的端到端模型 [20],该模型具有 MoE 编码器和超过 3 亿参数,作为基线之一。此外,我们还将 Paraformer-large(离线解码)的结果作为另一个基线。在表 4 的结果中,Seed-ASR (CN) 显示出显著的性能优势,与我们强大的端到端模型相比,WER 指标相对降低了超过 47%。在覆盖 7 个不同子集的视频评估集中,Seed-ASR (CN) 也获得了相当的性能提升。这些结果展示了 Seed-ASR (CN) 的强大基础能力。
表 4:涵盖多领域、多源视频和难案例(含专有名词)三个集的评估结果。对于前两个集使用 WER 作为指标,对于难案例集使用给定关键字的 F1 分数作为指标。
模型 | 多领域 (WER%) ↓ | 视频平均 (WER%) ↓ | 难案例 (F1%) ↑ |
---|---|---|---|
Transducer-based E2E Model | 3.68 | 3.92 | 90.42 |
Paraformer-large | 5.23 | 5.97 | 87.99 |
Seed-ASR (CN) | 1.94 | 2.70 | 93.72 |
此外,我们通过引入 10 个难案例测试集来评估高层次的 ASR 能力,这些测试集涵盖了书名、汽车名称、成语、药品名称、电影名称、古诗、产品名称、音乐名称等。设计这些测试集旨在评估模型识别包含强专业性和领域特异性专有名词的语音内容的能力,反映 ASR 模型的知识储备和识别准确度。难案例集的评估指标是每个句子中给定关键字的 F1 分数。如表 4 所示,Seed-ASR (CN) 模型在 F1 值上比端到端模型基线提高了 3.3%,展示了 AcLLM 模型框架在利用 LLM 的常识知识和语义推理能力方面的有效性。
4.1.3 在多方言集和多口音集上的评估
由于我们的 Seed-ASR (CN) 模型支持普通话和 13 种中国方言的识别,我们还引入了一个方言评估集。该集包含 13 种方言(粤语、西南方言、吴语、冀鲁方言、中原方言、闽南语等),并使用相同或相似的汉字发音手动标注文本。我们使用 WER 作为该方言评估集的客观指标。
表 5:在 13 种中国方言评估集上的比较
模型 | 13 种中国方言的平均 WER |
---|---|
Finetuned Whisper Medium-v2 | 21.68 |
Seed-ASR (CN) | 19.09 |
我们利用一个有 7.69 亿参数的微调 Whisper Medium-v2 作为基线模型。为了公平比较,我们用相同的方言训练集训练了 Whisper Medium-v2 和 Seed-ASR (CN)。Seed-ASR (CN) 需要在保持普通话的全面能力的同时,提升对方言的 ASR 性能,因此它在多个领域使用了更大比例的普通话数据。相比之下,Whisper Medium-v2 在如多领域集等综合评估集上的结果较差。尽管如此,Seed-ASR (CN) 模型凭借更大的建模能力,在 13 种方言集上的表现仍优于基线,13 种方言的平均 WER 从 21.68 降至 19.09(相对 WER 降低 11.4%),单一方言测试集上的相对 WER 降低超过 21%。
表 6:在 11 种中国口音评估集上的比较
模型 | 11 种中国口音的平均 WER |
---|---|
Transducer-based E2E Model | 13.74 |
Seed-ASR (CN) (不含口音 SFT 数据) | 5.90 |
Seed-ASR (CN) | 4.96 |
为了进一步验证 Seed-ASR (CN) 在多样语音上的识别性能,我们引入了一系列口音评估集,涵盖了 11 种中国口音,包括安徽、福建、甘肃、广东、广东、贵州、湖南、江西、辽宁、陕西、山西和云南。 我们的网站上也提供了具体口音的语音样本2。如表6所示,Seed-ASR (CN) 在口音测试集上的表现相比我们从零开始训练的强大E2E模型有显著提升。 我们还进行了消融实验,通过在训练过程中去除口音SFT数据,但Seed-ASR (CN) 在口音测试集上仍表现出强大的性能。在多方言和多口音评估集上的结果展示了Seed-ASR (CN) 在识别来自不同地区的中文语音方面的强大鲁棒性。
4.1.4 对话上下文集的评估
在上下文感知的评估中,我们构建了一个高质量的对话上下文集,其中对话历史作为上下文信息使用。如图8所示,我们提供了两个对话示例。每个测试案例包括相应的对话历史文本和当前识别的语音内容。 我们将对话上下文评估分为两个子集:严格子集和宽松子集。严格子集包含对话历史对准确识别语音内容有强烈依赖的样本,例如人名。 宽松子集则包含对对话历史和语音内容之间依赖较弱的样本,例如专有名词。我们使用关键词召回率作为评估指标。
关键词参考(一个样本) | 对话历史(一个样本) | 子集 |
---|---|---|
汗疱疹 | 什么是汗疱疹 speaker_a: 手上长了一颗颗小痘痘。 speaker_b: 小宁觉得你可能是长了“汗疱疹”,这是一种常见的皮肤病,通常会出现在手掌、手指侧面和脚底等部位。汗疱疹的症状包括瘙痒、水疱、脱皮等。。。如果你的手上长了一颗颗小痘痘,建议你及时就医,让医生进行诊断和治疗。同时,你可以尝试以下方法来缓解症状:1. 保持手部清洁和干燥,避免接触刺激性物品。2. 使用温和的洗手液和护手霜,保护手部皮肤。3. 避免食用刺激性食物和饮料,如辛辣食物、咖啡、酒精等。。。希望这些方法能帮助你缓解症状,祝你早日康复。 | 宽松 |
董卿 | 是的董卿高考考了多少分 speaker_a: 董卿高考多少分? speaker_b: 你是说主持人董卿吗 | 严格 |
图8:严格和宽松评估子集的示例。
在对话评估集上,Seed-ASR (CN) 模型显示出比利用上下文FST偏置[23, 51]来提高关键词召回率的强大端到端转录模型更好的关键词召回率。 与不使用上下文的Seed-ASR (CN)模型相比,使用上下文信息使召回率提高了超过15%。这些结果展示了我们的AcLLM模型框架在利用LLM的上下文感知能力方面的强大能力。
表7:Seed-ASR与端到端模型在我们的对话上下文集上的比较,涵盖了严格子集和宽松子集。 还比较了不同的解码策略。
模型 | 解码方法 | 对话上下文集 |
---|---|---|
转录器基于的E2E模型 | 上下文FST偏置 | 72.77 |
Seed-ASR (CN) | Beam Search(无上下文) | 65.45 |
Seed-ASR (CN) | 联合Beam Search | 80.63 |
在我们的网站2上,我们还提供了几个演示,展示了Seed-ASR (CN) 的上下文感知能力。 在智能助手的应用场景中,上下文不仅包括对话历史,还支持诸如机器人名称、机器人描述和字幕历史等信息。此外,我们发现上下文信息,如视频字幕的用户编辑历史和会议参与者的姓名,也可以提高Seed-ASR在各自应用中的性能。
关键词错误容忍度与识别准确度评分标准
评分标准 | 关键词错误 | 识别准确度 | 可理解性评分标准 | 分数 |
---|---|---|---|---|
完美无关键词错误 | 无关键词错误 | 95%+ | - 句子组织合理,符合日常表达习惯,因而能顺利理解。 - 识别结果充满有用信息 | 5分 |
几乎完美 | <1/4 句子含有关键词错误 | 70%+ | - 句子组织几乎合理,仅有少量分隔/ITN 错误,不影响意义传达。 - 大多数识别结果包含有用信息 | 4分 |
良好 | 1/4~1/3 句子含有关键词错误 | 50%+ | - 识别结果中存在相当多的错误,但可以通过前后文理解。 - 存在明显的不当用词或分隔/ITN 错误。 - 很多识别结果包含有用信息 | 3分 |
中等 | 1/3~1/2 句子含有关键词错误 | <50% | - 识别文本中少于50%的内容可以理解。整体意义需要猜测。 - 存在许多不当用词或分隔/ITN 错误。 - 一些识别结果包含有用信息 | 2分 |
差 | >1/2 句子含有关键词错误 | <30% | - 存在大量不当用词或分隔/ITN 错误。 - 识别文本几乎无法理解。 - 识别结果包含极少有用信息 | 1分 |
主观评估
除了上述的客观评估,我们还进行了一次主观评估,以进一步测量 Seed-ASR (CN) 模型的有效性。我们选择了三名受过良好教育的听写员在多领域集合的 5 个测试场景(视频、直播、语音搜索、会议和智能助手)中进行听写。在听写过程中,听写员可以多次收听样本并使用搜索引擎确保转录的准确性。听写完成后,我们会随机化听写员和 Seed-ASR (CN) 模型的结果进行主观评估。主观评估的指标是可理解性,评分范围为 1-5 分。评分标准如图 9 所示。
在语音搜索和语音助手的测试集上,人类识别结果的可理解性与 Seed-ASR (CN) 模型相当。然而,在直播、视频和会议中,Seed-ASR (CN) 显示出比人类更好的主观可理解性。特别是在专业领域词汇和复杂音频环境下,相较于人类,该模型能够更准确地转录内容,并给出更高可理解性的识别结果。
表 8: Seed-ASR (CN) 与三名人工听写员主观可理解性评分比较
场景 | 语音搜索 | 直播 | 视频 | 会议 | 智能助手 | 平均 |
---|---|---|---|---|---|---|
3名人工结果 | 4.89/4.85/4.87 | 4.26/4.58/4.50 | 4.60/4.64/4.63 | 4.30/4.03/4.37 | 4.92/4.85/4.88 | - |
人工平均 | 4.87 | 4.45 | 4.62 | 4.23 | 4.88 | 4.61 |
Seed-ASR (CN) | 4.9 | 4.81 | 4.89 | 4.76 | 4.92 | 4.86 |
总结
通过包括 SFT → 上下文 SFT → RL 的阶段性训练流程,我们得到了 Seed-ASR (CN) 模型。在上述综合评估集上,我们观察到 Seed-ASR (CN) 模型在不同训练阶段具备了某些能力的提升。这里,我们提供了每个阶段效果的详细消融研究,结果如表 9 所示。首先,引入 RL 阶段带来了大多数评估集的改进,如多领域、多源视频、多方言、难案例和代码切换。在口音测试集上的轻微退化可能是由于训练数据比例的问题。此外,在上下文 SFT 阶段的训练对大多数测试集产生了积极影响,特别是在上下文严格测试集上的召回指标显著提升。这进一步证明了我们上下文感知训练和解码策略在上下文 SFT 阶段的有效性。
评估结果表明,Seed-ASR (CN) 相较于经典的端到端模型和其他发布的模型,具备更全面和强大的模型能力。Seed-ASR 在公共测试集和我们的主观可理解性评估中表现出明显的性能优势。
4.2.2 公共数据集评估
除了内部的多领域评估集,我们还在公开测试集上对 Seed-ASR (ML) 进行了与其他模型的比较,包括 Librispeech [36] 的测试集(clean/other)、MLS [38]、Tedlium 3 [24]、Callhome、Switchboard[19]、AMI [30] 和 Fleurs [13]。测试集的详细信息见附录 A.2。结果如表 11 所示。请注意,所有基准模型的结果均为各自论文或技术报告中报告的 WER(Whisper Large-v3 的结果来自 Universal-1 的技术报告 [41])。从表 11 可以看出,Seed-ASR (ML) 在大多数测试集上表现优异,与其他模型相比,改进幅度在 10% 到 40% 之间,显示了 Seed-ASR (ML) 在训练期间未见领域的泛化能力。
表 11: Seed-ASR (ML) 在英语和多语言公共测试集上的 ASR 结果
测试集 | 语言 | Google USM[50] | Whisper Large-v2[39] | Whisper Large-v3 | Universal-1[41] | Gemini-1.5 Pro[42] | Seed-ASR (ML) |
---|---|---|---|---|---|---|---|
Librispeech test_clean | EN | - | 2.7 | 1.8 | 1.6 | - | 1.58 |
Librispeech test_other | EN | - | 5.2 | 3.6 | 3.1 | - | 2.84 |
Tedlium 3 | EN | - | 4.0 | 7.4 | 7.5 | - | 3.11 |
Switchboard | EN | - | 13.8 | - | - | - | 11.59 |
CallHome | EN | - | 17.6 | - | - | - | 12.24 |
AMI IHM | EN | - | 16.9 | - | - | - | 13.16 |
Fleurs | EN | - | 4.4 | - | - | - | 3.43 |
AR | - | 16 | - | - | - | 13.05 | |
ES | - | 3.0 | 2.8 | 5.0 | - | 2.50 | |
FR | - | 8.3 | 5.6 | 6.8 | - | 7.09 | |
ID | - | 7.1 | - | - | - | 4.24 | |
JA | - | 5.3 | - | - | - | 3.46 | |
KO | - | 14.3 | - | - | - | 3.25 | |
PT | - | 4.3 | - | - | - | 3.55 | |
MLS | EN | 7 | 6.2 | - | - | 4.6 | 4.14 |
ES | - | 4.2 | 5.7 | 3.3 | - | 3.76 | |
FR | - | 7.3 | 8.1 | 2.3 | - | 5.10 | |
PT | - | 6.8 | - | - | - | 5.04 |
4.2.3 总结
与 Seed-ASR (CN) 类似,Seed-ASR (ML) 在广泛的评估集上展现了卓越的性能,相较于多个强基准模型。该模型在识别具有多样化声学环境、语义上下文和口音的语音时表现出色,突显了模型的泛化能力及其在处理训练期间未见领域的语音的有效性。总体而言,在中文和多语言环境中的评估结果展示了 Seed-ASR 在多语言、多方言、多口音、多领域以及多种定制需求的应用场景中的泛化和强大基础能力。
5 结论
Seed-ASR 模型通过包括 SFT、上下文 SFT 和 RL 在内的逐阶段训练方法,展示了在不同声学和语义领域、口音/方言/语言以及长时间语音持续时间上的优越能力,相较于最近发布的强大端到端模型。大规模的 LUISE 预训练和 SFT 使 Seed-ASR 能够理解多样化的语音内容。上下文 SFT 阶段的引入显著提升了模型在给定相关上下文时对关键词的召回,展示了模型在利用 LLM 的上下文感知能力方面的强大定制能力。RL 阶段进一步巩固了 Seed-ASR 的文本生成行为与准确转录需求之间的对齐,特别是对语义重要部分的转录。总体而言,结果确认了 Seed-ASR 作为适用于多语言、方言、口音、领域和定制需求的顶级 ASR 模型的位置。未来,我们将重点扩展 Seed-ASR 在单一模型中处理多个任务的能力,进一步提升长文处理能力,并增加支持的语言数量。
采用的数据集附录
https://i-blog.csdnimg.cn/direct/53d789b90b6b49d582810183f2b7464b.png
Qwen2-Audio
摘要
我们介绍了最新进展的Qwen-Audio,一个名为Qwen2-Audio的大规模音频-语言模型。该模型能够接受各种音频信号输入,并根据语音指令进行音频分析或直接生成文本响应。与复杂的层次化标签相比,我们通过对不同数据和任务使用自然语言提示,简化了预训练过程,并进一步扩大了数据量。我们提升了Qwen2-Audio的指令跟随能力,并实现了两种不同的音频交互模式:语音聊天和音频分析。在语音聊天模式下,用户可以在无需文本输入的情况下自由与Qwen2-Audio进行语音交互。在音频分析模式下,用户可以在交互过程中提供音频和文本指令进行分析。需要注意的是,我们并未使用任何系统提示来切换语音聊天和音频分析模式。Qwen2-Audio能够智能理解音频内容并遵循语音指令做出适当的响应。例如,在一个同时包含声音、多方对话和语音指令的音频片段中,Qwen2-Audio可以直接理解指令并对音频进行解释和响应。此外,DPO优化了模型在事实性和行为一致性方面的性能。根据AIR-Bench的评估结果,Qwen2-Audio在以音频为中心的指令跟随能力测试中表现优于之前的SOTA模型,如Gemini-1.5-pro。Qwen2-Audio是开源的,旨在促进多模态语言社区的发展。
介绍
Qwen2-Audio有两种不同的操作模式:音频分析模式和语音聊天模式。这两种模式在功能上有所区别,但用户在使用时无需刻意区分。在音频分析模式下,用户可以利用Qwen2-Audio分析各种类型的音频,包括语音、声音、音乐或各种混合音频形式。指令可以通过音频或文本发出,Qwen2-Audio将自主识别音频中的指令片段。相反,在语音聊天模式下,用户可以像与对话代理一样与Qwen2-Audio进行互动,进行无限制的对话。音频交互是可用的,用户可以随时切换到文本交互。例如,如果用户输入的音频片段中,前半部分是键盘打字的声音,接着用户用口语问“这是什么声音?”,Qwen2-Audio应该直接回应“这是键盘的声音。”
如图1所示,大量评估表明,Qwen2-Audio在没有任何特定任务微调的情况下,在各种任务中均优于之前的LALMs。
在Aishell2、FLUERS-zh、VocalSound和AIR-Bench聊天基准测试的测试集中,Qwen2-Audio达到了最先进的性能。
原理
模型架构
Qwen2-Audio的训练过程如图2所示,包含一个音频编码器和一个大型语言模型。给定配对数据 ( a , x ) (a, x) (a,x),其中 a a a和 x x x分别表示音频序列和文本序列,训练目标是最大化下一个文本标记的概率:
P θ ( x t ∣ x < t , Encoder ϕ ( a ) ) , P_\theta(x_t | x_{<t}, \text{Encoder}_\phi(a)), Pθ(xt∣x<t,Encoderϕ(a)),
条件是音频表示和先前的文本序列 x < t x_{<t} x<t,其中 θ \theta θ和 ϕ \phi ϕ分别表示LLM和音频编码器的可训练参数。
与Qwen-Audio不同,Qwen2-Audio的音频编码器初始化基于Whisper-large-v3模型 (Radford et al., 2023)。为了预处理音频数据,我们将其重新采样为16kHz的频率,并使用25ms的窗口大小和10ms的跳步大小将原始波形转换为128通道的梅尔频谱图。此外,使用步幅为2的池化层来减少音频表示的长度。因此,编码器输出的每一帧大约对应于原始音频信号的40ms片段。Qwen2-Audio仍然将大型语言模型Qwen-7B (Bai et al., 2023)作为其基础组件。Qwen2-Audio的总参数量为82亿个参数。
预训练
在预训练阶段,我们用自然语言提示替换了层次化标签 (Chu et al., 2023),如图2所示。我们发现,使用语言提示可以提高模型的泛化能力和指令跟随能力。
监督微调
Qwen2-Audio经过彻底的预训练,已经具备了对音频内容的全面理解。在此基础上,我们采用基于指令的微调的技术来提高模型与人类意图对齐的能力,从而形成一个交互式聊天模型。我们的初步研究强调了SFT数据质量和复杂性对模型性能的关键影响。因此,我们精心收集了一套高质量的SFT数据,并实施了严格的质量控制程序。
我们考虑了两种不同的人机交互模式:
- 音频分析模式:在音频分析模式下,用户可以灵活地让Qwen2-Audio分析各种类型的音频。用户的指令可以通过音频或文本发出。此模式通常用于音频文件的离线分析。
- 语音聊天模式:在语音聊天模式下,用户可以与Qwen2-Audio进行语音对话,提出各种问题。请将其视为您的语音聊天助手。此模式通常用于与大型音频-语言模型的在线互动。
为了保持一致性和模型的统一性,两种交互模式在训练过程中是联合进行的,因此用户在使用过程中不会感受到模式的区别,也无需通过单独的系统提示来切换不同模式。这两种模式在实际使用中无缝集成。
DPO
我们采用DPO (Rafailov et al., 2024) 来进一步优化模型以更好地遵循人类的偏好。通过获取包含三元组数据 ( x , y w , y l ) (x, y_w, y_l) (x,yw,yl) 的数据集 D D D,其中 x x x是带有输入音频的输入序列, y w y_w yw和 y l y_l yl分别是人类标注的好和坏的响应,我们对模型 P θ P_\theta Pθ进行如下优化:
L DPO ( P θ ; Pref ) = − E ( x , y w , y l ) ∼ D [ log σ ( β log P θ ( y w ∣ x ) − β log P θ ( y l ∣ x ) ) ] , L_{\text{DPO}}(P_\theta;\text{Pref}) = -\mathbb{E}_{(x,y_w,y_l)\sim D} \left[ \log \sigma \left( \beta \log P_\theta(y_w | x) - \beta \log P_\theta(y_l | x) \right) \right], LDPO(Pθ;Pref)=−E(x,yw,yl)∼D[logσ(βlogPθ(yw∣x)−βlogPθ(yl∣x))],
其中 Pref \text{Pref} Pref表示使用 P θ P_\theta Pθ初始化的参考模型, σ \sigma σ表示sigmoid函数, β \beta β是一个超参数。图2展示了Qwen2-Audio的三阶段训练过程。
表1:Qwen2-Audio评估基准的总结。
任务描述 | 数据集 | 划分 | 度量标准 |
---|---|---|---|
ASR 自动语音识别 | Fleurs (Conneau et al., 2022) | 开发集 | WER |
Aishell2 (Du et al., 2018) | 测试集 | WER | |
Librispeech (Panayotov et al., 2015) | 开发集 | WER | |
Common Voice (Ardila et al., 2020) | 开发集 | WER | |
S2TT 语音转文本翻译 | CoVoST2 (Wang et al., 2020) | 测试集 | BLEU 1 (Papineni et al., 2002) |
SER 语音情感识别 | Meld (Poria et al., 2019) | 测试集 | ACC |
VSC 人声分类 | VocalSound (Gong et al., 2022) | 测试集 | ACC |
AIR-Bench | |||
Chat-Benchmark-Speech | Fisher (Cieri et al., 2004) | 开发集 | GPT-4 Eval |
SpokenWOZ (Si et al., 2023) | 测试集 | GPT-4 Eval | |
IEMOCAP (Si et al., 2023) | 测试集 | GPT-4 Eval | |
Common voice (Ardila et al., 2020) | 开发集 | GPT-4 Eval | |
Chat-Benchmark-Sound | Clotho (Drossos et al., 2020) | 开发集 | GPT-4 Eval |
Chat-Benchmark-Music | MusicCaps (Agostinelli et al., 2023) | 开发集 | GPT-4 Eval |
Chat-Benchmark-Mixed-Audio | Common voice (Ardila et al., 2020) | 开发集 | GPT-4 Eval |
AudioCaps (Kim et al., 2019) | 开发集 | GPT-4 Eval | |
MusicCaps (Agostinelli et al., 2023) | 开发集 | GPT-4 Eval |
实验
评估
在实际操作中,我们发现许多之前的测试数据集非常有限,无法充分反映现实场景中的性能,例如某些SLU(语音语言理解)和SER(语音情感识别)数据集。因此,我们主要在AIR-Bench上直接评估性能。我们发现AIR-Bench的评分与实际用户互动体验更加一致。同时,为了评估Qwen2-Audio的通用理解能力,如表1所示,我们仍然进行了涵盖多项任务的综合评估,即自动语音识别(ASR)、语音转文本翻译(S2TT)、语音情感识别(SER)、人声分类(VSC)。评估覆盖了13个数据集。为了避免数据泄漏,评估数据集严格排除在训练数据之外。我们比较的模型包括开源模型和可调用的API,如Gemini。
主要结果
在本节中,我们将展示Qwen2-Audio模型在各种任务上的综合评估结果,评估其在没有任何特定任务微调的情况下的表现。我们首先查看其在英语自动语音识别(ASR)任务中的表现,如表2所示,Qwen2-Audio在Librispeech的test-clean和test-other数据集上分别达到了1.6%和3.6%的WER,比之前的多任务学习模型表现优异。特别是在Fleurs zh子集上,我们的结果优于Whisper-large-v3。需要注意的是,Qwen2-Audio并未在Common Voice 15数据集上以零样本方式评估,而Whisper的结果是通过零样本方式获得的。然而,在Fleurs数据集上,Qwen2-Audio和Whisper都是通过零样本方式评估的。此外,我们在CoVoST2数据集上评估了Qwen2-Audio的语音翻译性能。结果表明,Qwen2-Audio在所有七个翻译方向上均大幅优于基线。
在声音相关的任务上,我们分析了Qwen2-Audio在SER和VSC任务上的表现,如表2所总结。在这些任务中,Qwen2-Audio始终显著超越基线。
最后,为了客观评估Qwen2-Audio的聊天能力,我们测量了其在AIR-Bench的聊天基准测试(Yang等人,2024)。需要注意的是,由于Gemini-1.5(Reid等人,2024)在测试过程中因SAFETY原因无法正确返回某些测试样本,因此Gemini-1.5在AIR-Bench聊天部分的样本数量减少了大约1/5。如表2所示,Qwen2-Audio在语音、声音、音乐和混合音频子集上展示了最先进的(SOTA)指令跟随能力。与Qwen-Audio相比,它显示出了显著的改进,并且明显优于其他LALMs
表2:自动语音识别(ASR)、语音转文本翻译(S2TT)、语音情感识别(SER)、人声分类(VSC)和AIR-Bench聊天基准测试的结果。需要注意的是,对于Qwen2-Audio,Fleurs数据集的结果是零样本测试,而Common Voice的数据集结果则不是零样本。
任务 | 数据集 | 模型 | 性能指标 | 结果 |
---|---|---|---|---|
ASR | Librispeech | SpeechT5 (Ao et al., 2021) | WER ↓ | 2.1 |
- | SpeechNet (Chen et al., 2021) | - | - | |
- | SLM-FT (Wang et al., 2023b) | - | - | |
- | SALMONN (Tang et al., 2024) | - | - | |
- | SpeechVerse (Das et al., 2024) | - | - | |
- | Qwen-Audio (Chu et al., 2023) | 1.8 | 4.0 | |
- | Qwen2-Audio | **1.3 | 3.4 | |
ASR | Common Voice 15 | Whisper-large-v3 (Radford et al., 2023) | WER ↓ | 9.3 |
- | Qwen2-Audio | **8.6 | 6.9 | |
ASR | Fleurs | Whisper-large-v3 (Radford et al., 2023) | WER ↓ | 7.7 |
- | Qwen2-Audio | 7.5 | ||
ASR | Aishell2 | MMSpeech-base (Zhou et al., 2022) | WER ↓ | 4.5 |
- | Paraformer-large (Gao et al., 2023) | - | 2.9 | |
- | Qwen-Audio (Chu et al., 2023) | 3.3 | 3.1 | |
- | Qwen2-Audio | **3.0 | 3.0 | |
S2TT | CoVoST2 | SALMONN (Tang et al., 2024) | BLEU ↑ | 18.6 |
- | SpeechLLaMA (Wu et al., 2023a) | - | 27.1 | |
- | BLSP (Wang et al., 2023a) | 14.1 | - | |
- | Qwen-Audio (Chu et al., 2023) | 25.1 | 33.9 | |
- | Qwen2-Audio | **29.9 | 35.2 | |
S2TT | CoVoST2 | SpeechLLaMA (Wu et al., 2023a) | BLEU ↑ | 27.9 |
- | Qwen-Audio (Chu et al., 2023) | 39.7 | 38.5 | |
- | Qwen2-Audio | **40.0 | 38.5 | |
SER | Meld | WavLM-large (Chen et al., 2022) | ACC ↑ | 0.542 |
- | Qwen-Audio (Chu et al., 2023) | 0.557 | ||
- | Qwen2-Audio | 0.553 | ||
VSC | VocalSound | CLAP (Elizalde et al., 2022) | ACC ↑ | 0.4945 |
- | Pengi (Deshmukh et al., 2023) | 0.6035 | ||
- | Qwen-Audio (Chu et al., 2023) | 0.9289 | ||
- | Qwen2-Audio | 0.9392 | ||
AIR-Bench | Chat Benchmark | SALMONN (Tang et al., 2024) | GPT-4 ↑ | 6.16 |
- | BLSP (Wang et al., 2023a) | 6.17 | 5.55 | |
- | Pandagpt (Su et al., 2023) | 3.58 | 5.46 | |
- | Macaw-LLM (Lyu et al., 2023) | 0.97 | 1.01 | |
- | SpeechGPT (Zhang et al., 2023) | 1.57 | 0.95 | |
- | Next-gpt (Wu et al., 2023b) | 3.86 | 4.76 | |
- | Qwen-Audio (Chu et al., 2023) | 6.47 | 6.95 | |
- | Gemini-1.5-pro (Reid et al., 2024) | 6.97 | 5.49 | |
- | Qwen2-Audio | **7.18 | 6.99 |
注:由于Gemini-1.5在测试过程中因安全原因无法正确返回部分测试样本,导致其在AIR-Bench-chat上的样本数量减少了约1/5。正如表2所示,Qwen2-Audio在语音、声音、音乐和混合音频子集上的指令遵循能力达到了最先进(SOTA)的水平,较Qwen-Audio有显著改进,并显著优于其他模型。
演示案例地址:
https://qwenlm.github.io/blog/qwen2-audio/
MooER
在本文中,我们介绍了MooER,一个基于大型语言模型(LLM)的大规模自动语音识别(ASR)/自动语音翻译(AST)模型。MooER是由摩尔线程开发的,使用5000小时的伪标记数据集进行训练,该数据集包含开源数据和自采集的语音数据。我们的模型在性能上与那些使用数十万小时标记语音数据训练的开源模型相当。同时,在Covost2 Zh2en测试集上的实验表明,我们的模型优于其他开源的语音LLM,获得了25.2的BLEU得分。
本文的主要贡献总结如下。首先,本文提出了一种针对语音相关任务(包括ASR和AST)的编码器和LLM训练策略,使用少量的伪标记数据进行训练,无需额外的人工标注和选择。其次,我们发布了我们的ASR和AST模型,并计划在不久的将来开源我们的训练代码和策略。此外,我们计划稍后发布基于8wh规模训练数据训练的模型。
动机
2024年5月,OpenAI发布了GPT-4o,它支持端到端的语音输入和输出,开创了基于LLM的端到端语音交互技术。从那时起,语音作为人机交互最自然的方式,进入了新的“GPT时刻”。为此,研究人员一直在不断探索大规模语音模型。然而,在模型结构(如LLM的选择、语音编码器的选择以及语音编码器与LLM之间的连接关系)、训练方法(如训练阶段的划分、参数的单独调整、所需的数据规模、计算资源和成本等)方面,仍然存在许多不确定性。特别是在开源社区,现有的与语音大模型相关的工作主要分为两类:第一类使用开源训练数据集,在学术基准上验证其性能,例如Salmonn [2];第二类使用大量数据和训练资源,训练多个语音相关任务的模型,如Whisper [3]、SeamlessM4T [4]、Qwen-audio [5]、SenseVoice [6]、SpeechLlama [7]等。目前,很少有大规模语音模型能够在资源限制下,实现特定垂直领域的工业级应用。
我们的发布工作将语音大模型技术应用于ASR和AST任务的两个方面。首先,在模型结构和训练方面,我们使用了开源的Qwen2-7B-instruct模型[8]和开源的Paraformer[9]模型编码器进行模型初始化。在训练过程中,仅对语音适配器和LLM Lora[10]进行了调整。在参数微调时,还应用了诸如DeepSpeed [11]、数据加载器加速、梯度检查点、梯度累积和BF16加速等优化技术,以提高训练速度、稳定性和推理速度。其次,在训练资源方面,我们仅使用了8块由摩尔线程开发的国产S4000 GPU进行计算。我们的大型音频理解模型在5000小时(由部分开源数据集和伪标记数据集组合而成)的数据上进行训练,仅用了38小时。第三,在ASR任务中,我们在6个普通话测试集上获得了4.21%的CER,在6个英语测试集上获得了17.98%的WER。同时,我们在Covost2 Zh2en翻译测试集上实现了25.2的BLEU得分,满足了工业应用的要求。第四,本工作中的训练和推理均基于摩尔线程的GPU。据我们所知,这是第一个使用国产GPU进行训练和推理的大规模语音模型。我们还展示了一个使用80000小时数据训练的音频理解模型的效果,该模型在6个普通话测试集上的CER为3.5%,在6个英语测试集上的WER为12.66%。
我们发布了在5000小时数据上训练的模型和推理代码,并计划在不久的将来开源训练代码和使用80000小时数据训练的模型。我们希望这项工作能够为语音建模方法和技术实现的演进作出贡献。
方法
MooER受到了以下优秀工作和团队的极大启发:SLAM-LLM [12],我们感谢所有贡献者的开源分享。我们更加专注于ASR和AST任务,并针对大规模工业数据提出了一些相应的模型结构优化方法以及训练策略。例如,在5000小时的训练数据下,参数微调过程中结合了DeepSpeed、数据加载器加速、梯度检查点、梯度累积、BF16训练等技术。
如图1所示,提出的模型由编码器、适配器和解码器(LLM)组成。编码器对音频进行特征提取和嵌入,适配器对音频模态进行下采样并融合文本模态。LLM基于输入的音频和文本提示执行相应的任务,如ASR、AST等。
我们尝试了不同的编码器,包括Whisper、W2v-Bert2.0 [13]、Paraformer等。最终,我们选择了Paraformer的编码器来建模音频。我们使用Qwen2-7B-instruct作为LLM解码器。在进入Paraformer之前,音频将使用LFR(低帧率)以6的下采样率进行下采样。编码器输出的音频向量将由适配器进一步下采样,从而减少与文本嵌入的融合密度。适配器将音频下采样2倍,并通过两个线性层获取最终的音频提示嵌入。因此,音频的建模粒度为每个嵌入120毫秒。在拼接音频提示嵌入和文本提示嵌入之后,它们将被发送到LLM进行相应的识别或翻译操作。在训练过程中,编码器的参数始终是固定的,而适配器和LLM(Lora)则参与训练和梯度更新。
数据集
我们构建了MT5K训练数据集,包含来自下表中来源的总共5000小时语音数据:
来源 | 时长(小时) |
---|---|
Aishell2 [14] | 137 |
Librispeech [15] | 131 |
multi_cn [16] | 100 |
wenetspeech [17] | 1361 |
内部数据 | 3274 |
开源数据集中数据是从整个数据集中随机选择的。内部数据是内部收集的,其ASR伪标签通过第三方云服务的录音文件识别接口获得。我们将调用相应的ASR伪标签的第三方翻译接口以获得相应的AST伪标签。我们没有使用任何数据过滤方法来选择爬取的数据和伪标签,这可能在工业生产环境中减少手动处理。我们还展示了在80000小时内部数据上训练的ASR模型在测试集上的性能。
实验
我们的模型结构如下。我们使用 Paraformer 大型编码器作为音频编码器。Paraformer 只有 158M 的参数,比起需要填充到 30 秒限制的 Whisper 更加轻量,这使得训练和推理更加高效。音频编码器的输出会通过适配器进一步下采样,从而减少与文本嵌入的融合密度。适配器会将音频下采样 2 倍,并通过两个线性层以获得最终的音频提示嵌入。
我们的音频特征帧每 10ms 进行一次偏移,前端使用 LFR 进行下采样,采样率为 6。因此,音频的建模粒度为每个嵌入 120ms。音频嵌入将在文本提示嵌入之前直接拼接,并发送到 LLM 进行训练。我们使用 Qwen2-7B 指令作为我们的 LLM 解码器。
LLM 的最终输入形式为:
<Speech Embedding><|im_start|>system \n You are a helpful assistant.
<|im_end|>\n<|im_start|>user\nTranslate speech to english text.<|im_end|>\n<|im_start|>assistant\n
你叫什么名字? \nWhat’s your name?<|im_end|>
在训练过程中,我们将冻结编码器的参数,并训练适配器和 LLM(Lora)。我们的实验发现,如果 LLM 参与训练过程,它的语义理解能力可以被利用以改善最终的音频理解效果。Lora 的训练配置见附录 A。最终,2% 的 LLM 参数将参与训练。
我们的模型的参数规模如表 2 所示。
为了提高训练速度和减少 GPU 内存使用,我们在 DeepSpeed 框架内使用了 Zero2 优化。我们观察到 Paraformer 倾向于出现向上的性能提升。在使用 Fp16 时会出现溢出,因此我们在训练和推理过程中都使用了 Bf16。我们使用了 8 台由 Moore Threads 开发的国产 S4000 GPU,并基于 KUAE 框架进行了训练,总共花费了 38 小时。我们的 DeepSpeed 配置见附录 B。
表 2:模型参数
模块 | 参数量 (M) | 可训练参数量 (M) |
---|---|---|
编码器 | 158 | 0 |
适配器 | 9.44 | 9.44 |
LLM | 7615.62 | 161.48 |
ASR
我们比较了在 6 个普通话测试集和 6 个英语测试集上的 ASR 性能,使用的模型包括 Paraformer-large、SenseVoice small、Qwen-audio、WhisperV3 和 SeamlessM4T2。我们还展示了我们的 ASR 模型在 80000 小时内部数据上的测试集性能。我们比较了不同模型在 ASR/AST 阶段使用的数据。ASR 结果如表 4.1 所示。
- Paraformer-large: 60,000 小时 ASR 数据
- SenseVoice small: 300,000 小时 ASR 数据
- Qwen-audio: 53,000 小时 ASR 数据 + 3700 小时 S2TT 数据 + …
- WhisperV3: 1,000,000 小时弱标签,4,000,000 小时伪标签
- SeamlessM4T2: 351,000 小时 S2TT 数据,145,000 小时 S2ST 数据
- MooER-5K: 5,000 小时伪标签
- MooER-80K: 80,000 小时伪标签
表 3:ASR 结果
语音识别性能评估:字错误率 (CER) 和词错误率 (WER)
中文
测试集 | Paraformer-large | SenseVoice-small | Qwen-audio | Whisper-large-v3 | SeamlessM4T-v2 | MooER-5K | MooER-80K | MooER-80K-v2 |
---|---|---|---|---|---|---|---|---|
aishell1 | 1.93 | 3.03 | 1.43 | 7.86 | 4.09 | 1.93 | 1.25 | 1.00 |
aishell2_ios | 2.85 | 3.79 | 3.57 | 5.38 | 4.81 | 3.17 | 2.67 | 2.62 |
test_magicdata | 3.66 | 3.81 | 5.31 | 8.36 | 9.69 | 3.48 | 2.52 | 2.17 |
test_thchs | 3.99 | 5.17 | 4.86 | 9.06 | 7.14 | 4.11 | 3.14 | 3.00 |
fleurs cmn_dev | 5.56 | 6.39 | 10.54 | 4.54 | 7.12 | 5.81 | 5.23 | 5.15 |
fleurs cmn_test | 6.92 | 7.36 | 11.07 | 5.24 | 7.66 | 6.77 | 6.18 | 6.14 |
平均 | 4.15 | 4.93 | 6.13 | 6.74 | 6.75 | 4.21 | 3.50 | 3.35 |
英文
测试集 | Paraformer-large | SenseVoice-small | Qwen-audio | Whisper-large-v3 | SeamlessM4T-v2 | MooER-5K | MooER-80K | MooER-80K-v2 |
---|---|---|---|---|---|---|---|---|
librispeech test_clean | 14.15 | 4.07 | 2.15 | 3.42 | 2.77 | 7.78 | 4.11 | 3.57 |
librispeech test_other | 22.99 | 8.26 | 4.68 | 5.62 | 5.25 | 15.25 | 9.99 | 9.09 |
fleurs eng_dev | 24.93 | 12.92 | 22.53 | 11.63 | 11.36 | 18.89 | 13.32 | 13.12 |
fleurs eng_test | 26.81 | 13.41 | 22.51 | 12.57 | 11.82 | 20.41 | 14.97 | 14.74 |
gigaspeech dev | 24.23 | 19.44 | 12.96 | 19.18 | 28.01 | 23.46 | 16.92 | 17.34 |
gigaspeech test | 23.07 | 16.65 | 13.26 | 22.34 | 28.65 | 22.09 | 16.64 | 16.97 |
平均 | 22.70 | 12.46 | 13.02 | 12.46 | 14.64 | 17.98 | 12.66 | 12.47 |
AST
我们使用了三个 Zh2en 翻译测试集来评估 AST 的性能。其中,我们使用了 SpeechLlaMA 和 Qwen2-audio 论文中的数值。我们测试了 WhisperV3、SeamlessM4T2 和 Qwen-audio 在三个测试集上的 BLEU 分数。我们使用 ASR 和 AST 多任务学习方法(MTL)来提高 AST 的最终性能,结果如表 4 所示。
表 4:AST 结果:不同大型模型的 BLEU 分数
模型 | Speech LLAMA | Whisper V3 | Qwen audio | Qwen2 audio | Seamless M4Y2 | MooER 5k | MooER 5k-MTL |
---|---|---|---|---|---|---|---|
Covost1_Zh2en | - | 13.5 | 13.5 | - | 25.3 | - | 30.2 |
Covost2_Zh2en | 12.3 | 12.2 | 15.7 | 24.4 | 22.2 | 23.4 | 25.2 |
CCMT2019_dev | - | 15.9 | 12.0 | - | 14.8 | - | 19.6 |
讨论
1 编码器的选择
我们在内部验证测试集上选择了不同的编码器。我们发现如果使用半监督学习(SSL)编码器,该编码器需要参与训练,否则损失将难以收敛。考虑到性能、参数规模和效率,我们最终选择了 Paraformer 作为我们的编码器。在这个实验中,我们固定了 LLM,只让适配器参与训练。(除了 W2v-Bert2.0 是编码器外,该编码器也参与了训练。)
结果如表 5 所示。
表 5:不同编码器在内部验证数据集上的 CER
编码器 | W2v-Bert2 | WhisperV3 | Paraformer |
---|---|---|---|
In-house-dev | 11.04% | 7.20% | 5.56% |
2 音频建模粒度
我们尝试了 240ms、180ms 和 120ms 的建模粒度,发现该参数对音频和文本的融合至关重要。最终,我们选择每 120ms 输出一个音频嵌入。在此实验中,我们固定了 LLM,只让适配器参与训练,结果如表 6 所示。
表 6:不同音频建模策略在内部验证数据集上的 CER
粒度 | 240ms | 180ms | 120ms |
---|---|---|---|
In-house-dev | no-converge | 5.56% | 5.22% |
3 快速适应垂直领域
表 7:英语测试集识别结果的 CER
ASR-ENG | Paraformer-large | MooER-5k |
---|---|---|
Librispeech-test-clean | 14.15 | 7.78 |
Librispeech-test-other | 22.99 | 15.25 |
fleurs_eng_dev | 24.93 | 18.89 |
fleurs_eng_test | 26.81 | 20.41 |
gigaspeech_dev | 24.23 | 23.46 |
gigaspeech_test | 23.07 | 22.09 |
我们基于 Paraformer large 编码器进行训练。我们使用了大约 140 到 150 小时的英语数据,并在英语测试集上取得了更好的结果,如表 7 所示。同时,我们尝试迁移到其他任务,如 AST,并在 Covost2 Zh2en 翻译测试集上取得了 25.2 的 BLEU 分数。我们认为这种方法也可以应用于其他低资源音频理解任务领域,例如少数民族语言、方言等,如表 8 所示。
表 8:不同大型模型在 Covost2 Zh2en 数据集上的 BLEU 分数
模型 | AST-C2E | Whisper V3 | Qwen audio | Qwen2 audio | Seamless M4T2 | MooER 5k-MTL |
---|---|---|---|---|---|---|
Covost2_Zh2en | 12.3 | 12.2 | 15.7 | 24.4 | 22.2 | 25.2 |
4 充分利用大型模型的能力
我们发现将 LLM 融入音频理解训练可以导致更快、更稳定的收敛,最终实现更好的结果。此外,随着 LLM 效果的提升,最终效果也会提高,如表 9 所示。
表 9:不同 LLM 结合不同训练策略的 CER
ASR | MooER-Qwen1.5 frozen | MooER-Qwen2 frozen | MooER-Qwen1.5 lora | MooER-Qwen2 lora |
---|---|---|---|---|
In-house-dev | 5.22% | 5.17% | 4.72% | 4.32% |
5 加速方法
我们优化了数据加载器部分,在相同配置下可以将训练速度提高 4-5 倍。同时,我们基于 5000 小时的训练优化了 DeepSpeed 的训练策略,并在我们的 8wh 内部数据训练中重复使用。对于需要解冻编码器的训练,我们使用了梯度检查点来减少内存使用。我们使用基于 Moore Threads 的 KUAE 平台进行大型模型的加速训练。
演示
我们的演示基于 Moore Threads 生产的国产 S4000 GPU 构建。访问链接:https://mooer-speech.mthreads.com:10077/
模型
- GitHub: https://github.com/MooreThreads/MooER
- ModelScope: https://modelscope.cn/models/MooreThreadsSpeech/MooER-MTL-5K
- Huggingface: https://huggingface.co/mtspeech/MooER-MTL-5K
九月初会开源训练代码和从数据打包到推理完整的训练教程
whisper
large-v2:Compared to the Whisper large model, the large-v2 model is trained for 2.5x more epochs with added regularization (adding SpecAugment /Stochastic Depth/BPE Dropout) for improved performance.
Whisper large-v3 has the same architecture as the previous large and large-v2 models, except for the following minor differences:
- The spectrogram input uses 128 Mel frequency bins instead of 80
- A new language token for Cantonese
The Whisper large-v3 model was trained on 1 million hours of weakly labeled audio and 4 million hours of pseudo-labeled audio collected using Whisper large-v2 . The model was trained for 2.0 epochs over this mixture dataset.
The large-v3 model shows improved performance over a wide variety of languages, showing 10% to 20% reduction of errors compared to Whisper large-v2
摘要
我们研究了简单地训练语音处理系统以预测互联网上大量音频转录内容的能力。当扩展到 680,000 小时的多语言和多任务监督时,所得模型在标准基准测试中表现良好,并且在零样本传输设置下通常能与先前的完全监督结果相媲美,而无需任何微调。与人类相比,这些模型在准确性和鲁棒性方面接近人类水平。我们正在发布模型和推理代码,以作为进一步研究鲁棒语音处理的基础。
1. 引言
语音识别的进展得益于以 Wav2Vec 2.0 (Baevski et al., 2020) 为代表的无监督预训练技术的发展。由于这些方法直接从原始音频中学习,而无需人工标注,因此可以有效利用大量未标记的语音数据,并且迅速扩展到 1,000,000 小时的训练数据 (Zhang et al., 2021),远远超过学术监督数据集中典型的 1,000 小时。当在标准基准测试上进行微调时,这种方法在低数据环境下显著提高了技术水平。
这些预训练的音频编码器学习了高质量的语音表示,但由于它们是纯粹的无监督方法,因此缺乏同样高效的解码器,将这些表示映射到可用的输出中,这需要一个微调阶段来实际执行诸如语音识别之类的任务。遗憾的是,这限制了它们的实用性和影响力,因为微调仍然是一个复杂的过程,需要有经验的实践者。微调的另一个风险是,机器学习方法非常善于在训练数据集中找到可以提高在相同数据集中保留数据上表现的模式。然而,这些模式中的一些是脆弱和虚假的,无法推广到其他数据集和分布中。在一个特别令人不安的例子中,Radford et al. (2021) 记录了在对 ImageNet 数据集 (Russakovsky et al., 2015) 进行微调时,物体分类准确率提高了 9.2%,但在对相同物体进行分类时,没有在另外七个自然图像数据集中观察到任何平均准确率的提高。一个在训练数据集上实现“超人”表现的模型,在另一个数据集上评估时仍可能犯许多基本错误,可能正是因为它在利用那些人类无法察觉的数据集特定的瑕疵 (Geirhos et al., 2020)。
这表明,虽然无监督预训练显著提高了音频编码器的质量,但缺乏同样高质量的预训练解码器,加上推荐的数据集特定微调协议,是一个关键的弱点,限制了它们的实用性和鲁棒性。语音识别系统的目标应该是在广泛的环境中“开箱即用”地可靠工作,而无需为每个部署分布进行监督解码器的微调。
如 Narayanan et al. (2018), Likhomanenko et al. (2020), 和 Chan et al. (2021) 所示,通过在多个数据集/领域上进行监督预训练的语音识别系统表现出更高的鲁棒性,并且比在单一来源上训练的模型更有效地推广到保留的数据集。这些工作通过结合尽可能多的现有高质量语音识别数据集来实现这一目标。然而,目前可用的这些数据量仍然有限。SpeechStew (Chan et al., 2021) 将 7 个现有的数据集混合在一起,总共提供了 5,140 小时的监督数据。虽然这并非微不足道,但与 Zhang et al. (2021) 中提到的 1,000,000 小时未标记的语音数据相比,这仍然很小。
认识到现有高质量监督数据集规模的局限性,最近的努力已经创建了更大的语音识别数据集。通过放宽对黄金标准人工验证转录的要求,Chen et al. (2021) 和 Galvez et al. (2021) 利用复杂的自动化技术来创建更大的数据集。我们将弱监督语音识别管道扩展到10,000和30,000小时的噪声训练数据。这种在质量和数量之间的权衡通常是正确的选择。尽管目前对于语音识别的研究较少,但计算机视觉领域的最新工作表明,从黄金标准的众包数据集(如ImageNet)转向更大但弱监督的数据集可以显著提高模型的鲁棒性和泛化能力。然而,这些新数据集仅比现有高质量数据集的总和大几倍,仍远小于之前的无监督工作。在本研究中,我们将弱监督语音识别的规模扩大到680,000小时的标注音频数据。
我们称这种方法为Whisper2。我们展示了在这种规模下训练的模型能够很好地迁移到现有数据集上,零样本条件下无需任何数据集特定的微调即可实现高质量的结果。
除了规模外,我们的工作还重点扩展了弱监督预训练的范围,不仅限于英语语音识别,还包括多语言和多任务训练。在这680,000小时的音频中,117,000小时覆盖了96种其他语言。数据集还包括125,000小时的X→en翻译数据。我们发现,对于足够大的模型,联合多语言和多任务训练不仅没有缺点,甚至还有好处。
我们的工作表明,弱监督预训练的简单扩展在语音识别中迄今被低估了。我们在不需要自监督或自训练技术的情况下取得了这些成果,而这些技术近年来在大规模语音识别工作中成为了主流。为了进一步研究鲁棒语音识别,我们在以下网址发布了推理代码和模型:https://github.com/openai/whisper。
2. 方法
2.1 数据处理
遵循最近利用互联网大规模文本训练机器学习系统的趋势,我们采用了一种极简主义的数据预处理方法。与许多语音识别工作不同,我们训练Whisper模型来预测未经显著标准化的转录文本,依赖序列到序列模型的表现力来学习将话语映射到其转录形式。这简化了语音识别管道,因为它消除了为了生成自然转录文本而进行单独逆文本规范化步骤的需求。
我们从互联网上配对音频和转录文本中构建了数据集。这导致了一个非常多样化的数据集,涵盖了来自许多不同环境、录音设置、说话者和语言的广泛音频分布。虽然音频质量的多样性有助于训练模型的鲁棒性,但转录质量的多样性却没有类似的好处。初步检查显示原始数据集中有大量低质量转录文本。为了解决这个问题,我们开发了几种自动过滤方法来提高转录质量。
互联网上的许多转录文本实际上并非人工生成,而是现有ASR系统的输出。最近的研究表明,在混合了人类和机器生成数据的数据集上进行训练可能会显著损害翻译系统的性能。为了避免学习“转录语言”,我们开发了许多启发式方法来检测并从训练数据集中移除机器生成的转录文本。许多现有的ASR系统只输出有限的书面语言子集,这会移除或规范掉一些仅通过音频信号难以预测的内容,如复杂的标点符号(感叹号、逗号和问号)、格式化空白(如段落)或风格化内容(如大写)。全大写或全小写的转录文本很可能不是人工生成的。尽管许多ASR系统包括某种程度的逆文本规范化,但通常是简单的或基于规则的,仍可从其他未处理的方面(如从不包含逗号)中检测出来。
我们还使用了音频语言检测器,该检测器通过在VoxLingua107上对数据集原型版本进行微调训练而创建,以确保所讲语言与根据CLD2的转录语言一致。如果两者不匹配,我们不会将该音频和转录对作为语音识别训练示例包含在数据集中。如果转录语言是英语,我们将这些对添加到数据集中作为X→en语音翻译训练示例。我们使用模糊去重的转录文本来减少训练数据集中重复和自动生成内容的数量。
我们将音频文件分成30秒的片段,并配对该时间段内发生的转录文本子集。我们在所有音频上进行训练,包括没有语音的片段(尽管以子采样概率),并使用这些片段作为语音活动检测的训练数据。
为了进行额外的过滤,在训练了初始模型后,我们聚合了关于其在训练数据上错误率的信息,进一步优化数据质量。
Paraformer
热词版本
时间戳版本
流式版本
速度快
阿里内部使用
非自回归框架弱于自回归框架模型:1.非自回归更快,但缺少输出token的上下文依赖 2.同时需要进行输出token的predict
摘要
近年来,Transformers 在自动语音识别(ASR)领域取得了主导地位。尽管其表现良好,但由于使用了自回归(AR)解码器逐一生成词元,其计算效率较低。为加速推理过程,设计了非自回归(NAR)方法,如单步NAR,能够并行生成输出。然而,由于输出词元之间的独立性假设,单步NAR的性能较AR模型逊色,特别是在大规模语料库中。提升单步NAR面临两个挑战:首先是准确预测输出词元的数量并提取隐藏变量;其次是增强输出词元之间的依赖关系建模。为解决这两个挑战,我们提出了一种快速且准确的并行Transformer,称为Paraformer。Paraformer使用基于连续积分-触发的预测器来预测词元数量并生成隐藏变量。然后,使用掠视语言模型(GLM)采样器生成语义嵌入,以增强NAR解码器的上下文依赖建模能力。最后,我们设计了一种生成负样本的策略,以最小词错误率训练进一步提升性能。使用公共的AISHELL-1、AISHELL-2基准测试和工业级20000小时任务的实验表明,所提出的Paraformer能够在性能上与最先进的AR Transformer相媲美,同时实现了超过10倍的速度提升。
关键词
ASR, E2E, 非自回归, 单步NAR, Paraformer
1. 引言
近年来,端到端(E2E)模型在自动语音识别(ASR)任务中的表现已经超过了传统的混合系统。三种流行的E2E方法包括:连接主义时序分类(CTC)[1],循环神经网络转换器(RNN-T)[2],以及基于注意力的编码器-解码器(AED)[3, 4]。其中,AED模型由于其出色的识别精度,已经在ASR的序列到序列建模中占据主导地位,例子有Transformer [4] 和 Conformer [5]。虽然表现良好,但这些AED模型中的自回归(AR)解码器需要逐一生成词元,因为每个词元都依赖于之前的所有词元。因此,解码器计算效率低,解码时间随着输出序列长度线性增加。为提高效率并加快推理过程,提出了非自回归(NAR)模型,以并行生成输出序列[6–8]。
根据推理过程中迭代次数的不同,NAR模型可分为迭代或单步NAR。在前者中,A-FMLM 是首个尝试[9],旨在通过恒定迭代次数预测基于未遮蔽词元的遮蔽词元。然而,由于需要预定义目标词元长度,其性能受到影响。为解决此问题,Mask-CTC及其变体提出通过结合CTC解码增强解码器输入[10–12]。即便如此,这些迭代NAR模型仍需多次迭代才能获得具有竞争力的结果,限制了实际推理速度。最近,提出了几种单步NAR模型以克服这一限制[13–17]。这些模型通过消除时间依赖性同时生成输出序列。虽然单步NAR模型能够显著提高推理速度,但其识别精度明显低于AR模型,特别是在大规模语料库上的评估。
上述单步NAR方法主要集中于如何准确预测词元数量以及提取隐藏变量。相比于通过预测网络预测词元数量的机器翻译任务,由于涉及演讲者的语速、停顿和噪声等多种因素,ASR任务中预测词元数量确实较为困难。另一方面,根据我们的研究,与AR模型相比,单步NAR模型在词元替换错误方面存在显著差异(如图1中的AR和普通NAR所示)。我们认为,缺乏上下文间的相互依赖性导致了替换错误的增加,尤其是在单步NAR中由于条件独立假设所致。此外,所有这些NAR模型都在从朗读场景录制的学术基准测试中进行探索,但尚未在大规模工业级语料库上进行评估。因此,本研究旨在改进单步NAR模型,使其在大规模语料库上获得与AR模型相当的识别性能。
本文提出了一种快速且准确的并行Transformer模型(称为Paraformer),该模型解决了上述两个挑战。首先,与先前基于CTC的方法不同,我们利用基于连续积分-触发(CIF)[18]的预测网络来估计目标数量并生成隐藏变量。
为了应对第二个挑战,我们设计了一个基于掠视语言模型(GLM)的采样器模块,以增强NAR解码器的词元依赖建模能力。这主要受到神经机器翻译工作的启发[19]。此外,我们设计了一种包含负样本的策略,通过利用最小词错误率(MWER)[20]训练来提高性能。
我们在公开的178小时AISHELL-1和1000小时AISHELL-2基准测试,以及一个工业级的20000小时普通话语音识别任务上评估了Paraformer。Paraformer在AISHELL-1和AISHELL-2上分别获得了5.2%和6.19%的CER,这不仅优于其他最近发布的NAR模型,而且在没有外部语言模型的情况下也与最先进的AR Transformer相媲美。据我们所知,Paraformer是第一个能够在大规模语料库上以10倍速度提升的情况下,达到与AR Transformer相当识别准确率的NAR模型。
2. 方法
2.1 概述
所提出的Paraformer模型的整体框架如图2所示。该架构由五个模块组成,分别是编码器、预测器、采样器、解码器和损失函数。编码器与AR编码器相同,由多个配备记忆自注意力(SAN-M)和前馈网络(FFN)[21]或Conformer [5]的块组成。预测器用于生成声学嵌入并指导解码。然后,采样器模块根据声学嵌入和词元嵌入生成语义嵌入。解码器与AR解码器相似,但具有双向性。它由多个SAN-M块、FFN和交叉多头注意力(MHA)组成。除了交叉熵(CE)损失外,还结合了平均绝对误差(MAE)和MWER损失,共同训练系统。
我们将输入表示为 ( X , Y ) (X, Y) (X,Y),其中 X X X是帧数为 T T T的声学特征, Y Y Y是词元数为 N N N的目标标签。编码器将输入序列 X X X映射到隐藏表示序列 H H H。然后将这些隐藏表示 H H H输入到预测器,以预测词元数量 N ′ N' N′并生成声学嵌入 E a E_a Ea。解码器接收声学嵌入 E a E_a Ea和隐藏表示 H H H,以生成第一遍的目标预测 Y ′ Y' Y′,此过程中不涉及反向梯度。采样器在声学嵌入 E a E_a Ea和目标嵌入 E c E_c Ec之间进行采样,根据预测 Y ′ Y' Y′与目标标签 Y Y Y之间的距离生成语义嵌入 E s E_s Es。解码器随后接收语义嵌入 E s E_s Es以及隐藏表示 H H H,以生成第二遍的最终预测 Y ′ ′ Y'' Y′′,这次包括反向梯度。最后,将预测 Y ′ ′ Y'' Y′′进行采样,以生成MWER训练的负候选样本,并计算目标词元数 N N N与预测词元数 N ′ N' N′之间的MAE。MWER和MAE与CE损失共同训练。
在推理过程中,采样器模块处于非活动状态,双向并行解码器直接利用声学嵌入 E a E_a Ea和隐藏表示 H H H,在仅单次通过时输出最终预测 Y ′ Y' Y′。尽管解码器在每个训练阶段前向运行两次,但由于单步解码过程,推理期间的计算复杂度实际上并没有增加。
2.2 预测器
预测器由两层卷积层组成,输出为范围从0到1的浮点权重 α \alpha α。我们累积权重 α \alpha α以预测词元数量。为了指导学习,加入了MAE损失:
L M A E = ∣ N − ∑ t = 1 T α t ∣ L_{MAE} = \lvert N - \sum_{t=1}^{T} \alpha_t \rvert LMAE=∣N−t=1∑Tαt∣
我们引入连续积分-触发(CIF)机制来生成声学嵌入。CIF是一种软性和单调的对齐方式,在文献[18]中被提出作为AED模型的流式解决方案。为了生成声学嵌入 E a E_a Ea,CIF累积权重 α \alpha α并整合隐藏表示 H H H,直到累积权重达到给定阈值 β \beta β,这表明已到达声学边界(该过程的示意图如图3所示)。根据文献[18],训练期间将权重 α \alpha α按目标长度进行缩放,以匹配声学嵌入 E a E_a Ea与目标嵌入 E c E_c Ec的数量,而推理时直接使用权重 α \alpha α生成 E a E_a Ea。因此,训练与推理之间可能存在不匹配,导致预测器精度下降。由于NAR模型对预测器的准确性比流式模型更为敏感,我们提出使用动态阈值 β \beta β而不是预定义的阈值来减少不匹配。
动态阈值机制的公式如下:
β = ∑ t = 1 T α t ⌈ ∑ t = 1 T α t ⌉ \beta = \frac{\sum_{t=1}^{T} \alpha_t}{\lceil \sum_{t=1}^{T} \alpha_t \rceil} β=⌈∑t=1Tαt⌉∑t=1Tαt
2.3 采样器
在传统的单步NAR中,其优化目标可以表述为:
L N A T = ∑ n = 1 N log P ( y n ∣ X ; θ ) L_{NAT} = \sum_{n=1}^{N} \log P(y_n | X; \theta) LNAT=n=1∑NlogP(yn∣X;θ)
然而,如前所述,条件独立假设导致了性能相对于AR模型的下降。同时,掠视语言模型(GLM)损失定义为:
L G L M = ∑ y n ′ ′ ∈ G L M ( Y , Y ′ ) log p ( y n ′ ′ ∣ G L M ( Y , Y ′ ) , X ; θ ) L_{GLM} = \sum_{y''_n \in GLM(Y, Y')} \log p \left( y''_n | GLM(Y, Y'), X; \theta \right) LGLM=yn′′∈GLM(Y,Y′)∑logp(yn′′∣GLM(Y,Y′),X;θ)
其中, G L M ( Y , Y ′ ) GLM(Y, Y') GLM(Y,Y′)表示在 E c E_c Ec和 E a E_a Ea之间由采样器模块选择的词元子集。而 G L M ( Y , Y ′ ′ ) GLM(Y, Y'') GLM(Y,Y′′)表示目标 Y Y Y中剩余未选中的词元子集。具体定义如下:
G L M ( Y , Y ′ ) = Sampler ( E s ∣ E a , E c , ⌈ λ d ( Y , Y ′ ) ⌉ ) GLM(Y, Y') = \text{Sampler}(E_s | E_a, E_c, \lceil \lambda d(Y, Y') \rceil) GLM(Y,Y′)=Sampler(Es∣Ea,Ec,⌈λd(Y,Y′)⌉)
其中, λ \lambda λ为控制采样比例的采样因子, d ( Y , Y ′ ) d(Y, Y') d(Y,Y′)项为采样数量。当模型训练效果较差时,该值较大,随着训练过程的进行应逐渐减小。对此,我们简单地使用汉明距离来定义:
d ( Y , Y ′ ) = ∑ n = 1 N ( y n = y n ′ ) d(Y, Y') = \sum_{n=1}^{N} (y_n = y'_n) d(Y,Y′)=n=1∑N(yn=yn′)
简而言之,采样器模块通过将 ⌈ λ d ( Y , Y ′ ) ⌉ \lceil \lambda d(Y, Y') \rceil ⌈λd(Y,Y′)⌉个目标嵌入 E c E_c Ec随机替换到声学嵌入 E a E_a Ea中,以生成语义嵌入 E s E_s Es。并行解码器通过语义上下文 G L M ( Y , Y ′ ) GLM(Y, Y') GLM(Y,Y′)来预测目标词元 G L M ( Y , Y ′ ) GLM(Y, Y') GLM(Y,Y′),使模型能够学习输出词元之间的相互依赖性。
2.4 损失函数
定义了三种损失函数,即CE损失、MAE损失和MWER损失。它们的联合训练如下:
L total = γ L CE + L MAE + L N werr ( x , y ∗ ) L_{\text{total}} = \gamma L_{\text{CE}} + L_{\text{MAE}} + L_{N\text{werr}}(x, y^*) Ltotal=γLCE+LMAE+LNwerr(x,y∗)
对于MWER损失,它可以表示为[20]:
L N werr ( x , y ∗ ) = ∑ y i ∈ Sample ( x , N ) P b ( y i ∣ x ) [ W ( y i , y ∗ ) − c W ] L_{N\text{werr}}(x, y^*) = \sum_{y_i \in \text{Sample}(x, N)} P_b(y_i | x) \left[ W(y_i, y^*) - cW \right] LNwerr(x,y∗)=yi∈Sample(x,N)∑Pb(yi∣x)[W(yi,y∗)−cW]
由于贪心搜索解码,NAR模型只有一条输出路径。如前所述,我们利用负采样策略,通过在MWER训练过程中随机屏蔽top1得分的词元,生成多个候选路径。
3. 实验
3.1 实验设置
我们在公开的AISHELL-1(178小时)[26]、AISHELL-2(1000小时)[27]基准数据集以及一个20000小时的工业级普通话任务上评估了所提出的方法。后者的任务与[21,28]中所述的大规模语料库相同。一个大约15小时的远场数据集和一个大约30小时的常见数据集用于评估性能。其他配置可以在[21,28,29]中找到。我们使用实时因子(RTF)在GPU(NVIDIA Tesla V100)上测量推理速度。我们的代码在FunASR上可用。
3.2 AISHELL-1和AISHELL-2任务
AISHELL-1和AISHELL-2的评估结果详见表1。为了与已发表的作品公平比较,RTF在ESPNET [30]上进行了评估。在表1的任何实验中都没有使用外部语言模型(LM)或无监督预训练。对于AISHELL-1任务,我们首先训练了一个AR transformer作为基线,其配置与[15]中的AR基线匹配。该基线的性能在AR transformers中处于领先地位,排除像[31]这样的基于大规模知识转移的系统,因为我们的目标是结构改进,而不是通过更大的数据集获得的增益。Vanilla NAR与我们提出的模型Paraformer结构相同,但不包含采样器。可以看出,我们的Vanilla NAR超越了其他最近发表的NAR作品的表现,例如改进的CASS-NAT [15]和CTC增强的NAR [12]。尽管如此,由于输出词元之间缺乏上下文依赖性,其性能略逊于AR基线。然而,当我们通过Paraformer中的采样器模块将GLM增强到Vanilla NAR时,我们获得了与AR模型相当的性能。Paraformer在开发集和测试集上的识别CER分别为4.6%和5.2%,其推理速度(RTF)比AR基线快了12倍以上。对于AISHELL-2任务,模型配置与AISHELL-1相同。从表1中可以看出,性能增益与AISHELL-1相似。具体来说,Paraformer在测试ios任务上达到了6.19%的CER,推理速度比AR基线快了12倍以上。据作者所知,这是在AISHELL-1和AISHELL-2任务上NAR模型中最先进的性能。
3.3 工业级20000小时任务
我们进行了广泛的实验来评估我们提出的方法,详见表3。动态β表示第2.2节中详述的动态阈值,而CTC指的是DFSMN-CTC-sMBR 系统与 LM [32] 结合。RTF 在 OpenNMT [33] 上进行了评估。
首先来看模型大小为 41M 的情况,具有 256 注意力维度的 AR 基线与 [21] 中相同。我们可以看到与第 3.2 节中提到的现象不同。在这里,我们发现原始的 NAR 模型的 CER 与 AR 模型相比有较大差距。尽管如此,原始 NAR 仍然优于 CTC,后者也假设了类似的条件独立性。当配备 GLM 后,Paraformer 在远场和常见任务上分别获得了 13.5% 和 14.6% 的相对改进,相比于原始 NAR。在进一步加入 MWER 训练后,准确性略有提高。更重要的是,Paraformer 在实现 10 倍推理速度的优势下,性能与 AR 模型相当(相对损失小于 2%)。我们还评估了 CIF 的动态阈值。从表 3 中可以明显看出,动态阈值有助于进一步提高准确性。相比于 CIF 中的预定义阈值,动态阈值减少了推理与训练之间的不匹配,从而更准确地提取声学嵌入。
在更大模型尺寸 63M 上进行评估时,所观察到的现象与上述情况相似。此时,Paraformer 在远场和常见任务上分别比原始 NAR 获得了 13.0% 和 11.1% 的相对改进。再次证明,Paraformer 在实现 10 倍加速的同时,准确性与 AR 模型相当(相对差异小于 2.8%)。如果将 Paraformer-63M 与 AR transformer-41M 进行比较,虽然 Paraformer 模型尺寸较大,但推理速度有所提高(RTF 从 0.067 降至 0.009)。因此,Paraformer-63M 在远场任务上相较于 AR transformer-41M 可实现 6.0% 的相对改进,同时推理速度加快了 7.4 倍。这表明,Paraformer 可以通过增加模型尺寸实现更优异的性能,同时仍然保持比 AR transformer 更快的推理速度。
最后,我们评估了采样因子 λ,如表 2 所示。正如预期的那样,随着 λ 的增加,由于目标提供了更好的上下文,识别准确性有所提高。然而,当采样因子过大时,会导致训练与推理之间的失配,即在训练时用目标进行两次解码,而在推理时仅进行一次解码。尽管如此,Paraformer 的性能在 λ 范围 0.5 到 1.0 之间具有鲁棒性。
3.4 讨论
从上述实验中我们注意到,与 AR 模型相比,原始 NAR 在 AISHELL-1 和 AISHELL-2 任务中的性能衰减较小,但在大规模工业级语料库上的衰减更大。相比于学术基准(如 AISHELL-1 和 -2)的朗读语料库,工业级数据集反映了更复杂的场景,因此对评估 NAR 模型更具可靠性。据我们所知,这是首次在大规模工业级语料库任务上探索 NAR 模型的工作。
上述实验表明,Paraformer 相比于原始 NAR 获得了超过 11% 的显著改进,同时 Paraformer 的表现与经过良好训练的 AR transformer 相似。
为了理解原因,我们进行了进一步分析。首先,我们统计了 AR、原始 NAR 和 Paraformer 模型在 20,000 小时任务上的错误类型统计数据,并绘制在图 1 中。我们分别计算了插入、删除和替换三种错误类型的总数,并根据目标 token 总数对其进行了归一化。图 1 的纵轴是错误类型的比例。可以看到,与 AR 系统性能相比,原始 NAR 中的插入错误略有增加,而删除错误略有减少。这表明,在动态阈值的帮助下,预测器的准确性更高。然而,替换错误大幅增加,这解释了它们之间性能差距较大的原因。我们认为这可能是由于原始 NAR 模型的条件独立性假设造成的。相比于原始 NAR,Paraformer 中的替换错误显著减少,占据了其性能改进的大部分。我们认为替换错误的减少是因为增强的 GLM 使 NAR 模型能够更好地学习输出 token 之间的依赖性。然而,与 AR 相比,替换错误的数量仍然存在一定的差距,导致识别准确性上的轻微差异。我们认为原因在于 AR 的束搜索解码在语言模型中的强大作用,相较于 GLM 来说。为了消除这一剩余的性能差距,我们计划在未来工作中将 Paraformer 与外部语言模型结合。
4. 结论
本文提出了一种单步 NAR 模型 Paraformer,以提高 NAR 端到端 ASR 系统的性能。我们首先利用基于连续积分与发火(CIF)的预测器来预测 token 数量并生成隐藏变量。我们通过动态阈值替代预定义阈值来改进 CIF,以减少推理与训练之间的不匹配。接着我们设计了一个基于 GLM 的采样器模块,以生成语义嵌入来增强 NAR 解码器对上下文依赖性的建模能力。最后,我们设计了一种策略来生成负样本,以进行最小词错误率训练,从而进一步提高性能。在公共 AISHELL-1(178 小时)和 AISHELL-2(1000 小时)基准以及工业级 20,000 小时语料库上进行的实验表明,所提出的 Paraformer 模型能够在实现 10 倍加速的同时,获得与最先进的 AR transformer 相当的性能。
FunAudioLLM:SenseVoice, CosyVoice
SenseVoice
Paraformer的下一代,主要需求是多任务的统一
SenseVoice 支持多语言语音识别,经过超过 30 万小时的训练。特别是,SenseVoice-Small 在推理过程中效率极高,识别延迟小于 80ms,其速度分别比 Whisper-Small 和 Whisper-Large 快 5 倍和 15 倍以上。同时,SenseVoice-Large 支持超过 50 种语言的高精度 ASR。此外,SenseVoice 还支持丰富的转录功能,包括最先进的情感识别、音频事件检测、反文本标准化(Pusateri 等,2017)和标点符号(Chen 等,2020)。
我们的语音生成模型 CosyVoice 能够生成多语言语音,该模型经过超过 17 万小时和五种语言的训练,包括中文(ZH)、英语(EN)、日语(JP)、粤语(Yue)和韩语(KO)。CosyVoice 生成的样本可以达到低于 2% 的词错误率 (WER)和说话人相似度超过 75%,达到了与人类相当的质量水平。CosyVoice 支持零样本上下文学习,这使得即使仅有 3 秒的提示语音也能实现语音克隆。音色、情感、韵律和风格可以在同一语言内或跨语言复现。我们还发布了一个指令模型,该模型可以通过自然的文本指令控制说话人身份、说话风格(如情感)和其他细粒度的副语言特征。FunAudioLLM 模型概述如图 1 所示。
2.2 语音理解模型:SenseVoice
SenseVoice 是一个语音基础模型,具备多种语音理解能力,包括自动语音识别(ASR)、语音语言识别(LID)、语音情感识别(SER)和音频事件分类(AEC)或音频事件检测(AED)。我们提出了两种不同规模和架构的模型,以满足不同需求:SenseVoice-Small,一个仅编码器的语音基础模型,用于快速语音理解;SenseVoice-Large,一个编码器-解码器(Vaswani 等,2017)语音基础模型,支持更多语言,提供更准确的语音理解,如图 2 所示。
SenseVoice-Small 是一个非自回归的仅编码器模型,适用于多语言多风格的 ASR 和多种语音理解任务。给定输入波形后,我们首先计算 80 维的对数梅尔滤波器组,然后堆叠连续帧并将其下采样 6 倍。提取的特征随后被映射到编码器的维度 D D D,表示为 X speech ∈ R T × D X_{\text{speech}} \in \mathbb{R}^{T \times D} Xspeech∈RT×D,其中 T T T 是下采样特征的长度。编码器实现为带有记忆的自注意力网络(SAN-M)(Gao 等,2020)。为了指定任务,我们在语音特征前面添加了四个嵌入,作为编码器的输入:
X = concat ( e LID , e SER , e AEC , e ITN/NoITN , X speech ) X = \text{concat}(e_{\text{LID}}, e_{\text{SER}}, e_{\text{AEC}}, e_{\text{ITN/NoITN}}, X_{\text{speech}}) X=concat(eLID,eSER,eAEC,eITN/NoITN,Xspeech)
P = Softmax ( Linear D → ∣ V ′ ∣ ( Encoder ( X ) ) ) P = \text{Softmax}(\text{Linear}_{D \rightarrow |V'|}(\text{Encoder}(X))) P=Softmax(LinearD→∣V′∣(Encoder(X)))
其中 X ∈ R ( T + 4 ) × D X \in \mathbb{R}^{(T + 4) \times D} X∈R(T+4)×D, P ∈ R ( T + 4 ) × ∣ V ′ ∣ P \in \mathbb{R}^{(T + 4) \times |V'|} P∈R(T+4)×∣V′∣。 V ′ V' V′ 是包括 ASR 和其他任务的词汇表。 e LID e_{\text{LID}} eLID、 e SER e_{\text{SER}} eSER、 e AEC e_{\text{AEC}} eAEC、 e ITN/NoITN e_{\text{ITN/NoITN}} eITN/NoITN 是四个特殊标记的嵌入:
-
⟨LID⟩ 表示 LID 任务。如果在输入前面添加 ⟨LID⟩,模型将训练来预测语言标记,在输出的相应位置进行标记。在训练阶段,我们随机替换 ⟨LID⟩。在训练阶段,⟨LID⟩ 标记按照 0.8 的概率被替换为真实语言标记,以便模型能够在推理阶段预测语言标记,或通过指定的语言标记进行配置。
-
⟨SER⟩ 表示 SER 任务。如果在输入前面添加 ⟨SER⟩,模型将训练来预测语音情感标签,并在输出的相应位置进行标记。
-
⟨AEC⟩ 表示 AEC 任务。如果在输入前面添加 ⟨AEC⟩,模型将训练来预测音频事件标签,并在输出的相应位置进行标记。
-
⟨ITN⟩ 或 ⟨NoITN⟩ 用于指定转录风格。如果提供 ⟨ITN⟩,模型将训练进行反文本标准化 (ITN) 和标点符号的转录。如果提供 ⟨NoITN⟩,模型将训练进行无 ITN 和标点符号的转录。
在训练阶段,LID、SER 和 AEC 任务使用交叉熵损失进行优化。ASR 任务则使用 CTC 损失(Graves 等,2006)进行优化。
SenseVoice-Large 是一个自回归的编码器-解码器模型,适用于多语言 ASR 和多种语音理解任务。与 Whisper(Radford 等,2023)类似,SenseVoice-Large 通过解码器的输入标记序列来指定任务。特别是,我们通过分别包括 ⟨LID⟩、⟨SER⟩、⟨AED⟩ 标记来指定是否预测语言、语音情感和带时间戳的音频事件。与 SenseVoice-Small 相比,SenseVoice-Large 的优势在于转录准确性和支持大量语言(50+)。
表 1 给出了 Whisper、SenseVoice-S、SenseVoice-L 和 ASR 任务的真实转录的示例。
表 1: Whisper、SenseVoice-S、SenseVoice-L 和 ASR 任务的真实转录示例
- Whisper: Absolute shock, but in a great way. Wow. That was awesome. That was awesome. What way to open a song. That was awesome. Awesome. · · ·
- SenseVoice-S: < music > Absolute shocked but in a great way my. < happy > That was awesome, that was awesome what way to open a song that was awesome, awesome, · · ·
- SenseVoice-L: < music > Absolutely shocked but in a great way. That was awesome, < music > that was awesome < happy > what way to open a song, that was awesome, awesome, · · ·
- Ground Truth: Absolutely shocked, but in a great way. Who am I? Wow. That was awesome. That was awesome. What way to open a song. That was awesome. Awesome. · · ·
2.3 语义语音标记器
语音标记器将声音信号转化为离散标记,从而通过自回归变压器进行语音生成的建模和预测。我们初步的实验表明,语音标记器的选择对于系统的整体性能以及数据质量和数量的需求至关重要。我们评估了三类语音标记器:1) 基于残差量化的,如 SoundStream(Zeghidour 等,2022)、Encodec(Défossez 等,2022)和 FunCodec(Du 等,2024b);2) 利用多组量化的,如 HifiCodec(Yang 等,2023);3) “语义”语音标记,特别是 HuBERT(Hsu 等,2021)。
上述所有标记器均在无监督或自监督方式下训练。因此,它们与语义内容的关联往往不紧密,这导致了不稳定的合成过程,并对干净训练数据有着巨大的需求。此外,无监督标记器易受数据噪声影响,因此需要精心策划的干净数据集。
在 SenseVoice 模型成功的基础上,我们引入了一种监督语义语音标记器,称为 S³(Du 等,2024a)。使用预训练的 SenseVoice-Large 模型作为基础,我们在编码器的前六层之后加入了一个矢量量化器,如图 3 所示。重要的是,量化后增加的额外位置嵌入增强了时间信息。Encoder1 和矢量量化器的组合被视为speech tokenizer,并且使用了索引最接近代码向量的方式作为语音标记。矢量量化器采用了一个包含 4,096 个条目的巨大字典,并且生成的标记序列具有 50 Hz 的频率,从而降低了语言模型中文本到标记生成的计算负担。
表 2: CosyVoice 与其他开源项目的功能对比
项目 | 语言 | 零样本生成 | 风格&说话人控制 | 细粒度SFT | 服务器 |
---|---|---|---|---|---|
Bark | 13种语言 | ✗ | ✗ | ✓ | ✗ |
ChatTTS | 英语, 中文 | ✗ | ✗ | ✓ | ✓ |
parler-tts | 英语 | ✗ | ✓ | ✗ | ✓ |
EmotiVoice | 英语, 中文 | ✗ | ✓ | ✗ | ✓ |
GPT-SoVITS | 英语, 中文, 日语 | ✓ | ✗ | ✗ | ✓ |
OpenVoice | 英语, 西班牙语, 法语, 中文, 日语, 韩语 | ✓ | ✓ | ✓ | ✗ |
CosyVoice | 英语, 中文, 日语, 粤语, 韩语 | ✓ | ✓ | ✓ | ✓ |
由于语音标记器是通过端到端的方式训练,以最小化富文本的识别错误,因此提取的标记与文本和副语言信息有很强的语义关系。此外,我们的 S³ 标记器受益于监督训练,增强了其对数据噪声的鲁棒性,并减少了对干净数据收集的依赖。因此,训练模型可以利用更广泛的数据谱。
2.4 语音生成模型:CosyVoice
CosyVoice 是一系列基础语音生成模型家族 (Du et al., 2024a),使用 S³ 标记生成自然的语音,适用于各种应用场景。作为一个多功能模型,CosyVoice 在以下任务中表现出色:生成针对特定说话者的多语言语音、无需训练即可适应新说话者(零样本上下文学习)、跨语言克隆声音、创造富有情感的语音,并通过指令文本对语音输出进行细致的控制。CosyVoice 支持五种语言,包括中文 (ZH)、英语 (EN)、日语 (JP)、粤语 (Yue) 和韩语 (KO)。
我们发布了三个开源模型。首先,CosyVoice-base-300M,擅长准确表示说话者身份,能够在无需微调的情况下适应上下文,并实现跨语言的声音克隆。其次,CosyVoice-instruct-300M,擅长生成富有情感的语音,并允许通过指令文本进行细致调整。最后,CosyVoice-sft-300M 已在七位多语言说话者上进行了微调,随时可部署。所有这些模型共享相同的模型架构和学习框架。与其他开源项目相比,CosyVoice 提供了最广泛的支持功能,如表 2 所示。
使用CosyVoice合成数据加持的效果
whisper v3对比SenseVoice-Large
语言 | Whisper-L-V3 (无语言识别) | Whisper-L-V3 (有语言识别) | SenseVoice-L (无语言识别) | SenseVoice-L (有语言识别) |
---|---|---|---|---|
zh-CN | 12.82 | 12.55 | 7.92 | 7.68 |
en | 13.55 | 9.39 | 14.30 | 9.00 |
yue | 40.42 | 10.51 | 7.08 | 6.78 |
ja | 11.18 | 10.34 | 9.58 | 9.19 |
ko | 5.59 | 5.59 | 5.23 | 5.21 |
fr | 11.13 | 10.77 | 8.67 | 8.45 |
es | 5.00 | 4.74 | 5.37 | 4.63 |
it | 5.93 | 5.46 | 5.74 | 5.16 |
ru | 6.16 | 5.67 | 6.60 | 5.23 |
id | 8.98 | 7.22 | 12.80 | 6.97 |
th | 9.73 | 5.80 | 4.36 | 4.12 |
de | 6.06 | 5.70 | 6.94 | 6.57 |
ca | 16.76 | 13.20 | 5.90 | 5.62 |
nl | 5.51 | 4.28 | 6.65 | 5.23 |
pt | 6.90 | 5.92 | 9.05 | 6.88 |
pl | 7.26 | 5.95 | 10.01 | 7.47 |
cs | 10.99 | 9.04 | 11.45 | 9.70 |
hi | 46.17 | 16.88 | 48.85 | 10.06 |
tr | 14.65 | 12.04 | 14.10 | 11.09 |
ro | 13.43 | 10.84 | 18.21 | 12.01 |
hu | 13.89 | 13.40 | 12.53 | 12.27 |
da | 15.59 | 12.49 | 17.41 | 13.23 |
bg | 17.05 | 14.24 | 18.56 | 13.25 |
mr | 38.14 | 31.13 | 20.80 | 13.51 |
el | 15.58 | 13.73 | 25.39 | 16.98 |
uk | 15.89 | 11.60 | 12.43 | 20.75 |
az | 36.32 | 25.21 | 72.65 | 28.63 |
sw | 54.10 | 50.43 | 26.21 | 25.85 |
fa | 37.44 | 34.86 | 32.40 | 40.33 |
bn | 42.25 | 40.15 | 44.10 | 43.80 |
总结
- scaling low:
- 更高的准确度
- 多语言、方言支持
- instruct支持(llm)
- 训练数据量
- 训练iteration
- 语音大模型
- 纠错
- 同音词,可以通过自带上下文解决,类似纠错
- 热词
- 句子标注,为TTS做准备
- 通用性高,用户可能不用再选模型
- 自带翻译功能
- 支持长文本
- 合成数据的重要性
- 真流式需要专门的模型设计
- 标点符号
- 句子情绪识别
- cer和wer
- 前置环节
- 降噪
- 错误率分析
- 漏词
- 错词
- 多词
ICMC-ASR比赛
与常见的自动语音识别 (ASR) 系统场景(如家庭或会议)不同,封闭且不规则的驾驶舱声学环境非常复杂。此外,在驾驶过程中存在各种噪音源,如风声、发动机噪音、车轮声、车载音响、干扰扬声器等。因此,如何利用最新的语音处理和识别技术来提高车载 ASR 系统的鲁棒性,是一个值得研究的重要问题。
在 2022 年,我们举办了智能驾驶舱语音识别挑战赛Intelligent Cockpit Speech Recognition Challenge [1](ICSRC),并发布了一个在混合动力电动车中收集的 20 小时单通道评估集。虽然这个数据集提供了一个宝贵的公共测试平台,但仍然缺乏大规模的真实世界数据来基准测试车载 ASR 系统。为填补这一空白,我们在前期 ICSRC 成功的基础上,启动了 ICASSP 2024 车载多通道自动语音识别In-Car Multi-Channel Automatic Speech Recognition (ICMC-ASR) 挑战赛,专注于复杂驾驶条件下的语音处理和识别领域。此外,ICMC-ASR 数据集包含了超过 100 小时的真实世界录制的多通道、多说话人的车载对话普通话语音数据和 40 小时车载录制的多通道噪声音频。我们提供了 ASR 和自动语音分段及识别(ASDR)赛道,针对车载多说话人聊天场景,分别使用字符错误率 (CER) 和连接最小排列字符错误率 (cpCER) 作为评估指标。最后,ICMC-ASR 挑战赛吸引了
表1. ICMC-ASR 数据集统计信息,包括分段近场音频的持续时间(Duration)、会话数(Session)、是否提供地面真相说话人分段(GT SD)、转录(Transcription)和近场音频(Near-field)。
数据集 | 持续时间(小时) | 会话数 | GT SD | 转录 | 近场音频 |
---|---|---|---|---|---|
Train | 94.75 | 568 | ✓ | ✓ | ✓ |
Dev | 3.33 | 18 | ✓ | ✓ | ✗ |
Eval1 | 3.30 | 18 | ✓ | ✗ | ✗ |
Eval2 | 3.58 | 18 | ✗ | ✗ | ✗ |
Noise | 40.29 | 60 | - | - | - |
98 支团队参与,并在两个赛道中获得了 53 个有效结果。USTC-iflytek 团队在 ASR 赛道中以 13.16% 的 CER 和 ASDR 赛道中以 21.48% 的 cpCER 获得了冠军,展示了相较于挑战基准的显著改进。
2. 挑战描述
2.1 数据集
ICMC-ASR 挑战使用的数据集是在混合动力电动车中收集的,扬声器位于不同的位置,包括驾驶座、乘客座和两个后排座位。具体来说,车内有 4 个分布式麦克风放置在四个座位上,以记录每个扬声器,构成远场数据。为了进行转录,每个扬声器佩戴高保真耳机以记录近场数据。由于驾驶场景的实际声学环境复杂且涉及各种噪声,我们精心设计了录音环境以确保全面覆盖。具体来说,我们通过变更与驾驶相关的因素来实现,包括驾驶道路(市区街道和高速公路)、车辆速度(停车、慢速、中速和快速)、空调(关闭、中等和高)、音乐播放器(关闭和开启)、驾驶员侧窗户和天窗(关闭、开启三分之一和开启一半)、驾驶时间(白天和夜晚)。通过组合这些因素,我们最终形成了 60 种不同的场景,覆盖了大多数车内声学环境。
总体而言,ICMC-ASR 数据集包含超过 100 小时(近场音频按 oracle 时间戳)车内聊天数据,总共被分为训练(Train)集、开发(Dev)集、ASR 赛道评估集(Eval1)和 ASDR 赛道评估集(Eval2)。对于每个数据集,包含 4 个通道的远场音频,但仅 Train 集包含近场音频。特别是,对于 Eval1 集,将提供 oracle 时间戳,而 Eval2 不提供,需要参与者利用说话人分段技术进行音频分段。此外,还提供了一个较大的噪声数据集(Noise),其录音设置与远场数据相同,但没有说话人发言。每个数据子集的详细信息见表1。
相说话人分段(GT SD)、转录(Transcription)和近场音频(Near-field)。
数据集 | 持续时间(小时) | 会话数 | GT SD | 转录 | 近场音频 |
---|---|---|---|---|---|
Train | 94.75 | 568 | ✓ | ✓ | ✓ |
Dev | 3.33 | 18 | ✓ | ✓ | ✗ |
Eval1 | 3.30 | 18 | ✓ | ✗ | ✗ |
Eval2 | 3.58 | 18 | ✗ | ✗ | ✗ |
Noise | 40.29 | 60 | - | - | - |
98 支团队参与,并在两个赛道中获得了 53 个有效结果。USTC-iflytek 团队在 ASR 赛道中以 13.16% 的 CER 和 ASDR 赛道中以 21.48% 的 cpCER 获得了冠军,展示了相较于挑战基准的显著改进。
2. 挑战描述
2.1 数据集
ICMC-ASR 挑战使用的数据集是在混合动力电动车中收集的,扬声器位于不同的位置,包括驾驶座、乘客座和两个后排座位。具体来说,车内有 4 个分布式麦克风放置在四个座位上,以记录每个扬声器,构成远场数据。为了进行转录,每个扬声器佩戴高保真耳机以记录近场数据。由于驾驶场景的实际声学环境复杂且涉及各种噪声,我们精心设计了录音环境以确保全面覆盖。具体来说,我们通过变更与驾驶相关的因素来实现,包括驾驶道路(市区街道和高速公路)、车辆速度(停车、慢速、中速和快速)、空调(关闭、中等和高)、音乐播放器(关闭和开启)、驾驶员侧窗户和天窗(关闭、开启三分之一和开启一半)、驾驶时间(白天和夜晚)。通过组合这些因素,我们最终形成了 60 种不同的场景,覆盖了大多数车内声学环境。
总体而言,ICMC-ASR 数据集包含超过 100 小时(近场音频按 oracle 时间戳)车内聊天数据,总共被分为训练(Train)集、开发(Dev)集、ASR 赛道评估集(Eval1)和 ASDR 赛道评估集(Eval2)。对于每个数据集,包含 4 个通道的远场音频,但仅 Train 集包含近场音频。特别是,对于 Eval1 集,将提供 oracle 时间戳,而 Eval2 不提供,需要参与者利用说话人分段技术进行音频分段。此外,还提供了一个较大的噪声数据集(Noise),其录音设置与远场数据相同,但没有说话人发言。每个数据子集的详细信息见表1。