ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

faster-whisper:Whisper 转写提速 4 倍,13 分钟音频只要 17 秒

faster-whisper:Whisper 转写提速 4 倍,13 分钟音频只要 17 秒 faster-whisperWhisper 转写提速 4 倍13 分钟音频只要 17 秒【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper官方 OpenAI Whisper 在 RTX 3070 Ti 上转写一段 13 分钟播客要 2 分 23 秒CPU 上要 7 分钟。faster-whisper 用 CTranslate2 重写同一模型的推理精度相当速度最高提升 4 倍且更省内存。适合想在 CPU 或 N 卡上做离线语音转写的人。它为什么快换了台省油引擎CTranslate2 是专门跑 Transformer 的推理引擎把模型权重转成更省力的执行格式。faster-whisper 把 Whisper 的 PyTorch 权重转过去再叠加 8 位量化。相当于一台车换了台更省油的发动机续航精度不变油费算力更低。下面是 13 分钟音频、large-v2 模型的实测对比方案转写耗时占用适合openai/whisperfp162m23s4708MB 显存精度对照基准whisper.cppfp161m05s4127MB 显存单机快速出稿faster-whisperfp161m03s4525MB 显存同等速度、Python 生态友好faster-whisperint8batch_size816s4500MB 显存长音频批量交付数据来自仓库 README 的 benchmark 一节RTX 3070 Ti CUDA 12.4。先定好这三组选择你的情况推荐值说明有 N 卡CUDA 12devicecudacompute_typefloat16fp16 精度完整速度够用只有 CPUdevicecpucompute_typeint8int8 量化8 位权重省内存还更快small 模型 1m42s 对 fp32 的 2m37s老显卡CUDA 11 / cuDNN 8ctranslate23.24.0新版 ctranslate2 只支持 CUDA 12 cuDNN 9要快速草稿tiny/small短音频、低延迟优先正式交付large-v3/turbo精度最高档拿不准就选这组GPU 用float16CPU 用int8模型 8GB 显存以上上large-v3没卡就从small起步。环境门槛只有 Python 3.9。从安装到拿到第一条转写第 1 步装主包。一行带齐 ctranslate2、avPyAV 是 Python 音频解码库FFmpeg 已打包在 wheel 里不用另装、onnxruntimepip install faster-whisper若报 ctranslate2 版本冲突说明机器上已有旧版用pip install --force-reinstall ctranslate24.4.0锁版本。第 2 步装 GPU 运行库只有 N 卡需要。ctranslate2 推理时要调 cuBLAS 和 cuDNN缺了模型起不来。Linux 上直接pip install nvidia-cublas-cu12 nvidia-cudnn-cu129.*装完必须先导出这两个库目录到LD_LIBRARY_PATH再启动 PythonWindows 可用nvidia/cuda:12.3.2-cudnn9-runtime这类镜像。如果报cuDNN not found是路径没生效或版本没对上 CUDA 12回到这一步核对。第 3 步跑第一条转写。首次会从 Hugging Face 下载模型之后有缓存。下面这段转写一段播客打印识别出的语言和每段起止时间from faster_whisper import WhisperModel model WhisperModel(large-v3, devicecuda, compute_typefloat16) segments, info model.transcribe(podcast.mp3, beam_size5) for seg in segments: print(f[{seg.start:.2f}s - {seg.end:.2f}s] {seg.text})首次输出大概是这样的两行语言行Detected language en with probability 0.99首个片段[00:03.41s - 00:07.02s] 这期我们从一个本地部署的常见问题讲起注意两点segments是生成器不遍历就不执行转写真正发生在 for 循环里想立即拿全结果就套一层segments list(segments)beam_size是解码时的束宽越大越准也越慢这里默认就是 5而 openai/whisper 默认是 1横向对比时要对齐。把本地转写推向生产批量、量化、词级批量模式把 13 分钟压进 20 秒逐段解码时 GPU 大量时间在等。BatchedInferencePipeline把片段攒成批一次喂给模型是model.transcribe的即插即用替代pipeline BatchedInferencePipeline(modelmodel) segments, _ pipeline.transcribe(podcast.mp3, batch_size16)仓库基准里large-v2 跑 13 分钟音频从 1m03s 降到 17sCPU 上 small 模型 int8 从 1m42s 降到 51s。批量模式默认开启 VAD 过滤VAD 是语音活动检测先把静音剪掉再送模型。int8 量化省一半显存显存紧张就改compute_typeCPU 用int8GPU 用int8_float16。同一张 RTX 3070 Ti 上13 分钟 large-v2 从 1m03s 变成 59s显存从 4525MB 降到 2926MB。词级时间戳与 VAD 调参要做字幕就加word_timestampsTrue每个seg.words里都有单词级起止时间长音频静音多时传vad_parametersdict(min_silence_duration_ms500)默认只剪超过 2000ms 的静音改成 500 后短停顿也被剪掉。全部参数默认值在 faster_whisper/vad.py更多解码选项见 faster_whisper/transcribe.py 的transcribe签名还含hotwords等参数。常见报错速查报错现象最可能原因修法cuDNN not found或 CUDA 加载失败cuBLAS/cuDNN 路径没生效或不是 CUDA 12 版本导出LD_LIBRARY_PATH后重开终端再跑ctranslate2 版本冲突机器上已有旧版 ctranslate2pip install --force-reinstall ctranslate24.4.0首次运行长时间无输出正在从 Hugging Face 下载模型正常现象首次下载完即有缓存transcribe返回了却拿不到文本segments是生成器未遍历就不执行list(segments)或放进 for 循环faster-whisper 本质是让同一台 Whisper 跑在更省力的引擎上。后续可以词级时间戳做出字幕参数见 faster_whisper/transcribe.py转换自训练权重看 README.md 的 Model conversion 一节复现跑分用 benchmark/ 里的脚本。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表