ARTICLE DETAIL

资讯详情

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

Faster-Whisper 本地部署教程:转录速度提升 4 倍,参数选型与性能对照一次讲清

Faster-Whisper 本地部署教程:转录速度提升 4 倍,参数选型与性能对照一次讲清 Faster-Whisper 本地部署教程转录速度提升 4 倍参数选型与性能对照一次讲清【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper13 分钟音频原版 Whisper 跑完要 2 分 23 秒faster-whisper 用 int8 量化只要 59 秒批量模式下 16 秒而识别精度保持不变。faster-whisper 是把 OpenAI Whisper 搬到 CTranslate2 推理引擎上的重新实现官方口径为同等精度下最高提速 4 倍、内存占用更低语言代码表覆盖 100 个语种见 faster_whisper/tokenizer.py 中的_LANGUAGE_CODES。下面基于仓库内的真实数据带你完成本地部署装好环境、跑通第一次转录、按硬件选好模型与量化档位并自己复现性能对照。三步跑起来第 1 步确认环境。Python 3.9 及以上即可系统里不用装 FFmpeg音频解码由 PyAV 库完成解码逻辑在 faster_whisper/audio.py如果用 GPU需要 CUDA 12 的 cuBLAS 和 cuDNN 9。第 2 步安装。pip install faster-whisper第 3 步跑一次真实转录。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, 3)) for seg in segments: print([%.2fs - %.2fs] %s % (seg.start, seg.end, seg.text))两条关键提示⚠️segments是生成器transcribe()返回时并没有真正开始转录代码走进for循环的那一刻推理才启动想一次性拿完结果执行segments list(segments)。WhisperModel按模型尺寸名加载时会自动从 Hugging Face Hub 下载对应的 CTranslate2 模型本项目默认beam_size5而 openai/whisper 的默认值是 1横向对比性能时要注意这一点README.md 末尾有专门说明。参数怎么选模型规模 × 量化方式 × 硬件档位模型尺寸可选tiny、base、small、medium、large-v2、large-v3、turbo等完整清单见 faster_whisper/transcribe.py 中WhisperModel的文档字符串量化档位用compute_type指定GPU 上常用float16和int8_float16CPU 上常用int8。你的硬件模型compute_type仓库内可查的资源预期8GB 显存 GPU官方实测为 RTX 3070 Ti 8GBlarge-v2int813 分钟音频 59s显存 2926MB同上追求极限速度large-v2int8 batch_size816s显存升到 4500MB大显存高端 GPUlarge-v3float16官方示例配置无固定显存数字纯 CPUsmallint88 线程 i7-12700K 上 1m42s内存 1477MB内存吃紧的轻量 CPUbase / tinyint8仓库未给性能数据按内存余量保守选CPU 上跑时记得用cpu_threads参数或环境变量OMP_NUM_THREADS指定线程数官方 CPU 基准用的是 8 线程。拿不准就先用smallint8它在 GPU 和 CPU 上都有官方基准可参考跑通后再换大模型试错成本最低。⚡ 性能对照官方 Benchmark 数据以下数字全部来自 README.md 的 Benchmark 章节可复现脚本在 benchmark/ 目录。GPU 测试环境为 NVIDIA RTX 3070 Ti 8GB CUDA 12.4音频时长 13 分钟beam_size 均为 5。Large-v2 模型GPU显存实现精度耗时显存openai/whisperfp162m23s4708MBwhisper.cppFlash Attentionfp161m05s4127MBtransformersSDPAfp161m52s4960MBfaster-whisperfp161m03s4525MBfaster-whisperbatch_size8fp1617s6090MBfaster-whisperint859s2926MBfaster-whisperbatch_size8int816s4500MBSmall 模型CPU内存8 线程 Intel Core i7-12700K实现精度耗时内存openai/whisperfp326m58s2335MBfaster-whisperfp322m37s2257MBfaster-whisperbatch_size8fp321m06s4230MBfaster-whisperint81m42s1477MBfaster-whisperbatch_size8int851s3608MBdistil-whisper-large-v3GPU附词错误率 WER实现精度耗时YT Commons WERtransformersSDPAbatch_size16fp1646m12s14.801faster-whisperbatch_size16fp1625m50s13.527读表时记住两条int8 相对 fp16 大约省四成显存但batch_size8会把显存推高速度换显存批量模式下显存需求上涨是正常现象不是异常。进阶用法三个真正有用的开关批量推理 BatchedInferencePipeline适用场景一条很长的音频或一次要处理一批文件想把总耗时压下来。关键参数batch_size官方示例用 16批量管线默认开启 VAD 静音过滤不需要再单独配置。单行调用segments, info BatchedInferencePipeline(model).transcribe(audio.mp3, batch_size16)它是WhisperModel.transcribe的直接替代品。词级时间戳适用场景做字幕、按关键词定位原文、逐词校对。关键参数word_timestampsTrue结果里每个segment.words给出word.start、word.end、word.word。单行调用segments, _ model.transcribe(audio.mp3, word_timestampsTrue)VAD 静音过滤适用场景长音频中沉默和噪声占比高跳过无声段能明显提速。关键参数vad_filterTrueWhisperModel.transcribe默认是关的需显式打开vad_parameters用字典微调默认只移除超过 2 秒的静音min_silence_duration_ms2000全部默认值见 faster_whisper/vad.py 的VadOptions。单行调用model.transcribe(audio.mp3, vad_filterTrue, vad_parametersdict(min_silence_duration_ms500))另外transcribe()还支持hotwords参数向模型提示专有名词遇到人名、术语识别不准时可以试试。完整参数清单在 faster_whisper/transcribe.py。 故障自查现象可能原因处理动作加载模型报 CUDA / cuDNN 相关错误新版 ctranslate2 只支持 CUDA 12 cuDNN 9CUDA 11 cuDNN 8 环境执行pip install --force-reinstall ctranslate23.24.0CUDA 12 cuDNN 8 则换ctranslate24.4.0加载模型即 OOMcompute_type或模型档位过大、batch_size偏高换成int8/int8_float16或模型降一档批量模式下调小batch_size调用transcribe()后没有任何输出segments是生成器尚未被遍历用for循环遍历或segments list(segments)跑完识别不准、出现重复或跑偏未指定语言、背景噪声大、专有名词显式传languagezh之类的语言代码开vad_filterTrue专有名词用hotwords提示CPU 上转录偏慢线程数没设够构造模型时传cpu_threads或启动前设置OMP_NUM_THREADS选型边界适合 faster-whisper不适合替代方案音频不能离开本机有隐私合规要求偶尔用、量很小 → 云 ASR API免去一切运维批量字幕、长音频需要压住时间和显存成本做研究、要改动模型内部 → openai/whisper系统无法安装 FFmpeg 的环境PyAV 已内置解码需要说话人分离 → WhisperX基于 faster-whisper见 README.md 社区集成列表边缘设备上的近实时识别实时流式转录 → Whisper-Streaming / WhisperLive两个典型落地组合一是本地字幕服务器用BatchedInferencePipelinehotwords批量处理视频素材二是会议录音转成带词级时间戳的文本之后可以直接按关键词回查原文。建议拿你自己的硬件和一段真实素材把上面的流程复测一遍耗时和显存以你自己的环境为准仓库的 benchmark/ 目录提供了可运行的评测脚本方便横向对比。如果接下来需要说话人分离或更精细的时间戳对齐WhisperX 是更直接的下游路径。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表