Distil-Whisper:更快更轻的语音识别模型

RayRay
Distil-Whisper语音识别模型压缩自然语言处理机器学习Github开源项目

distil-whisper

Distil-Whisper:更快更轻的语音识别模型

Distil-Whisper是由Hugging Face团队开发的Whisper模型的蒸馏版本,旨在为语音识别任务提供更快更轻量的解决方案。作为OpenAI Whisper模型的精简版,Distil-Whisper在保持接近原始模型性能的同时,实现了显著的速度提升和模型体积缩减。

主要特点

  1. 更快的推理速度: Distil-Whisper的推理速度是原始Whisper模型的6倍,这意味着它可以更快地处理音频输入并生成文本输出。

  2. 更小的模型体积: 相比原始Whisper模型,Distil-Whisper的参数量减少了49%。这使得它更适合在资源受限的环境中部署,如移动设备或边缘计算设备。

  3. 接近的性能表现: 尽管模型体积缩小,Distil-Whisper在分布外评估集上的词错误率(WER)与原始Whisper模型的差异仅在1%以内。这意味着它能够在大多数实际应用中提供与Whisper相当的识别准确性。

  4. 多种模型变体: Distil-Whisper提供了多个模型变体,包括distil-large-v3、distil-medium.en和distil-small.en等,以适应不同的应用场景和硬件条件。

Distil-Whisper模型性能对比

技术原理

Distil-Whisper的创新之处在于其独特的蒸馏方法:

  1. 编码器保留: 完整保留了Whisper模型的编码器部分,并在训练过程中冻结其参数。

  2. 解码器精简: 仅保留了两个解码器层,分别初始化自Whisper模型的第一层和最后一层解码器。其他解码器层被舍弃,大大减少了模型参数量。

  3. 知识蒸馏: 通过最小化蒸馏模型与Whisper模型之间的KL散度,以及在伪标签音频数据上的交叉熵损失来训练模型。

  4. 大规模伪标签数据: 使用了总计22,000小时的伪标签音频数据进行训练,涵盖10个领域,包含超过18,000名说话者的语音。这种多样性有助于提高模型的鲁棒性。

Distil-Whisper架构示意图

应用场景

Distil-Whisper适用于多种语音识别场景:

  1. 短音频转写: 对于30秒以内的短音频,Distil-Whisper可以一次性处理整个音频片段,无需分块。

  2. 长音频转写: 对于超过30秒的长音频,Distil-Whisper提供了两种算法:

    • 顺序长音频算法:使用滑动窗口进行缓冲推理,适合对转写准确性要求较高的场景。
    • 分块长音频算法:适合需要快速推理的场景,在某些情况下可以比OpenAI的顺序长音频实现快9倍。
  3. 推测性解码: Distil-Whisper可以作为Whisper的辅助模型进行推测性解码,在保证相同输出的同时,将推理速度提高2倍。

  4. 移动端和边缘设备: 对于资源受限的环境,如移动设备或边缘计算设备,可以使用distil-small.en模型,它仅有166M参数,但性能仍在Whisper large-v3的4%误差范围内。

使用方法

Distil-Whisper可以通过Hugging Face Transformers库轻松使用。以下是一个简单的使用示例:

import torch from transformers import AutoModelForSpeechSeq2Seq, AutoProcessor, pipeline device = "cuda:0" if torch.cuda.is_available() else "cpu" torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32 model_id = "distil-whisper/distil-large-v3" model = AutoModelForSpeechSeq2Seq.from_pretrained( model_id, torch_dtype=torch_dtype, low_cpu_mem_usage=True, use_safetensors=True ) model.to(device) processor = AutoProcessor.from_pretrained(model_id) pipe = pipeline( "automatic-speech-recognition", model=model, tokenizer=processor.tokenizer, feature_extractor=processor.feature_extractor, max_new_tokens=128, torch_dtype=torch_dtype, device=device, ) # 使用管道进行音频转写 result = pipe("path/to/your/audio.mp3") print(result["text"])

