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

Ray

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的创新应用,推动语音识别技术在更广泛的领域中的应用和普及。

avatar
0
0
0
最新项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

稿定AI

稿定设计 是一个多功能的在线设计和创意平台,提供广泛的设计工具和资源,以满足不同用户的需求。从专业的图形设计师到普通用户,无论是进行图片处理、智能抠图、H5页面制作还是视频剪辑,稿定设计都能提供简单、高效的解决方案。该平台以其用户友好的界面和强大的功能集合,帮助用户轻松实现创意设计。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号