两天star量破千: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 只能处理英文。

论文地址:arxiv.org/pdf/2311.00...

具体来说,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 的稳健性得以保持,幻觉得以减少。

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

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

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

测试链接:github.com/Vaibhavs10/...

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

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

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

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

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

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

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

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

更多细节请参见原文。

相关推荐
冬奇Lab1 天前
开源项目第186期:Open Ontologies — Rust 实现的 AI 原生本体工程 MCP 服务器
人工智能·开源·资讯
冬奇Lab2 天前
开源项目第185期:Orca — YC 支持的 AI Agent 开发环境,并行运行多个 Coding Agent、手机远程监控、Design Mode 直接截图喂给 AI
人工智能·开源·资讯
怕浪猫2 天前
第8章 从0到1全流程产品设计
产品经理·产品·资讯
冬奇Lab3 天前
开源项目第184期:MiroFish — 盛大出品的群体智能预测引擎,用数千 AI Agent 模拟社会演化来预测未来
人工智能·开源·资讯
怕浪猫3 天前
第7章 产品需求文档(PRD)撰写
产品经理·产品·资讯
怕浪猫4 天前
第6章 交互原型设计 — Axure 实战
产品经理·产品·资讯
冬奇Lab5 天前
开源项目第182期:Graphify — 把整个代码库变成可查询知识图谱,让 AI 编程助手真正「懂」你的项目
人工智能·开源·资讯
CoovallyAIHub5 天前
一个集装箱从船到火车的两个小时,AI 搭档 Coco在中间做了什么
操作系统·agent·资讯
怕浪猫5 天前
第5章 搭建产品架构 — 1张表、4张图
产品经理·产品·资讯
冬奇Lab6 天前
开源项目第181期:Open Code Review — 阿里巴巴内部锤炼的 AI 代码审查工具,token 消耗仅为通用 Agent 的 1/9
人工智能·开源·资讯