资讯动态

Faster-Whisper 实战上手:提速4倍的 Whisper 语音转录指南

发布时间:2026/9/5 20:05:14 来源:尧图企业网站定制
Faster-Whisper 实战上手提速4倍的 Whisper 语音转录指南【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是基于 CTranslate2 推理引擎重新实现的 Whisper 语音转录库在相同准确率下比 openai/whisper 最快快 4 倍内存占用更低8 位量化还能进一步压缩资源官方基准中 GPU 显存从 4525MB 降到 2926MB。它要求 Python 3.9 及以上音频解码由 PyAV 完成并自带 FFmpeg 库无需在系统上单独安装 FFmpeg。只要你的目标是用更少的资源跑出同样质量的转录结果这个项目基本可以直接作为默认选项。快速上手安装与最小可运行示例一条pip install faster-whisper即可开始首次运行会按指定模型名自动从 Hugging Face Hub 下载对应的 CTranslate2 模型并缓存到本地。from faster_whisper import WhisperModel model WhisperModel(large-v3, devicecuda, compute_typefloat16) segments, info model.transcribe(audio.mp3, beam_size5) for segment in segments: print([%.2fs - %.2fs] %s % (segment.start, segment.end, segment.text))需要特别注意segments是生成器只有迭代时解码才真正开始想在调用点就完成整段转录用list(segments)包一层即可。关键配置怎么选场景化参数表不同部署之间最大的差距来自模型规模、计算精度与设备三项选择下面的组合覆盖了绝大多数场景其余参数可参考 WhisperModel 实现。使用场景模型devicecompute_type其他关键参数CPU 低内存快速转录small / basecpuint8cpu_threads8GPU 高精度转录large-v2 / large-v3cudafloat16beam_size5GPU 显存 ≤8GBlarge-v2cudaint8_float16beam_size5GPU 批量吞吐turbo / distil-large-v3cudafloat16BatchedInferencePipelinebatch_size16长音频、静音占比高任意任意—vad_filterTrue两点补充本项目默认 beam_size 为 5而 openai/whisper 默认是 1跨实现比较性能时务必对齐vad_filter启用后由 Silero VAD 先剔除无声片段默认只去除超过 2 秒的静音可用vad_parameters调整阈值。性能数据一览官方基准测试以下数据转录 13 分钟音频beam size 统一为 5GPU 为 NVIDIA RTX 3070 Ti 8GBCUDA 12.4CPU 为 Intel i7-12700K8 线程直接取自仓库 README。GPUlarge-v2 模型实现精度耗时显存openai/whisperfp162m23s4708MBfaster-whisperfp161m03s4525MBfaster-whisperbatch_size8fp1617s6090MBfaster-whisperint859s2926MBfaster-whisperbatch_size8int816s4500MBCPUsmall 模型实现精度耗时内存openai/whisperfp326m58s2335MBfaster-whisperfp322m37s2257MBfaster-whisperbatch_size8fp321m06s4230MBfaster-whisperint81m42s1477MBfaster-whisperbatch_size8int851s3608MB读表结论int8 量化在 CPU 上提速有限但内存近乎减半批处理推理则是用明显更高的内存换取一个数量级的提速显存不足时不要盲目调大 batch_size。进阶用法词级时间戳、多语言检测与自定义模型实战中复用率最高的三项能力是词级时间戳、多语言自动检测和自定义模型转换。词级时间戳与语言检测字幕生成和精细对齐只需要传入word_timestampsTrue每个 segment 会携带words列表不指定language时会自动检测音频语言并返回置信度。segments, info model.transcribe(audio.mp3, word_timestampsTrue) print(info.language, info.language_probability) for segment in segments: for word in segment.words: print(word.start, word.end, word.word)语言已知时建议显式传入例如languagezh需要把非英语音频翻译成英文时使用tasktranslate。自定义模型转换有 Transformers 格式的微调模型时用 ct2-transformers-converter 转成 CTranslate2 格式之后按本地路径加载即可。ct2-transformers-converter --model openai/whisper-large-v3 \ --output_dir whisper-large-v3-ct2 --copy_files tokenizer.json \ --quantization float16部署与选型本地、CPU、GPU 与容器化选型原则是满足准确率前提下取最小模型内存吃紧时优先 int8 量化而不是换更大的模型。部署形态适用场景命令本地快速上手Python ≥3.9无需系统级 FFmpegpip install faster-whisperCPU 多线程与基准对比时线程数必须一致OMP_NUM_THREADS4 python3 my_script.pyGPUCUDA 11 环境最新 ctranslate2 仅支持 CUDA 12 cuDNN 9pip install --force-reinstall ctranslate23.24.0容器化生产环境docker/Dockerfile 基于官方 CUDA 12.3.2 镜像开箱即用docker build -t faster-whisper ./docker docker run --gpus all faster-whisper避坑指南四个高频问题实际部署中最常踩的四个坑全部与运行模型和环境配置有关。现象原因解决调用 transcribe 后无输出像卡死segments 是生成器迭代才启动解码list(segments)或 for 循环消费GPU 环境报缺 cuBLAS/cuDNNctranslate2 版本与 CUDA 大版本不匹配用官方 CUDA 12.3.2 镜像或pip install nvidia-cublas-cu12 nvidia-cudnn-cu129.*后配置LD_LIBRARY_PATHGPU 显存溢出 OOMfp16 大模型显存占用高compute_type 改为int8_float16基准中显存由 4525MB 降至 2926MBCPU 多核但吞吐没提升cpu_threads 未设置或与其他实现的对比线程数不一致按物理核数设置cpu_threads并统一OMP_NUM_THREADSfaster-whisper 的价值可以用一句话概括同样的转录质量更少的算力和内存而且从本地脚本到容器化服务的迁移路径很短。更多模型与转录参数见 README。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价