ARTICLE DETAIL

资讯详情

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

Faster-Whisper 本地部署:4倍加速语音识别从零到可用实战指南

Faster-Whisper 本地部署:4倍加速语音识别从零到可用实战指南 Faster-Whisper 本地部署4倍加速语音识别从零到可用实战指南【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是基于 CTranslate2 推理引擎重构的语音识别工具支持约 99 种语言与 8 位量化。同样 13 分钟音频openai/whisper 耗时 2 分 23 秒它 16 秒完成显存占用约降四成。它解决的瓶颈本地转录的时间、显存与隐私本地语音转录的瓶颈通常不是准确率而是时间与内存长音频处理耗时以十分钟计大模型在中端显卡上难以加载含隐私的音频又不能送云端 API。faster-whisper 把 OpenAI 的 Whisper 搬到 CTranslate2 这个 Transformer 快速推理引擎上精度基本不变的前提下大幅降低资源消耗音频全程不离开本机。它也不需要系统安装 FFmpeg音频解码由 PyAV 库完成。性能实测同一块 GPU 上比 openai/whisper 快多少测试条件13 分钟音频、large-v2 模型、beam_size5、NVIDIA RTX 3070 Ti 8GBCUDA 12.4数据来自官方 benchmark。实现精度耗时显存占用openai/whisperfp162m23s4708MBfaster-whisperfp161m03s4525MBfaster-whisperint859s2926MBfaster-whisperbatch_size8int816s4500MBCPU 侧small 模型、i7-12700K、8 线程faster-whisper int8 单线程 1m42s / 1477MB加 batch_size8 后 51s对比 openai/whisper 的 6m58s / 2335MB。一句话结论同一块显卡上fp16 单线程先砍掉一半时间int8 降到 59 秒批量模式压到 16 秒显存同步省约四成。想复现可运行 benchmark/speed_benchmark.py词错率WER评估脚本为 benchmark/wer_benchmark.py。硬件适配按你的设备选模型与量化硬件档位推荐模型量化方式说明高端 GPURTX 3090/4090large-v3 或 turbofloat168GB 以上显存可开批量处理中端 GPURTX 3060/3070medium 或 large-v3int8_float16混合量化省 40% 以上显存纯 CPUsmall 或 baseint8设 OMP_NUM_THREADS8 稳定复现首次运行一条命令跑通本地转录安装只需一行pip install 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, 概率:, round(info.language_probability, 2)) for segment in segments: print(f[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text})注意segments是生成器遍历它的时刻转录才真正开始想立即跑完可用list(segments)强制收集。无 GPU 时改devicecpu, compute_typeint8即可。进阶能力批量推理、词级时间戳与 VAD 静音过滤批量推理BatchedInferencePipeline——一次处理大量音频时替换普通 transcribe是WhisperModel.transcribe的即插即用替身VAD 默认已启用batched BatchedInferencePipeline(model); segments, _ batched.transcribe(audio.mp3, batch_size16)词级时间戳——做字幕、检索、逐词校对时打开segment.words下每个词带独立起止时间segments, _ model.transcribe(audio.mp3, word_timestampsTrue)VAD 静音过滤——长音频中沉默占比高时内置 Silero VAD 跳过无声段默认只剔除超过 2 秒的静音min_silence_duration_ms2000可调model.transcribe(audio.mp3, vad_filterTrue, vad_parametersdict(min_silence_duration_ms500))hotwords 热词偏置——提升专有名词、技术术语识别率参数定义见 faster_whisper/transcribe.pymodel.transcribe(audio.mp3, hotwordsCTranslate2 Whisper)避坑清单高频问题与对应参数加载模型即 OOM→compute_type换成int8或int8_float16或降一档模型large-v3 → medium批量模式下调小batch_size可立刻缓解。CUDA 环境报库缺失→ 新版 ctranslate2 只支持 CUDA 12 cuDNN 9CUDA 11 环境执行pip install --force-reinstall ctranslate23.24.0回退CUDA 12 cuDNN 8 则降到 4.4.0。识别率不稳定→ 显式传language参数如languagezh保持beam_size5背景噪声大时先开vad_filterTrue过滤非语音段。长音频太慢→ 换BatchedInferencePipelineCPU 上务必固定OMP_NUM_THREADS如OMP_NUM_THREADS8线程数不一致会让耗时不可比。对比结果与 openai/whisper 对不上→ 先对齐 beam_size本库默认 5openai/whisper 默认 1和 WER再比耗时否则结论无意义。适用与不适用按场景选型适合用它音频不能离开内网有隐私或合规要求批量字幕、长音频处理需要压住时间与显存成本边缘设备上的实时或近实时转录更适合选别的方案偶尔使用、量很小云 ASR API 免去一切运维做研究、需要改动模型内部结构原版 openai/whisper企业级大规模并发专用 ASR 服务一个典型落法是本地搭一台字幕服务器批量处理视频素材或把会议录音转成带词级时间戳的文本方便按关键词回查。想继续深挖WhisperX 在其之上提供了说话人分离与更精细的时间戳对齐。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表