🚀 Distil-Whisper:适用于CTranslate2的distil-large-v3
本仓库包含已转换为 CTranslate2 格式的 distil-large-v3 模型权重。CTranslate2 是一个用于Transformer模型的快速推理引擎,也是 Faster-Whisper 包支持的后端。
与之前的Distil-Whisper版本相比,distil-large-v3专门设计为与OpenAI Whisper的长格式转录算法兼容。在我们对4个分布外数据集的基准测试中,distil-large-v3的平均字错误率(WER)比distil-large-v2低5%。因此,切换到这个最新的检查点,你可以期待显著的性能提升。
🚀 快速开始
安装依赖
要在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}
}