🚀 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}
}