我们研究了仅通过预测大量互联网音频录音的语音处理系统的能力。当扩大到68万小时的多语言和多任务监督时,生成的模型可以很好地泛化到标准基准,而且通常可以与之前的全监督结果相竞争,但在zero-shot识别设置中,无需进行任何微调。与人类相比,这些模型接近他们的准确性和鲁棒性。我们正在发布模型和推理代码,以便为进一步的鲁棒性语音处理工作提供基础。
GitHub: https://github.com/openai/whisper
论文地址: https://arxiv.org/pdf/2212.04356v1.pdf
语音识别的进步得益于Wav2Vec 2.0(Baevski等人,2020)所示的无监督预训练技术的发展。由于这些方法可以直接从原始音频中学习,无需人工标签,因此它们可以有效地使用大量未标记的语音数据,并且已经快速扩展到100万小时的训练数据(Zhang等人,2021),这远远超过了学术监督数据集典型的1000小时左右。在对标准基准进行微调时,这种方法已经改进了最新技术水平,尤其是在低数据环境中。
这些预训练的音频编码器学习了高质量的语音表征,但是因为它们纯粹是无监督的,所以它们缺乏同等性能的解码器,这些解码器将这些表征映射到可用的输出,因此需要在微调阶段才能实际执行诸如语音识别之类的任务。不幸的是,这限制了它们的有用性和影响力,因为微调仍然可能是一个复杂的过程,需要有技巧的操作者。需要微调还存在额外的风险。机器学习方法非常擅长在训练数据集中找到提高对同一数据集中保留数据性能的模式。然而,这些模式中有些是脆弱和偶然的,并且不适用于其他数据集和分布。在一个特别令人不安的例子中,Radford等人(2021)记录了在ImageNet数据集(Russakovsky等人,2015)上对计算机视觉模型进行微调时,物体分类准确率提高了9.2%,而在对七个其他自然图像数据集上的同一物体进行分类时,平均准确率没有任何提高。一个在数据集上训练时达到“超人”表现的模型在另一个数据集上进行评估时仍然会犯很多基本错误,可能正是因为它正在利用人类无法察觉的那些特定于数据集的怪癖(Geirhos等人,2020)。
这表明,尽管无监督预训练极大地提高了音频编码器的质量,但缺乏同等高质量的预训练解码器,加上数据集特定微调的推荐协议,是限制其有用性和鲁棒性的关键弱点。语音识别系统的目标应该是在广泛的环境中可靠地“开箱即用”,无需对每个部署分布进行监督微调解码器。
如Narayanan等人(2018年)、Likhomanenko等人(2020年)和Chan等人(2021年)所示,通过在许多数据集/领域中进行监督预训练的语音识别系统比在单一来源上进行训练的模型表现出更高的鲁棒性,并更有效地泛化到保留的数据集。这些工作通过结合尽可能多的现有高质量语音识别数据集来实现这一目标。然而,这些数据仍然只有适度的数量易于获得。SpeechStew(Chan等人,2021年)将7个现有的数据集混合在一起,总共有5140小时的监督。虽然这并不微不足道,但与Zhang等人(2021年)所使用的100万小时的未标记语音数据相比,这还是很小的。
认识到现有高质量监督数据集的限制规模,最近的努力已经为语音识别创建了更大的数据集。通过放宽金标准人类验证的转录要求,Chen等人(2021年)和Galvez等人(2021年)利用复杂的自动化管道,将弱监督语音识别扩大到10000和30000小时的更嘈杂的训练数据。质量和数量之间的这种权衡通常是正确的选择。虽然语音识别的研究到目前为止还不够,但计算机视觉的最近研究已经表明,超越像ImageNet(Russakovsky等人,2015年)这样的金标准众包数据集,转向更大但弱监督的数据集,可以显著提高模型的鲁棒性和泛化性(Mahajan等人,2018年;Kolesnikov等人,2020年)。
然而,这些新的数据集只比现有高质量数据集的总和大几倍,仍然远小于之前的无监督工作。在这项工作中,我们弥补了这个差距,将弱监督语音识别扩大到68万小时的标记音频数据的下一个数量级。我们称我们的方法为Whisper2。我们证明在这个规模下训练的模型能够很好地转移到现有的数据集,无需进行任何数据集特定的微调就能获得高质量的结果。
除了规模,我们的工作还专注于扩大弱监督预训练的范围,超越仅仅是英语语音识别,成为多语言和多任务的。在这68万小时的音频中,117000小时涵盖了96种其他语言。数据集
还包括125,000小时的X→en翻译数据。我们发现对于足够大的模型,进行多语言和多任务的联合训练并没有任何不利的影响,甚至有利。
我们的工作表明,对于语音识别,弱监督预训练的简单扩展到目前为止一直被低估。我们无需使用最近大规模语音识别工作的主要技术,如自我监督或自我训练技术,就可以达到这些结果。为了为鲁棒的语音识别的进一步研究提供基础,我们在以下URL发布了推理代码和模型。
遵循近期利用互联网上的大规模文本来训练机器学习系统的趋势,我们对数据预处理采取了极简的方式。与大部分关于语音识别的工作不同,我们训练 Whisper 模型来预测原始文本的转录,而不进行任何显著的标准化,依赖序列到序列模型的表达能力来学习在言语和其转录形式之间的映射。这简化了语音识别流程,因为它消除了需要单独进行逆文本标准化步骤以产生自然的转录。
我们从互联网上配对的音频和转录中构建数据集。这产生了一个非常多样化的数据集,覆盖了来自许多不同环境、录音设置、演讲者和语言的广泛音频分布。虽然音频质量的多样性可以帮助训练模型具有鲁棒性,但转录质量的多样性并不具有类似的益处。初步检查显示原始数据集中有大量次优的转录。为了解决这个问题,我们开发了几种自动过滤方法来提高转录质量。
互联网上的许多转录实际上不是由人类生成的,而是现有 ASR 系统的输出。最近的研究显示,对混合人机生成数据的训练集进行训练,可能会显著影响翻译系统的性能 (Ghorbani et al., 2021)。为了避免学习“转录语言”,我们开发了许多启发式方法来检测和移除训练数据集中的机器生成的转录。许多现有的 ASR 系统只输出有限的书面语言的子集,这消除了或者将那些只从音频信号预测就很困难的方面进行了规范化,比如复杂的标点(感叹号、逗号、问号)、格式化的空白(例如段落)或者风格化的方面(例如大小写)。全大写或全小写的转录非常不可能是人类生成的。虽然许多 ASR 系统包括一些逆文本规范化的级别,但它通常是简单的或者基于规则的,仍然可以从其他未处理的方面(如从不包含逗号)进行检测。
我们还使用了一个音频语言检测器,它是通过在 VoxLingua107 (Valk & Alum ̈ae, 2021) 的原型数据集上训练
一个原型模型然后进行微调创建的,以确保口语语言与CLD2确定的转录语言相匹配。如果两者不匹配,我们不会将(音频,转录)对作为数据集中的语音识别训练样本。但如果转录语言是英语,我们会做出例外,将这些对添加到数据集中作为X→en语音翻译训练样本。我们使用模糊去重方法对转录文本进行去重,以减少训练数据集中的重复和自动生成的内容。
我们将音频文件分成30秒的片段,与该时间段内发生的转录的子集进行配对。我们对所有音频进行训练,包括没有语音的片段(虽然是以采样概率)并将这些片段用作语音活动检测的训练数据。
作为额外的过滤步骤,在训练初始模型之后,我们汇总了关于训练数据源上的误差率的信息,并对这些数据源按照高误差率和数据源大小的组合进行手动检查,以便有效地识别和移除低质量的数据源。这项检查显示了大量只有部分转录或对齐不良/未对齐的转录,以及剩下的低质量的机器生成的字幕,这些字幕是过滤启发式方法未能检测到的。
为了避免污染,我们在训练数据集和我们认为有较高重叠风险的评估数据集之间进行转录级别的去重,尤其是 TED-LIUM 3 (Hernandez et al., 2018)。
尽管预测在给定音频片段中说出了哪些词是完整语音识别问题的核心部分,并且在研究中被广泛研究,但它并不是唯一的部分。一个功能齐全的语音识别系统可能涉及许多额外的组件,如语音活动检测,说话者识别和逆文本标准化。这些组件通常被单独处理,导致在核心语音识别模型周围形成相对复杂的系统。为了降低这种复杂性,我们希望有一个单一的模型执行整个语音处理流程,而不仅仅是核心识别部分。这里一个重要的考虑因素是模型的接口。可以在相同的输入音频信号上执行许多不同的任务:转录,翻译,语音活动检测,对齐,和语言识别都是一些例子。
要让这种一对多的映射与单个模型一起工作,需要某种形式的任务规范。我们使用一种简单的格式来规定所有的任务和条件信息,作为解码器的输入标记序列。由于我们的解码器是一个音频条件语言模型,我们也训练它根据转录的文本历史来设置条件,希望它能学会使用更长范围的文本上下文来解析模糊的音频。具体来说,我们以一定的概率将当前音频片段之前的转录文本添加到解码器的上下文中。我们用一个标记来指示预测的开始。首先,我们预测正在说话的语言,每种语言在我们的训练集中都由一个唯一的标记代表(总共99种)。这些语言目标来源于前述的VoxLingua107模型。在一个音频片段中没有语音的情况下,模型被训练为预测一个表示这一情况的标记。下一个标记指定任务(转录或翻译),用一个或者标记。在此之后,我们通过包含一个用于此情况的标记来指定是否预测时间戳。此时,任务和所需格式已完全指定,输出开始。对于时间戳预测,我们预测的时间相对于当前音频片段,将所有时间量化为最近的20毫秒,这与Whisper模型的原生时间分辨率相匹配,并为其中的每一个添加额外的词汇到我们的词汇表中。我们将它们的预测与字幕标记交错:在每一个字幕的文本之前预
测开始时间标记,之后预测结束时间标记。当一个最终的转录片段只部分包含在当前的30秒音频块中,我们只预测该片段的开始时间标记,当处于时间戳模式时,来指示后续的解码应在与该时间对齐的音频窗口上进行,否则我们将音频截断,不包括该片段。最后,我们添加一个标记。我们只在过去的上下文文本上遮蔽训练损失,并训练模型预测所有其他标记。请参见图1,了解我们的格式和训练设置的概述。
图 1. 我们的方法概述。一个序列到序列的Transformer模型在许多不同的语音处理任务上进行训练,包括多语种语音识别、语音翻译、口语语种识别和语音活动检测。所有这些任务都共同表示为由解码器预测的一系列令牌,使得一个模型能够替代传统语音处理流程的许多不同阶段。多任务训练格式使用一组特殊的令
我们训练了各种大小的模型套件,以研究Whisper的扩展特性。请参阅表1以获取概述。我们使用FP16的数据并行性跨加速器进行训练,具有动态损失缩放和激活检查点(Griewank & Walther,2000; Chen等人,2016)。使用AdamW (Loshchilov & Hutter, 2017)和梯度范数剪切(Pascanu等人,2013)训练了模型,并在前2048次更新的热身之后将学习率线性衰减到零。使用了256个片段的批次大小,并对模型进行了2^20次更新的训练,这相当于在数据集上进行两到三次遍历。由于只训练了几个时期,过拟合并不是一个大问题,我们并未使用任何数据增强或正则化,而是依赖于这样一个大型数据集内包含的多样性来鼓励泛化和鲁棒性。请参阅附录F以获取完整的训练超参数。
在早期的开发和评估中,我们观察到Whisper模型有倾向于转录出合理但几乎总是错误的说话者名字猜测。这是因为预训练数据集中的许多转录文本包括正在说话的人的名字,这鼓励模型去预测它们,但这些信息仅在极少数情况下能从最近的30秒音频上下文中推断出来。为了避免这种情况,我们在不包括说话者注释的转录文本的子集上对Whisper模型进行了简短的微调,这消除了这种行为。
Whisper的目标是开发一个单一的强大的语音处理系统,无需进行特定数据集的微调,就能在特定分布上实现高质量的结果。为了研究这一能力,我们重复使用了一大套现有的语音处理数据集,检查Whisper是否能在领域、任务和语言上进行良好的泛化。我们并没有使用这些数据集的标准评估协议,这些协议包括训练和测试划分,而是在没有使用任何这些数据集的训练数据的情况下,以zero-shot击设置对Whisper进行评估,这样我们就能衡量广泛的泛化。
语音识别研究通常基于单词错误率(WER)指标来评估和比较系统。然而,基于字符串编辑距离的WER会惩罚模型输出和参考转录之间的所有差异,包括转录样式上的无害差异。因此,那些输出的转录被人类判断为正确的系统,由于微小的格式差异,仍然可能有很大的WER。虽然这对所有的转录者都是一个问题,但对于像Whisper这样的zero-shot模型来说,问题尤其严重,因为它们没有观察到特定数据集转录格式的任何例子。
这并非新的观察;开发更好地与人类判断相关的评估指标是一个活跃的研究领域,虽然有一些有前景的方法,但还没有看到有广泛的应用于语音识别的方法。我们选择通过在WER计算前进行大量的文本标准化来解决这个问题,以最小化对非语义差异的惩罚。我们的文本规范器是通过迭代手动检查来开发的,以识别在哪里,天真的WER对Whisper模型的无害差异进行了惩罚。附录C包含了完整的细节。在几个数据集中,我们观察到WER下降了多达50%,这通常是由于一些小问题,比如数据集的参考转录将缩写词和词之间用空格隔开。我们警告这种开发程序存在过度拟合到Whisper模型的转录样式的风险,我们在第4.4节中进行了研究。我们正在发布我们的文本规范器的代码,以便于比较,并帮助其他人研究在分布设置中的语音识别系统的性能。
在2015年,Deep Speech 2(Amodei等人,2015)报道了一个语音识别系统,在转录LibriSpeech的测试清洁切分时,达到了人类水平的性能。作为他们分析的一部分,他们得出了这样的结论:“鉴于这个结果,我们怀疑一个通用的语音系统在清洁读取的语音上进一步提升,而无需进行进一步的领域适应。”然而,七年后,LibriSpeech测试清洁上的SOTA WER从他们的5.3%下降到了1.4%(张等人,2021),远低于他们报告的人类水平错误率5.8%。尽管在保留但在分布的数据上的性能有了巨大而意想不到的进一步提升,但是在LibriSpeech上训练的语音识别模型在其他设置中的错误率仍然远远高于人类。这个在报告的超人类性能在分布和亚人类性能在分布之间的差距是由什么原因造成的呢?
我们怀疑这个人机行为之间的差距的大部分是由于人和机器在测试集上的表现被测量的不同能力的混淆。这个说法一开始可能会让人感到困惑;如果人和机器都在做同样的测试,那么怎么会测试到不同的技能呢?这个差异不在于测试,而在于他们如何为测试做准备。人们通常被要求在特定数据分布被研究时,几乎没有或没有监督的情况下执行任务。因此,人类的表现是对分布泛化的衡量。但是机器学习模型通常在从评估分布获得大量监督之后进行评估,这意味着机器的性能是对分布泛化的衡量。虽然人和机器都在同样的测试数据上被评估,但由于训练数据的差异,被衡量的是两种完全不同的能力。
Whisper模型,在广泛而多样的音频分布上进行训练,并在zero-shot设置中进行评估,可能比现有的系统更好地匹配人类的行为。为了研究是否如此(或者人机性能之间的差距是否由尚未理解的因素造成),我们可以将Whisper模型与人类性能和标准的微调机器学习模型进行比较,看看它们更接近哪一个。
图 2. zero-shot Whisper模型接近人类的鲁棒性。尽管在LibriSpeech dev-clean上匹配或超过人类,但在其他数据集上,有监督的LibriSpeech模型大约会犯两倍于人类的错误,表明它们的脆弱性和缺乏鲁棒性。然而,zero-shot Whisper模型的预计鲁棒性边界,包括这个特定人类的95%置信区间
为了量化这种差异,我们检查了整体的鲁棒性,即在许多分布/数据集上的平均性能,和有效的鲁棒性,这是由Taori等人(2020)引入的,它衡量了参考数据集(通常是分布内的)和一个或多个分布外数据集之间的预期性能差异。具有高有效鲁棒性的模型在分布外的数据集上的表现比在参考数据集上的表现预期要好,并且接近在所有数据集上的性能都相等的理想情况。在我们的分析中,我们选择LibriSpeech作为参考数据集,因为它在现代语音识别研究中的核心角色,以及许多发布的模型都在其上进行了训练,这使得我们可以描述鲁棒性的行为。我们使用了一套12个其他的学术语音识别数据集来研究分布外的行为。这些数据集的完整细节可以在附录A中找到。
表 2. 在各种数据集上的有效鲁棒性详细比较。尽管两个模型在LibriSpeech上的表现相差不到0.1%,但zero-shot的Whisper模型在其他数据集上的表现远超其在LibriSpeech上的表现,平均错误减少了55.2%。在应用我们的文本规范化器后,以单词错误率(WER)报告两个模型的结
我们的主要发现在图2和表2中进行了总结。虽然最好的zero-shot Whisper模型在LibriSpeech清洁测试上的WER相对平常,为2.5,这大约是现代监督基线或2019年中的最新技术的性能,但zero-shot Whisper模型与监督的LibriSpeech模型有着非常不同的鲁棒性特性,并在其他数据集上大幅超过了所有基准的LibriSpeech模型。即使是最小的zero-shot Whisper模型,只有3900万个参数,LibriSpeech测试清洁上的WER为6.7,也在其他数据集上的评估上与最好的监督LibriSpeech模型相当。与图2中的人类比较,最好的zero-shot Whisper模型大致匹配了他们的准确性和鲁棒性。为了详细分析这种在鲁棒性上的大幅度改进,表2比较了最好的zero-shot Whisper模型与在LibriSpeech测试清洁上与其表现最接近的监督LibriSpeech模型的性能。尽管他们在参考分布上的表现非常接近,但在评估其他语音识别数据集时,zero-shot Whisper模型实现了平均相对错误降低55.2%。
这个发现建议强调对模型的zero-shot 和分布外评估,特别是当试图与人类性能进行比较时,以避免因为误导性的比较而过分夸大机器学习系统的能力。
为了与之前关于多语言语音识别的工作进行比较,我们在表3中报告了在两个低数据基准测试中的结果:多语言LibriSpeech(MLS)(Pratap et al., 2020b)和VoxPopuli(Wang et al., 2021)。
在多语言LibriSpeech上,Whisper表现出色,超过了XLS-R(Babu et al., 2021)和Maestro(Chen et al., 2022b)在零射击设置中的表现。但我们要提醒的是,我们确实使用了一个简单的文本标准化器来获得这个结果,这就阻止了直接比较或宣称SOTA的性能。然而,在VoxPopuli上,Whisper的表现明显不如之前的工作,只打败了原论文中的VP-10K+FT基线。我们怀疑Whisper模型在VoxPopuli上的表现不佳可能是因为其他模型将这个分布作为他们的无监督预训练数据的主要来源,而且数据集有更多的监督数据,这对微调有利。虽然MLS每种语言的训练数据有10小时,但VoxPopuli每种语言的训练数据平均量大约高10倍。
图 3. 预训练监督量与下游语音识别性能的相关性。给定语种的预训练语音识别数据量对Fleurs中该语种的zero-shot性能有很好的预测能力
表 3. 多语种语音识别性能。zero-shot Whisper提高了在多语种LibriSpeech (MLS)上的性能,但仍然远远落后于Maestro,XLS-R和mSLAM在VoxPopuli上的性能
这两个基准测试有些狭窄,因为它们只包括15种独特的语言,几乎所有的语言都属于印欧语系,许多语言都是高资源语言。这些基准测试只提供了有限的覆盖范围和研究空间,以研究Whisper模型的多语言能力,这些能力包括75种语言的语音识别训练数据。为了更广泛地研究Whisper的性能,我们还报告了在Fleurs数据集(Conneau et al., 2022)上的性能。特别是,我们对研究我们对特定语言的训练数据量与该语言的下游零射击性能之间的关系感兴趣。我们在图3中可视化这种关系。我们发现单词错误率的对数与每种语言的训练数据量的对数之间存在0.83的强相关系数。检查这些对数-对数值的线性拟合的回归系数,得出的估计是,每增加16倍的训练数据,WER就会减半。我们还观察到,许多在预期性能方面偏离这个趋势的最大异常值的语言,是那些有独特脚本并且与构成训练数据集的大部分的印欧语言关系更远的语言,如希伯来语(HE),泰卢固语(TE),中文(ZH)和韩语(KO)。这些差异可能是由于语言距离导致的转移不足,我们的字节级BPE分词器对这些语言匹配度较差,或者数据质量的变化。
图 4. 预训练监督量与下游翻译性能的相关性。对于给定的语种,预训练翻译数据的量只能适度预测Whisper在Fleurs中对该语种的zero-shot性能
表 4. X→en语音翻译性能。zero-shot的Whisper在CoVoST2上在总体、中等和低资源设置上优于现有模型,但在高资源语种上相比之前的直接有监督工作还是略有不及
表 5. 语种识别性能。zero-shot的Whisper在Fleurs上的语种识别准确度与之前的有监督结果不具竞争力。这部分原因是由于Whisper在Fleurs的20种语言上没有训练数据,因此受到了严重的惩罚
我们通过测量Whisper模型在CoVoST2的X→en子集(Wang et al., 2020b)上的性能,研究了其翻译能力。我们与Maestro,mSLAM和XLS-R(以前最高性能的工作)进行了比较。我们在未使用任何CoVoST2训练数据的情况下,实现了新的艺术水平,达到29.1 BLEU零射击。我们将此归因于我们的预训练数据集中这些语言的X→en翻译数据有68,000小时,尽管嘈杂,但远大于CoVoST2中的861小时X→en翻译训练数据。由于Whisper评估是零射击,所以它在CoVoST2的最低资源分组上表现特别好,比mSLAM提高了6.7 BLEU。相反,对于资源最丰富的语言,最好的Whisper模型实际上并没有平均超过Maestro和mSLAM的水平。
对于更广泛的语言集合,我们还将Fleurs(这是一个语音识别数据集)用作翻译数据集。由于我们使用英文记录作为参考翻译,所以每种语言都有相同的句子。在图4中,我们可视化了每种语言的翻译训练数据量和Fleurs上的零射击BLEU得分之间的相关性。虽然随着训练数据的增加有明显的改善趋势,但平方相关系数远低于语音识别观察到的0.83,仅为0.24。我们怀疑这部分是由于音频语言识别错误导致的训练数据噪声较大。例如,尽管有9,000小时的翻译数据,但威尔士(CY)的表现远远低于预期,只有13 BLEU。这大量的威尔士翻译数据令人惊讶,位居翻译数据总排名第四,超过了世界上一些最常使用的语言,如法语、西班牙语和俄语。检查显示,大部分威尔士翻译数据实际上是英文音频和英文字幕,其中英文音频被语言识别系统误分类为威尔士,导致它被包含在翻译训练数据而不是根据我们的数据集创建规则的转录数据中。
图 5. LibriSpeech test-clean上的WER作为SNR的函数,考虑到加性白噪声(左)和pub噪声(右)。LibriSpeech训练的模型的准确性比最好的Whisper模型(F)下降得更快。在低噪声下,NVIDIA STT模型(•)表现最好,但在高噪声(SNR<10 dB)下被Whisper超过。在低噪声下表现第二好的模型(H)只在LibriSpeec
为了评估语言识别,我们使用了Fleurs数据集(Conneau et al., 2022)。Whisper的零射击性能在这里并不能与之前的监督工作相竞争,并且在监督SOTA中表现不佳,下降了13.6%。然而,Whisper在Fleurs上的语言识别方面处于明显的劣势,因为Whisper数据集中没有包含Fleurs中的102种语言中的20种的训练数据,从而将准确度上限定为80.4%。在82种重叠语言中,最好的Whisper模型达到了80.3%的准确率。
我们通过测量当白噪声或酒吧噪声从Audio Degradation Toolbox(Mauch & Ewert, 2013)被添加到音频时,Whisper模型和14个LibriSpeech训练模型的WER,测试了噪声的鲁棒性。酒吧噪声代表了一个更自然的嘈杂环境,典型的有环境噪声和在拥挤的餐厅或酒吧中听不清的聊天。在这14个模型中,有12个在LibriSpeech上进行了预训练和/或微调,另外两个是NVIDIA STT模型,这两个模型在一个类似于以前工作的SpeechStew那样的混合数据集上进行了训练,该数据集包括了LibriSpeech。根据个别示例的信号功率,计算出对应给定信噪比(SNR)的附加噪声级别。图5显示了随着附加噪声变得更强烈,ASR性能如何下降。有很多模型在低噪声(40 dB SNR)下的性能优于我们的零射击性能,这并不令人惊讶,因为这些模型主要是在LibriSpeech上进行训练的,但所有模型在噪声变得更强烈时都会迅速退化,在SNR低于10 dB的酒吧噪声下的性能比Whisper模型差。这展示了Whisper对噪声的鲁棒性,尤其是在更自然的分布偏移,如酒吧噪声下的表现。
Whisper模型是在30秒的音频块上训练的,不能一次性消化较长的音频输入。这对于由短语组成的大多数学术数据集来说并不是问题,但在需要转录几分钟或几小时的音频的实际应用中却存在挑战。我们开发
了一种策略来对长音频进行缓冲转录,通过连续转录30秒的音频段并根据模型预测的时间戳移动窗口。我们观察到,根据模型预测的重复性和对数概率进行束搜索和温度调度是可靠转录长音频的关键。完整的程序描述在第4.5节。
我们在七个由各种长度和录音条件的语音录音组成的数据集上评估了长篇转录的性能,以尽可能覆盖多样的数据分布。这些包括TED-LIUM3(Hernandez et al., 2018)的长篇改编,连接成每个示例都是全长的TED演讲,从《Late Show with Stephen Colbert》(Meanwhile)中获取的充满行话的片段,已经被用作在线博客中ASR基准的视频/播客集(Rev16和Kincaid46),收入电话会议的录音(Del Rio et al., 2021),以及Regional African American Language(CORAAL)语料库(Gunter et al., 2021)的全长采访。关于长篇数据集的详细信息可以在附录A中找到。
图 6. Whisper在长篇译稿上与最先进的商业和开源ASR系统相当。比较了六个ASR系统在七个长篇数据集上的单词错误率分布,输入长度从几分钟到几小时不等。箱型图显示了每个示例WER的四分位数,每个数据集的总WER标注在每个箱型图上。我们的模型在所有数据集上都优于最好的开源模型(NVIDIA STT)
我们与开源模型以及4个商业ASR服务进行了性能比较。结果总结在图6中,显示了Whisper和4个商业ASR服务以及来自NeMo工具包(Kuchaiev et al., 2019)的NVIDIA STT Conformer-CTC Large模型的单词错误率分布,这个模型在开源模型中表现最好。所有的商业ASR服务都使用2022年9月1日的默认英语转录设置进行查询,对于NVIDIA STT模型,我们使用他们在FrameBatchASR类中的缓冲推理实现来启用长篇转录。结果显示,Whisper在大多数数据集上的性能优于比较的模型,尤其是在Meanwhile数据集上,这个数据集中充满了不常见的词汇。另外,我们注意到一些商业ASR系统可能已经在这些公开可用的数据集上进行了训练,因此这些结果可能无法准确反映系统的相对鲁棒性。
由于模糊或不明确的语音以及标签错误,每个数据集中都存在不同级别的不可减少的错误,仅凭ASR系统的WER指标很难了解每个数据集中还有多少改进的空间。为了量化Whisper性能接近人类性能的程度,我们从Kincaid46数据集中选择了25个录音,并使用了5个服务来获取由专业转录员制作的转录,其中一个提供计算机辅助转录,其他四个提供人工转录。我们发现人类转录员的单词错误率为4.1%,远低于所有的ASR系统,包括Whisper,它的错误率是8.9%。我们还注意到,计算机辅助的转录错误率是所有人类转录中最高的,错误率是7.3%。这提供了一个更直观的上限,揭示了使用人工智能可以在ASR上达到的最高水平。我们发现即使是专业转录员,也会犯错误,比如在处理语言中的混乱,像“err”和“um”之类的话语时,或者在翻译方言和口音时。这强调了ASR任务的困难性,尤其是在处理实际的语音数据时。
虽然弱监督训练方法的一大优势在于其可以使用比传统监督学习更大的数据集,但这也带来了一个代价,即可能使用的数据质量较低,比黄金标准的监督方式要差。一个担忧是,尽管这种方法开始时可能看起来很有希望,但是在这种类型的数据上训练的模型的性能可能会在数据集的固有质量水平上达到饱和,这可能远远低于人类水平。相关的担忧是,随着在数据集上训练的计算能力和容量的增加,模型可能会学会利用数据集的特性,而它们对于分布外数据的鲁棒泛化能力甚至可能会降低。
图 7. Whisper的性能接近专业人工转录员的水平。这张图展示了Kincaid46数据集中25段录音由Whisper,图6中的同样4个商业ASR系统(A-D),一个计算机辅助人工转录服务(E)以及4个人工转录服务(F-I)转录的WER分布。箱型图上叠加了表示个别录音上的WER的点,每个箱型图上标注了25段录音的总WER
为了检验是否出现了这种情况,我们研究了Whisper模型的零次学习泛化能力,作为模型大小的函数。我们的分析总结在图8中。除了英语语音识别外,随着模型大小的增加,多语言语音识别、语音翻译和语言识别的性能继续提升。英语语音识别的收益递减可能是由于接近人类水平性能,如第3.9节的分析所示。
在680,000小时的标记音频中,Whisper数据集是监督语音识别中创建的最大的数据集之一。那么原始数据集的大小对Whisper的性能到底有多重要呢?为了研究这个问题,我们在数据集的下采样版本上训练了一系列中等大小的模型,这些版本分别占全数据集大小的0.5%、1%、2%、4%和8%,并将它们的性能与在整个数据集上训练的同样大小的模型进行了比较。我们根据验证损失进行早期停止,以选择每个数据集大小的模型检查点。评估是根据参数的指数移动平均估计(Polyak & Juditsky,1992)进行的,使用0.9999的平滑率,以帮助减少由于早期停止,学习率未完全衰减到零而对在下采样数据集上训练的模型的影响。我们在表6中报告了英语和多语种语音识别以及X→en翻译的性能。
图 8. zero-shot的Whisper在任务和语言上的性能随着模型大小的增加可靠地提高。浅色线条代表单个数据集或语言,显示出性能比聚合性能的平滑趋势更具变化性。大型V2以虚线橙色线区分,因为它包括了在这个分析中小型模型不存在的几个变化
表 6. 随着数据集大小的增加,性能提高。英语语音识别性能指的是12个数据集的平均值,而多语种语音识别报告了Fleurs和X→en翻译在CoVoST2上的平均BLEU的语言的重叠子集的性能。数据集大小以小时报告
所有的数据集大小增加都导致所有任务的性能提高,尽管我们在任务和大小之间的改进率上看到了显著的变异性。英语语音识别的性能在3,000到13,000小时之间迅速提高,然后在13,000到54,000小时之间明显放慢。使用完整的数据集,其大小增加了另外12.5倍,只导致WER进一步下降1个百分点。这反映了我们在英语语音识别的模型大小扩展中观察到的收益递减,并且在接近人类水平性能时也可能由饱和效应解释。
对于多语种语音识别,WER的改进遵循幂律趋势,直到54,000小时,然后偏离这个趋势,当增加到全数据集大小时,只进一步提高7个百分点。对于X→en翻译,当训练时间小于7000小时时,性能几乎为零,然后在54,000小时之前也显示出粗略的对数线性改进趋势,然后在进一步扩大到全数据集大小时,也显示出收益递减。
当从54,000小时移动到我们的全数据集大小680,000小时时,各个任务的收益递减趋势可能暗示当前最好的Whisper模型相对于数据集大小而言是欠训练的,性能可以通过更长时间的训练和更大的模型进一步提高。这也可能暗示我们即将结束从数据集大小扩展带来的性能改进。需要进一步分析来确定语音识别的“扩展规则”,以便在这些解释之间做出选择。
联合训练单个模型以完成许多任务和语言可能存在一个潜在的问题,即负面转移,即在学习几个任务时发生干扰,导致的性能比只训练一个任务或一种语言的性能差。为了调查是否存在这种情况,我们比较了仅在英语语音识别上训练的模型的性能和我们的标准多任务和多语言训练设置,然后测量了它们在我们的零次英语语音识别基准测试中的平均性能。我们调整了在英语语音识别任务上训练的FLOPs量,因为在联合训练设置中,只有65%的计算资源是用于这个任务的;否则,分析可能会被与同样大小的英语模型相比在任务上的欠训练所混淆。
我们在图9中显示的结果表明,对于使用适量计算资源训练的小模型,任务和语言之间确实存在负面转移:联合模型在同等计算资源下的表现不如仅用于英语的模型。然而,多任务和多语言模型的扩展效果更好,对于我们最大的实验,它们超过了它们的英语同行,显示出从其他任务的积极转移。对于我们最大的实验,即使不调整每个任务的计算资源,联合模型也稍微优于仅用于英语的模型。
图 9. 多任务和多语种转移随规模的提高而改善。对于小模型,当在多任务和多语种设置中联合训练时,英语语音识别的性能会下降。然而,多语种和多任务模型更多地从规模中受益,并最终超过只在英语数据上训练的模型。显示了95%的自举估计置信区间
由于我们与Whisper一起开发了我们的文本规范化,以减少无害的单词错误,我们的规范器可能过度适应于修复Whisper的特性,而不是解决普遍的转录变化。为了检查这一点,我们比较了使用我们的规范器的Whisper的性能和FairSpeech项目(Koenecke等人,2020)独立开发的规范器的性能。在图10中,我们展示了差异。在大多数数据集上,两个规范器的表现相似,Whisper和比较的开源模型之间在WER减少上没有显著差异,而在一些数据集上,即WSJ,CallHome和Switchboard,我们的规范器大幅降低了Whisper模型的WER。减少的差异可以追溯到地面真实数据使用的不同格式以及两个规范器如何惩罚它们。例如,在CallHome和Switchboard中,我们的标准化器并没有惩罚常见的英语缩写的差异,例如“you’re”和“you are”,在WSJ中,我们的规范器将数字和货币表达的书面和口头形式进行了标准化,例如“sixty-eight million dollars”和“$68 million”。
图 10. 在大多数数据集上,我们的文本规范器在降低Whisper模型和其他开源模型的WER之间的效果与FairSpeech的规范器相似。对于每个数据集,箱型图显示了在我们的评估套件中不同模型的相对WER减少的分布,表明使用我们的文本规范器通常会导致比FairSpeech的WER更低。在一些数据集上,我们的规范器显著地
使用Whisper转录长篇音频依赖于准确预测时间戳令牌,以确定模型的30秒音频上下文窗口需要移动的量,而在一个窗口中的不准确转录可能会对后续窗口的转录产生负面影响。我们开发了一套启发式策略,有助于避免长篇转录的失败情况,这些策略被应用在第3.8节和3.9节报告的结果中。
首先,我们使用5个光束的光束搜索,使用对数概率作为评分函数,以减少贪婪解码中更频繁发生的重复循环。我们以0为温度开始,即总是选择概率最高的令牌,并在生成的令牌的平均对数概率低于-1或生成的文本的gzip压缩率高于2.4时,将温度增加0.2,最多增加到1.0。当应用的温度低于0.5时,提供前一个窗口的转录文本作为前文条件,可以进一步提高性能。我们发现,仅仅令牌的概率不足以区分无语音的片段,但结合无语音的概率阈值0.6和平均对数概率阈值-1,使得Whisper的语音活动检测更为可靠。
最后,为了避免模型忽略输入中的前几个单词的失败模式,我们将初始时间戳令牌限制在0.0到1.0秒之间。表7显示,添加上述每个干预措施都会逐步减少整体的WER,但在数据集中的减少并不均匀。这些启发式策略是对模型嘈杂预测的一种解决方法,需要进一步的研究才能进一步提高长篇解码的可靠性。
扩大语音识别的规模:在语音识别研究中,一直以来的主题都是记录扩大计算能力、模型和数据集的好处。早期将深度学习应用于语音识别的工作发现,模型的深度和大小以及利用GPU加速使得这些更大的模型的训练成为可能,都能提高性能(Mohamed等人,2009)。进一步的研究证明,深度学习在语音识别的效果与数据集大小呈正比,从只使用3小时的TIMIT训练数据进行电话识别,与先前的GMM-HMM系统竞争,到在2000小时的Switchboard数据集上训练,实现了30%的词错误率降低(Seide等人,2011)。Liao等人(2013)是早期通过弱监督学习增加深度学习语音识别数据集超过1000小时的例子。这些趋势持续下去,Deep Speech 2(Amodei等人,2015)是一个值得注意的系统,它开发了跨16个GPU的高吞吐分布式训练,并扩大到12000小时的训练数据,同时证明了在这个规模下的持续改进。通过利用半监督预训练,Narayanan等人(2018)能够进一步增加数据集大小,并研究在162,000小时的标注音频上的训练。更近期的工作已经探索了十亿参数模型(Zhang等人,2020)并使用了多达1,000,000小时的训练数据(Zhang等人,2021)。
多任务学习:多任务学习(Caruana, 1997)已经被研究了很长时间。在语音识别中,已经对多语言模型进行了超过十年的研究(Schultz & Kirchhoff, 2006)。在NLP领域探索使用单一模型进行多任务学习的一项具有启发性和基础性的工作是Collobert等人(2011)。在序列到序列的框架中,使用多个编码器和解码器进行多任务学习是Luong等人(2015)所研究的。首次演示了使用共享编码器/解码器架构和语言代码的使用是由Johnson等人(2017)完成的,这消除了对单独的编码器和解码器的需要。这种方法进一步简化为McCann等人(2018)的“文本到文本”框架,并在Radford等人(2019)和Raffel等人(2020)的大型变压器语
言模型的成功中得到了普及。Toshniwal等人(2018)展示了如何使用单一模型在几种语言上共同训练现代深度学习语音识别系统,Pratap等人(2020a)大规模地扩展了这项工作,将其扩大到50种语言和十亿参数的模型。MUTE(Wang等人,2020c)和mSLAM(Bapna等人,2022)研究了文本和语音语言任务的联合训练,展示了他们之间的转移。
鲁棒性:模型如何有效地转移,以及它们对分布偏移和其他类型的扰动的鲁棒性,这一问题一直以来都在许多机器学习领域被研究,而且正在积极进行。Torralba & Efros(2011)在十多年前就强调了机器学习模型在数据集之间缺乏泛化的问题。许多其他的工作也表明并不断重申,尽管在IID测试集上性能高,机器学习模型在稍微不同的设置中的评估仍然会出现许多错误(Lake等人,2017;Jia & Liang,2017;Alcorn等人,2019;Barbu等人,2019;Recht等人,2019)。最近,Taori等人(2020)研究了图像分类模型的鲁棒性,Miller等人(2020)研究了问答模型。一个关键的发现是,多领域训练增加了鲁棒性和泛化,这在介绍中有所讨论。这个发现已经在许多领域得到了验证,包括语音识别、NLP(Hendrycks等人,2020)和计算机视觉(Radford等人,2021)。
表 7. 随着解码启发式方法的增加,长篇译稿的性能逐步提高。每项干预的详细信息在第4.5节中描述
从我们的实验结果、分析和消融测试中,我们注意到了一些限制和未来工作的领域。
改进解码策略:随着我们扩大Whisper的规模,我们观察到,较大的模型在减少与感知相关的错误,如混淆发音相似的词,方面取得了稳步而可靠的进步。许多剩余的错误,特别是在长篇文字转录中,似乎更顽固,明显非人类/感知的。它们是seq2seq模型、语言模型和文本-音频对齐的失败模式的组合,包括如陷入重复循环、不转录音频片段的第一个或最后几个词,或完全幻想的问题,模型将输出一个与实际音频完全无关的转录。尽管第4.5节讨论的解码细节有显著帮助,但我们怀疑,对Whisper模型在高质量监督数据集上进行微调和/或使用强化学习更直接地优化解码性能,可能有助于进一步减少这些错误。
增加低资源语言的训练数据:如图3所示,Whisper的语音识别性能在许多语言上仍然相当差。同样的分析表明,提高的途径很明显,因为对语言的性能可以通过该语言的训练数据量很好地预测。由于我们的预训练数据集目前主要是英语,这是由于我们的数据收集管道的偏向,主要来源于互联网的以英语为中心的部分,因此大多数语言的训练数据少于1000小时。针对性地增加这些较少见语言的数据量,即使我们的总体训练数据集大小只有小幅度的增加,也可能导致语音识别性能的大幅度提高。
研究微调:在这项工作中,我们关注的是语音处理系统的鲁棒性属性,因此只研究了Whisper的zero-shot转移性能。虽然这是一个需要研究的关键设置,因为它代表了一般的可靠性,但对于许多存在高质量监督语音数据的领域来说,通过微调可能可以进一步改善结果。研究微调的额外好处是,它允许与先前的工作直接比较,因为这是一个更常见的评估设置。
研究语言模型对鲁棒性的影响:如引言中所述,我们怀疑Whisper的鲁棒性部分是由于其强大的解码器,这是一个音频条件语言模型。目前还不清楚Whisper的好处在多大程度上源于训练其编码器、解码器,或两者都有。这可以通过消融Whisper的各种设计组件,如训练一个无解码器的CTC模型,或者研究现有的语音识别编码器如wav2vec 2.0在与语言模型一起使用时的性能如何。
添加辅助训练目标:Whisper明显地偏离了最近的大部分最先进的语音识别系统,因为它们缺乏无监督预训练或自教的方法。虽然我们发现它们对于达到好的性能并不必要,但是有可能通过整合这些方法,结果可能得到进一步的改善。
Whisper提出,到目前为止,在语音识别研究中,对弱监督预训练的扩大还未得到充分的认可。我们的结果不需要使用近期大规模语音识别工作的主要手段——自我监督和自我训练技术,我们展示了如何仅通过在大型和多样化的监督数据集上进行训练,并专注于zero-shot转移,可以显著提高语音识别系统的鲁棒性。