Faster-Whisper 本地部署完整指南:4倍提速,内存减半
2026/9/12 3:23:16 网站建设 项目流程

Faster-Whisper 本地部署完整指南:4倍提速,内存减半

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

faster-whisper 本地部署:Whisper 模型跑在 CTranslate2 推理引擎上,13 分钟音频在 RTX 3070 Ti 上从 2 分 23 秒压到 16 秒,显存从 4708MB 降到 2926MB。

一次自测:你要不要它

先回答三个问题。答"是"超过两个,继续往下看。

  1. 音频有隐私或合规风险,不能传云 API?
  2. 要批量产字幕,或常处理长音频?
  3. 你愿意为省时间和显存,动手对比数字?

三个都是"否",留在原版 Whisper 或用云 API 就够。

核心原理与 5 个收益

一句话原理:faster-whisper 把同一套 Whisper 权重放到 CTranslate2 推理引擎上重跑。模型参数没动,换的是执行框架。

换框架换来 5 个直接收益:

  • 同精度最高 4 倍提速:2 分 23 秒的转录任务变成 59 秒,批量模式 16 秒
  • int8 量化显存省约四成:4708MB 降到 2926MB,中端 8GB 卡也装得下 large
  • 支持 99 种语言且自动检测:多语种访谈素材不用预先猜语言
  • 免装系统级 FFmpeg:PyAV 在包内解码,新机器少一步环境配置
  • CPU 也能跑:small 模型 + int8 + 8 线程,13 分钟音频 1 分 42 秒

装前自查清单

先看右侧两个前置条件,再按左侧硬件挑模型。

硬件档位推荐模型compute_type说明
高端 GPU(RTX 3090/4090,显存 ≥8GB)large-v3 或 turbofloat16可开批量,batch_size 往上加
中端 GPU(RTX 3060/3070,8GB)medium 或 large-v3int8_float16混合量化压显存
纯 CPUsmall 或 baseint8开 8 线程,设 OMP_NUM_THREADS=8

前置条件:Python 3.9+;用 GPU 还需 CUDA 12 + cuDNN 9。

拿不准就先用这个默认值:GPU 选 medium + int8_float16,CPU 选 small + int8。

三步跑通:装、载、验

第一步,一条命令装。依赖里的 CTranslate2 会自动带上,不需要 FFmpeg:

pip install faster-whisper

装完即可导入使用,无额外系统包要配。

第二步,跑最小转录。中端 GPU 的配置如下,7 行代码:

from faster_whisper import WhisperModel model = WhisperModel("medium", device="cuda", compute_type="int8_float16") segments, info = model.transcribe("audio.mp3", beam_size=5) 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的那一刻。不遍历,GPU 就完全没跑。

⚡ 实测数据

以下数字来自仓库官方基准:13 分钟音频、large-v2 模型、RTX 3070 Ti 8GB、CUDA 12.4。

实现精度耗时显存
openai/whisperfp162m23s4708MB
faster-whisperint859s2926MB
faster-whisper(batch_size=8)int816s4500MB

CPU 侧(small 模型、i7-12700K、8 线程):faster-whisper int8 耗时 1m42s、内存 1477MB;batch_size=8 时 51s、3608MB。

想自己复现,benchmark/ 里有可直接跑的速度、内存与 WER 脚本。

🔧 三个开关

批量推理——何时开:字幕批量生产、一次排队多份音频。怎么改:把model.transcribe换成BatchedInferencePipeline(model=model).transcribe("audio.mp3", batch_size=16)。注意什么:batch_size 直接决定显存占用,上面表里 16 批量要 4500MB,吃紧就减半。

词级时间戳——何时开:做字幕、按关键词检索、逐词校对。怎么改:transcribeword_timestamps=True,然后遍历segment.words拿每个词的起止。注意什么:比段级输出慢一点,确实要词级精度才值得开。

VAD 静音过滤——何时开:长音频、静音占比高、底噪大。怎么改:transcribevad_filter=True,可用vad_parameters=dict(min_silence_duration_ms=500)调灵敏度。注意什么:默认只剔除超过 2 秒的静音,完整默认值见 faster_whisper/vad.py。

问题速查

现象常见原因解法
加载或转录时 OOMfp16 占位大,或 batch_size 过大换 int8 / int8_float16;模型降一档;batch_size 从 16 减到 8
识别率不理想未指定语言,或音频噪声大显式传language;保持默认 beam_size=5;先开 vad_filter
CUDA 版本冲突新版 ctranslate2 只认 CUDA 12 + cuDNN 9CUDA 11 环境执行pip install --force-reinstall ctranslate2==3.24.0
长音频太慢单流串行跑,静音没被跳过换批量管线,或先按说话停顿切片

谁适合,谁别碰

适合它的场景更合适的替代
音频不能出本机,有隐私合规要求偶尔用、量很小 → 云 ASR API
批量字幕、长音频,要压时间和显存研究需要改模型内部 → openai/whisper
边缘设备做近实时转录企业级大规模并发 → 专用 ASR 服务

典型落地组合:本地搭一台字幕服务器,批量管线 + VAD + 词级时间戳三件套,把会议录音批量转成带词级时间戳的文本,按关键词直接回查原句。

今天就用「三步跑通」那段代码配上你的硬件,拿真实音频测一次耗时。想再往前走,看 WhisperX,它在上面提供说话人分离和更精细的时间戳对齐。

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

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

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

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

立即咨询