faster-whisper 实战指南:用 CTranslate2 把 Whisper 提速 4 倍

发布时间:2026/9/5 18:51:54
faster-whisper 实战指南:用 CTranslate2 把 Whisper 提速 4 倍 faster-whisper 实战指南用 CTranslate2 把 Whisper 提速 4 倍【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是一个基于 CTranslate2 推理引擎的 OpenAI Whisper 重实现版本 1.2.1。它解决的核心问题是原版 Whisper 跑一条 13 分钟音频要 2 分 23 秒GPU而它能压到 1 分 03 秒精度不变开启 int8 量化后只要 59 秒显存从 4708MB 降到 2926MB。所有转录都在本地完成音频不出内网。和原版 Whisper、其他实现差在哪官方基准用的是一段 13 分钟音频RTX 3070 Ti 8GBCUDA 12.4 large-v2 模型实现精度耗时显存openai/whisperfp162m23s4708MBtransformersfp161m52s4960MBfaster-whisperfp161m03s4525MBfaster-whisperbatch_size8fp1617s6090MBfaster-whisperint8int859s2926MB除表格外还有三点实际体验差异音频解码由 audio.py 里的 PyAV 完成包里自带 FFmpeg 库系统不用单独装 FFmpeg。默认 beam_size 是 5openai/whisper 默认是 1。跨实现对比速度时两边参数要对齐否则结论失真。官方提供 ct2-transformers-converter可以把微调过的 Whisper 权重转成 CTranslate2 格式再加载。安装与第一个转录环境要求只有一个硬门槛Python 3.9。GPU 推理额外需要 cuBLAS 和 cuDNN 9均为 CUDA 12 版本。pip install faster-whisper也可以 clone 源码安装git clone https://gitcode.com/GitHub_Trending/fa/faster-whisper最小可运行示例from faster_whisper import WhisperModel model WhisperModel(large-v3, devicecuda, compute_typefloat16) segments, info model.transcribe(audio.mp3, beam_size5) print(info.language, info.language_probability) for segment in segments: print(f[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text})一个坑要提前说segments 是生成器不遍历就不会真正开始转录。想拿全部结果先list(segments)。CPU 用户把 device 换成 cpu、compute_type 换成 int8 即可。关键能力清单批量推理BatchedInferencePipeline是WhisperModel.transcribe的替代品传batch_size16上表里 17 秒的成绩就是它跑出来的默认 batch_size8。词级时间戳word_timestampsTrue后每个 segment 带 words 列表每个 word 有 start/end做卡拉OK式高亮、关键词定位都靠它。静音过滤vad_filterTrue是默认行为用的是内置的 Silero VAD模型在 vad.py默认只删超过 2 秒的静音可用vad_parametersdict(min_silence_duration_ms500)收紧。热词hotwords...传入专有名词提升人名、产品名的识别率。语言与任务不指定 language 时自动检测前 30 秒tasktranslate可把任意语言翻译成英文。模型灵活WhisperModel(distil-large-v3)直接可用蒸馏模型本身就为 faster-whisper 的转录流程设计自定义模型转好 CTranslate2 格式后传本地目录即可。完整参数列表见 transcribe.py 里transcribe方法的文档字符串。按硬件分三档选型CPU 档如 i7-12700K8 线程small 模型devicecpu, compute_typeint813 分钟音频 1 分 42 秒内存 1477MB。内存紧张就用这档想更快可开batch_size8降到 51 秒但内存涨到 3608MB。中端 GPU 档RTX 3060/3070 这类 8GB 卡compute_typeint8_float16显存比 fp16 省约 35%模型可上到 large-v3。高端 GPU 档24GB 显存的 3090/4090devicecuda, compute_typefloat16配 large-v3追求吞吐就叠BatchedInferencePipelinebatch_size16。注意批处理越吃显存17 秒那档用了 6090MB。三个典型落地场景字幕流水线批量任务用BatchedInferencePipeline配合vad_filter跳过片头片尾的静音长视频按 30 秒分块转录后导出 SRT。收益是本地跑单条 13 分钟视频 1 分钟内出字幕。隐私敏感的会议记录音频不上云服务器本地部署。词级时间戳让会议纪要可以精确引用第几分钟谁说了什么需要说话人区分时接社区的 WhisperX 或 whisper-diarize。流式近实时识别社区的 Whisper-Streaming、WhisperLive 都把 faster-whisper 当后端用它做实时字幕和语音输入。自己接 speaches 可以拿到一个 OpenAI 兼容的 API 服务。常见问题系统没装 FFmpeg能跑吗能。解码由 PyAV 完成FFmpeg 库随 pip 包装进来了。为什么我的结果和原版 Whisper 对不上先查 beam_size这里默认 5openai/whisper 默认 1再查词数是否一致——速度受转写字数影响WER 不同的两条结果没法直接比时间。CUDA 11 的老卡怎么跑新版 ctranslate2 只支持 CUDA 12 cuDNN 9。CUDA 11 环境执行pip install --force-reinstall ctranslate23.24.0降级。内存不够 OOM 了怎么办顺序换int8 量化 → 降模型档位large-v3 → medium → small→ 降 beam_size → 用chunk_length缩短分块。怎么验证性能数字仓库自带 benchmark/ 目录speed_benchmark.py 测速度memory_benchmark.py 测内存wer_benchmark.py 测词错误率按自己硬件跑一遍即可。下一步一句话总结把 Whisper 的推理交给 CTranslate2速度 4 倍、显存减半其余 API 和原版基本兼容。接下来可以读 faster_whisper/ 下的核心模块理解实现跑一遍 benchmark 脚本拿到自己机器的基线再按硬件档位选配置。多语言支持细节在 tokenizer.py。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考