faster-whisper 本地部署:同精度提速 4 倍实战指南
2026/9/5 22:13:35 网站建设 项目流程

faster-whisper 本地部署:同精度提速 4 倍实战指南

【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper

两小时客服录音,走云 API 大概要 50 元加一小时等待;放到本地一张 4GB 显存的显卡上,faster-whisper 的 int8 模式只需 1 分 42 秒、1.5GB 内存。它是 OpenAI Whisper 的 CTranslate2 推理引擎重写版,官方基准显示同等精度下比原版快 4 倍、少用近一半显存。下面是一份从安装到调参的本地部署指南。

先说结论:适合谁、不适合谁

  • 适合:隐私敏感、必须本地部署的转录业务
  • 适合:一次跑几百个音频文件的批量任务
  • 适合:显存 4GB 上下、想靠 int8 量化省一半显存的机器
  • 适合:有 NVIDIA GPU,想用批量推理把 1 分多钟压进 17 秒的场景
  • 不适合:手里只有 2 核 CPU 还要单文件转录(whisper.cpp 更快)
  • 不适合:已有微调好的 Whisper 模型,需要先转成 CTranslate2 格式

三步跑起来:从安装到第一条结果

环境要求就一行:Python 3.9+。不需要系统级 FFmpeg,音频解码由 PyAV 自带,省掉一堆依赖。

安装:

pip install faster-whisper

最短可运行示例:

from faster_whisper import WhisperModel model = WhisperModel("small", device="cpu", compute_type="int8") segments, info = model.transcribe("tests/data/jfk.flac") print(f"检测语言: {info.language},置信度: {info.language_probability:.2f}") for seg in segments: print(f"[{seg.start:.2f}s -> {seg.end:.2f}s] {seg.text}")

两点注意:transcribe返回的segments是生成器,不遍历就不会真正转录;模型首次加载会从 Hugging Face Hub 自动下载对应的 CTranslate2 权重,tests/data/目录里有现成的测试音频可以直接用。预期输出形如:

检测语言: en,置信度: 0.99... [00.00s -> 03.68s] And so my fellow Americans...

实测数据:跟谁比、差多少

官方基准用 13 分钟同一段音频对比(GPU:NVIDIA RTX 3070 Ti 8GB,large-v2,beam_size=5;CPU:Intel Core i7-12700K 8 线程,small):

实现精度 / 模式耗时显存 / 内存
OpenAI Whisperfp162 分 23 秒4708MB
whisper.cpp(Flash Attention)fp161 分 05 秒4127MB
faster-whisperfp161 分 03 秒4525MB
faster-whisperint859 秒2926MB
faster-whisper(batch_size=8)int816 秒4500MB

CPU 侧同一口径:

实现精度 / 模式耗时内存
OpenAI Whisperfp326 分 58 秒2335MB
whisper.cppfp322 分 05 秒1049MB
faster-whisperint81 分 42 秒1477MB
faster-whisper(batch_size=8)int851 秒3608MB

怎么读这两张表:优势最明显的是「GPU + int8」这一档,比原版快 2.4 倍、显存只有 62%;把 batch 拉满后 16 秒完成 13 分钟音频,约为原版的 1/9,transformers 实现则在 batch>1 时直接 OOM。CPU 单线程对比里 whisper.cpp 占优,faster-whisper 要开批量推理才能反超。

让它更好用的 3 个技巧

批量推理管线:处理多路音频、或想把单文件也榨干 GPU 时,用BatchedInferencePipeline替换原方法即可:

from faster_whisper import WhisperModel, BatchedInferencePipeline model = WhisperModel("turbo", device="cuda", compute_type="float16") pipeline = BatchedInferencePipeline(model=model) segments, _ = pipeline.transcribe("audio.mp3", batch_size=16)

基准里 fp16 下 13 分钟音频从 1 分 03 秒压到 17 秒(batch_size=8,6GB 显存)。批量模式下 VAD 默认开启,自动跳过静音。

int8 量化:显存只有一半、但精度不想让步时的开关:

model = WhisperModel("large-v3", device="cuda", compute_type="int8_float16")

同一张大卡上 VRAM 从 4525MB 降到 2926MB,耗时 59 秒对 1 分 03 秒,精度差距在误差范围内。

VAD 静音过滤:默认只砍掉超过 2 秒的静音(min_silence_duration_ms=2000),对话间隙短时可收紧;完整参数在 faster_whisper/vad.py 的VadOptions里:

segments, _ = model.transcribe( "audio.mp3", vad_filter=True, vad_parameters=dict(min_silence_duration_ms=500), )

注意threshold默认 0.5,背景音乐重的素材别乱调低,否则伴奏会被当人声切进来。

按硬件抄作业:一张表选配置

硬件档位推荐模型compute_type说明
8GB+ 显存(3070 Ti / 4090)large-v3 或 turbofloat16配合 batched 管线,13 分钟音频 17 秒
4~6GB 显存large-v3int8_float16约 2.9GB 显存,59 秒跑完 13 分钟
纯 CPU(8 核+)smallint81.5GB 内存;内存富余时开 batched
CUDA 11 老显卡small / mediumint8_float16pip install --force-reinstall ctranslate2==3.24.0

CPU 上建议显式控制线程,例如OMP_NUM_THREADS=8 python script.py;基准就是在 8 线程下测的,线程翻倍收益递减,先按物理核数设。

不 work 时按这个顺序排查

  1. 症状:cannot find CUDA library之类报错 → 原因:新版 ctranslate2 只支持 CUDA 12 + cuDNN 9,旧环境不匹配 → 一行解决:pip install --force-reinstall ctranslate2==3.24.0(CUDA 11 / cuDNN 8)。
  2. 症状:CUDA out of memory → 原因:fp16 大模型显存不够 → 一行解决:compute_type换成int8_float16;batched 场景再降batch_size,仍不够就换 medium 或拆短音频。
  3. 症状:感觉「比原版快不了多少」 → 原因:segments是生成器,没遍历就等于没转录;或未用批量推理 → 一行解决:segments = list(segments),并改用BatchedInferencePipeline
  4. 症状:静音处输出重复文本(幻觉) → 原因:解码器在无语音段瞎猜 → 一行解决:加vad_filter=True,必要时调高no_speech_threshold(默认 0.6)。
  5. 症状:首次加载模型下载失败 → 原因:模型权重默认从 Hugging Face Hub 拉取 → 一行解决:手动下载Systran/faster-whisper-<model>后,把本地目录路径直接传给WhisperModel()

faster-whisper 的定位就一句话:把 Whisper 塞进 CTranslate2,用量化和批量换速度,让本地部署成本可控。下一步动作:对照上面「按硬件抄作业」的档位表配好参数,复跑一遍 benchmark/ 目录里的速度、内存与 WER 基准脚本验证收益。如果文中数据和你的实测有出入,欢迎把机器型号、模型档位和耗时发回评论区,帮后面抄作业的人避坑。

【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询