语言:
- 英文
标签:
- 音频
- 自动语音识别
许可证: MIT
库名称: ctranslate2
Distil-Whisper: distil-large-v3 for CTranslate2
此仓库包含转换为CTranslate2格式的distil-large-v3模型权重。CTranslate2是一个针对Transformer模型的快速推理引擎,也是Faster-Whisper包的支持后端。
与之前的Distil-Whisper版本相比,distil-large-v3专门设计为兼容OpenAI Whisper的长文本转录算法。在我们对4个分布外数据集的基准测试中,distil-large-v3比distil-large-v2平均提升了5%的词错误率(WER)。因此,切换到这一最新检查点可以预期显著的性能提升。
使用方法
要在Faster-Whisper中使用该模型,首先按照官方说明安装PyPi包。此示例中,我们还将安装🤗 Datasets以从Hugging Face Hub加载一个示例音频数据集:
pip install --upgrade pip
pip install --upgrade git+https://github.com/SYSTRAN/faster-whisper datasets[audio]
以下代码片段加载distil-large-v3模型,并在LibriSpeech ASR数据集的一个示例文件上运行推理:
import torch
from faster_whisper import WhisperModel
from datasets import load_dataset
device = "cuda:0" if torch.cuda.is_available() else "cpu"
compute_type = "float16" if torch.cuda.is_available() else "float32"
model = WhisperModel("distil-large-v3", device=device, compute_type=compute_type)
dataset = load_dataset("hf-internal-testing/librispeech_asr_dummy", "clean", split="validation")
sample = dataset[1]["audio"]["path"]
segments, info = model.transcribe(sample, beam_size=1)
for segment in segments:
print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))
要转录本地音频文件,只需将音频文件路径作为audio
参数传递给transcribe:
segments, info = model.transcribe("audio.mp3", beam_size=1)
模型详情
有关distil-large-v3模型的更多信息,请参考原始模型卡片。
许可证
Distil-Whisper继承了OpenAI Whisper模型的MIT许可证。
引用
如果使用此模型,请考虑引用Distil-Whisper论文:
@misc{gandhi2023distilwhisper,
title={Distil-Whisper: Robust Knowledge Distillation via Large-Scale Pseudo Labelling},
author={Sanchit Gandhi and Patrick von Platen and Alexander M. Rush},
year={2023},
eprint={2311.00430},
archivePrefix={arXiv},
primaryClass={cs.CL}
}