模型小了,幻觉还减轻了。OpenAI的Whisper被蒸馏后,语音识别数倍加速

前段时间,「霉霉大秀中文」的视频在各个社交媒体走红,随后又出现了「郭德纲大秀英语」等类似视频。这些视频很多都出自一个名叫「HeyGen」的 AI 应用之手。

不过,从 HeyGen 现在的火爆程度来看,想用它制作类似视频可能要排很久。好在,这并不是唯一的制作方法。懂技术的小伙伴也可以寻找其他替代方案,比如语音转文字模型 Whisper、文字翻译 GPT、声音克隆 + 生成音频 so-vits-svc、生成符合音频的嘴型视频 GeneFace++dengdeng。

其中,这个语音转文字的 Whisper 模型非常好用。Whisper 是 OpenAI 研发并开源的一个自动语音识别(ASR,Automatic Speech Recognition)模型,他们通过从网络上收集了 68 万小时的多语言(98 种语言)和多任务(multitask)监督数据对 Whisper 进行了训练。OpenAI 认为使用这样一个庞大而多样的数据集,可以提高模型对口音、背景噪音和技术术语的识别能力。除了可以用于语音识别,Whisper 还能实现多种语言的转录,以及将这些语言翻译成英语。目前,Whisper 已经有了很多变体,也成为很多 AI 应用构建时的必要组件。

最近,来自 HuggingFace 的团队提出了一种新变体 —— Distil-Whisper。这个变体是 Whisper 模型的蒸馏版,特点是模型小、速度快,而且准确度还很高,非常适合在要求低延迟或资源有限的环境中运行。不过,与能够处理多种语言的原始 Whisper 模型不同,Distil-Whisper 只能处理英文。

论文地址:https://arxiv.org/pdf/2311.00430.pdf

具体来说,Distil-Whisper 有两个版本,参数量分别为 756M(distil-large-v2)和 394M(distil-medium.en)。

与 OpenAI 的 Whisper-large-v2 相比,756M 版本的 distil-large-v2 参数量减少了一半还多,但实现了 6 倍的加速,而且在准确程度上非常接近 Whisper-large-v2,在短音频的 Word Error Rate(WER)这个指标上相差在 1% 以内,甚至在长音频上优于 Whisper-large-v2。这是因为通过仔细的数据选择和过滤,Whisper 的稳健性得以保持,幻觉得以减少。

Distil-Whisper_人工智能

Distil-Whisper_数据_02

网页版Whisper与Distil-Whisper速度的直观对比。图源:https://twitter.com/xenovacom/status/1720460890560975103

所以,虽然刚刚发布两三天,Distil-Whisper 的 star 量已经破千。

  • 项目地址:https://github.com/huggingface/distil-whisper#1-usage
  • 模型地址:https://huggingface.co/models?other=arxiv:2311.00430

此外,有项测试结果表明,在处理 150 分钟的音频时,Distil-Whisper 的速度可以达到 Faster-Whisper 的 2.5 倍。

Distil-Whisper_数据_03

测试链接:https://github.com/Vaibhavs10/insanely-fast-whisper#insanely-fast-whisper

那么,这么好的结果是怎么实现的呢?作者在论文中表示,他们利用伪标签技术构建了一个大规模开源数据集,然后利用这个数据集将 Whisper 模型蒸馏成了 Distil-Whisper。利用简单的 WER 启发式,他们只选择质量最高的伪标签进行训练。

下图 1 展示了 Distil-Whisper 的架构。研究者通过从教师模型中复制整个编码器来初始化学生模型,并在训练过程中冻结它。他们通过复制第一个和最后一个解码器层,从 OpenAI 的 Whisper-medium.en 和 Whisper-large-v2 模型中蒸馏出 2 层解码器检查点,分别取名为 distil-medium.en 和 distil-large-v2。       

Distil-Whisper_人工智能_04

蒸馏得到的模型的维度细节如表 3 所示。

Distil-Whisper_人工智能_05

在数据方面,模型在 9 个不同的开源数据集(见表 2)上训练了 22,000 小时。伪标签由 Whisper 生成。重要的是,他们使用了 WER 过滤器,只有 WER 得分超过 10% 的标签才会被保留。作者表示,这是保持性能的关键!  

Distil-Whisper_数据_06

下表 5 展示了 Distil-Whisper 的主要性能结果。

Distil-Whisper_数据_07

作者表示,冻结编码器的操作使得 Distil-Whisper 在对抗噪声时非常稳健。如下图所示,Distil-Whisper 遵循与 Whisper 相似的鲁棒性曲线,在噪声条件下优于 Wav2vec2 等其他模型。

Distil-Whisper_语音识别_08

此外,在处理比较长的音频文件时,与 Whisper 相比,Distil-Whisper 还有效减少了幻觉,作者认为这主要归功于 WER 过滤。

通过共享相同的编码器,Distil-Whisper 可以与 Whisper 配对进行推测解码(Speculative Decoding)。这样,在参数仅增加 8% 的情况下,速度提高了 2 倍,同时输出结果与 Whisper 完全相同。