性能优化

为进一步提升Distil-Whisper的性能,可以考虑以下优化方法:

  1. Flash Attention: 如果GPU支持,可以使用Flash Attention 2来加速注意力计算。

  2. Torch Scale-Product-Attention (SDPA): 对于不支持Flash Attention的GPU,可以使用BetterTransformers来优化性能。

  3. 推测性解码: 将Distil-Whisper作为辅助模型与原始Whisper模型配合使用,可以在保证输出质量的同时将推理速度提高2倍。

结语

Distil-Whisper为语音识别任务提供了一个高效、轻量级的解决方案。它不仅保持了接近原始Whisper模型的性能,还大大提高了推理速度和部署灵活性。无论是在云端服务器还是移动设备上,Distil-Whisper都能为各种语音识别应用提供强大支持。随着技术的不断发展,我们期待看到更多基于Distil-Whisper的创新应用,推动语音识别技术在更广泛的领域中的应用和普及。

编辑推荐精选

Pixmax

Pixmax

一站式AI短剧创作平台

Pixmax专注打造下一代“ AI 视觉创作引擎”,整合行业顶尖 AI 大模型、工工业级精准控制及企业级协同管理功能,是全方位的 AI 内容创作平台。

豆包

豆包

字节跳动旗下 AI 智能助手

字节跳动旗下 AI 智能助手

GPT Plus|Pro充值

GPT Plus|Pro充值

GPT充值

支持 ChatGPT Plus / Pro 充值服务,支付便捷,自动发货,售后可查。

GPT Image 2中文站

GPT Image 2中文站

AI 图片生成平台

GPT Image 2 是面向用户的 AI 图片生成平台,支持文生图、图生图及多模型创意工作流。

Vecbase

Vecbase

你的AI Agent团队

Vecbase 是专为 AI 团队打造的智能工作空间,将数据管理、模型协作与知识沉淀整合于一处。算法、产品与业务在同一平台无缝协同,让从数据到 AI 应用的落地更快一步。

音述AI

音述AI

全球首个AI音乐社区

音述AI是全球首个AI音乐社区,致力让每个人都能用音乐表达自我。音述AI提供零门槛AI创作工具,独创GETI法则帮助用户精准定义音乐风格,AI润色功能支持自动优化作品质感。音述AI支持交流讨论、二次创作与价值变现。针对中文用户的语言习惯与文化背景进行专门优化,支持国风融合、C-pop等本土音乐标签,让技术更好地承载人文表达。

QoderWork

QoderWork

阿里Qoder团队推出的桌面端AI智能体

QoderWork 是阿里推出的本地优先桌面 AI 智能体,适配 macOS14+/Windows10+,以自然语言交互实现文件管理、数据分析、AI 视觉生成、浏览器自动化等办公任务,自主拆解执行复杂工作流,数据本地运行零上传,技能市场可无限扩展,是高效的 Agentic 生产力办公助手。

lynote.ai

lynote.ai

一站式搞定所有学习需求

不再被海量信息淹没,开始真正理解知识。Lynote 可摘要 YouTube 视频、PDF、文章等内容。即时创建笔记,检测 AI 内容并下载资料,将您的学习效率提升 10 倍。

AniShort

AniShort

为AI短剧协作而生

专为AI短剧协作而生的AniShort正式发布,深度重构AI短剧全流程生产模式,整合创意策划、制作执行、实时协作、在线审片、资产复用等全链路功能,独创无限画布、双轨并行工业化工作流与Ani智能体助手,集成多款主流AI大模型,破解素材零散、版本混乱、沟通低效等行业痛点,助力3人团队效率提升800%,打造标准化、可追溯的AI短剧量产体系,是AI短剧团队协同创作、提升制作效率的核心工具。

seedancetwo2.0

seedancetwo2.0

能听懂你表达的视频模型

Seedance two是基于seedance2.0的中国大模型,支持图像、视频、音频、文本四种模态输入,表达方式更丰富,生成也更可控。

下拉加载更多