faster-whisper
基于CTranslate2引擎重实现的Whisper,在保持精度的同时速度提升4倍、显存减半
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
基于CTranslate2引擎重实现的Whisper,在保持精度的同时速度提升4倍、显存减半
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
深夜11点,字幕组的小张面对一段2小时的英文访谈视频发呆。用传统方案转写,需要等上15分钟,还不包括后期的时间戳校对。如果换成 faster-whisper,同样的音频在支持的GPU上只需要不到1分钟,准确率几乎不掉。这不是魔法,而是一个来自翻译老兵 SYSTRAN 的工程优化方案。
2022年,OpenAI 发布 Whisper 模型,以超强的多语言语音识别能力震撼业界。然而原版 Whisper 基于 PyTorch 实现,推理速度对生产环境并不友好——大模型在消费级GPU上转写1小时音频,动辄需要几分钟甚至更久。
SYSTRAN 是一家拥有超过50年历史的机器翻译公司,核心技术积累深厚。他们敏锐地看到了 Whisper 的工程瓶颈:模型精度足够好,但推理效率还有巨大的优化空间。于是,SYSTRAN 的工程师用 CTranslate2 引擎对 Whisper 进行了完整重实现,在几乎不损失准确率的前提下,将推理速度提升了 4 倍,同时显著降低了显存占用。
faster-whisper 的核心作者 Guillaume Klein 同时也是 OpenNMT 序列到序列开源工具的贡献者,在高性能推理领域有深厚积累。
可以把 faster-whisper 理解为一辆混合动力汽车:车身(Whisper 模型架构)保持不变,但把发动机从燃油发动机(PyTorch)换成了更省油的方案(CTranslate2)。省油效果如何?官方 benchmark 显示,在 RTX 3070 Ti GPU 上,大模型转写13分钟音频:
CPU 场景同样亮眼:Small 模型 + int8 量化 + 批量推理(batch_size=8),51秒完成,内存控制在 3608MB,远低于原版 PyTorch 的 6分58秒。
faster-whisper 的 API 设计极简,10行代码即可完成音频转写:
from faster_whisper import WhisperModel
model = WhisperModel("large-v3", device="cuda", compute_type="float16")
segments, info = model.transcribe("audio.mp3", beam_size=5)
for segment in segments:
print(f"[{segment.start:.2f}s -> {segment.end:.2f}s] {segment.text}")
支持 GPU(FP16/int8)和 CPU(int8)双模式,切换只需修改 device 和 compute_type 参数。
通过 BatchedInferencePipeline,支持批量处理大批量音频,显著提升 GPU 利用率:
from faster_whisper import WhisperModel, BatchedInferencePipeline
model = WhisperModel("turbo", device="cuda", compute_type="float16")
batched_model = BatchedInferencePipeline(model=model)
segments, info = batched_model.transcribe("audio.mp3", batch_size=16)
集成 Silero VAD 模型,自动过滤静音片段,减少误识别并缩短处理时间:
segments, _ = model.transcribe("audio.mp3", vad_filter=True)
对字幕制作和语音对齐场景,提供精确到单词级别的时间戳:
segments, _ = model.transcribe("audio.mp3", word_timestamps=True)
支持将任何 Transformers 兼容的 Whisper 模型转换为 CTranslate2 格式,方便用户部署自己的微调模型。
pip install faster-whisper
Python 3.9+ 即可运行。GPU 用户需确保安装 CUDA 12 + cuDNN 9(或降级 ctranslate2 版本以适配 CUDA 11)。
项目提供 docker/Dockerfile,基于 NVIDIA 官方 CUDA 镜像,一行命令构建 GPU 推理镜像:
docker build -t faster-whisper-gpu -f docker/Dockerfile .
docker run --gpus all -v $(pwd):/data faster-whisper-gpu python3 infer.py
注意:该项目是 Python 库而非带 Web UI 的应用,部署以程序化调用为主。适合集成到现有音视频处理流水线中。
faster-whisper 的代码结构清晰,核心模块包括:
| 模块 | 职责 |
|---|---|
transcribe.py | 核心推理逻辑,WhisperModel 和 BatchedInferencePipeline 实现 |
audio.py | 音频加载与预处理(PyAV 无需系统安装 FFmpeg) |
tokenizer.py | Whisper 词表 tokenizer |
feature_extractor.py | Mel 频谱特征提取 |
vad.py | Silero VAD 语音活动检测封装 |
utils.py | 工具函数(模型下载、路径处理等) |
assets/silero_vad_v6.onnx | 内置 ONNX 格式 VAD 模型 |
依赖栈:ctranslate2(C++ 推理引擎)+ onnxruntime(ONNX 推理)+ huggingface_hub(模型托管)+ tokenizers + PyAV(音频解码)。整个依赖链无 PyTorch,降低了部署复杂度和运行时开销。
faster-whisper 已成为 Whisper 推理生态的核心基础设施,被超过 9800 个开源项目依赖:
openai/whisper-large-v3 或使用 distil-whisper 系列。faster-whisper 的出现标志着 Whisper 生态从"学术研究"向"工业生产"的重要转折。它将语音转文字的边际成本大幅降低,使得:
截至2026年5月,该项目在 GitHub 已有超过 23,000 颗星,被 9800+ 项目使用,持续活跃维护(最新版本 1.2.1,发布于 2025年10月),已成为语音 AI 领域不可或缺的基础工具之一。