🚀 Distil-Whisper: 适用于CTranslate2的Distil-Large-v3.5
Distil-Whisper项目提供了专为CTranslate2优化的语音识别模型,能显著提升推理速度,同时保持较高的识别准确率。它将distil-large-v3.5模型权重转换为CTranslate2格式,借助CTranslate2这一快速推理引擎,为语音识别任务带来高效解决方案。
🚀 快速开始
本项目旨在提供适用于CTranslate2的Distil-Large-v3.5模型权重。CTranslate2是Transformer模型的快速推理引擎,也是Faster-Whisper包支持的后端。
✨ 主要特性
- 高效推理:借助CTranslate2,实现快速语音识别。
- 易于集成:可轻松与Faster-Whisper结合使用。
📦 安装指南
要在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" if torch.cuda.is_available() else "cpu"
compute_type = "float16" if torch.cuda.is_available() else "float32"
model = WhisperModel("distil-whisper/distil-large-v3.5-ct2", 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=5, language="en")
for segment in segments:
print("[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))
高级用法
要转录本地音频文件,只需将音频文件的路径作为audio
参数传递给transcribe
方法:
segments, info = model.transcribe("audio.mp3", beam_size=5, language="en")
📚 详细文档
有关Distil-Large-v3.5模型的更多信息,请参考原始模型卡片。
📄 许可证
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}
}