ARTICLE DETAIL

资讯详情

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

faster-whisper 完整指南:Whisper 语音识别提速 4 倍,显存占用省近四成

faster-whisper 完整指南:Whisper 语音识别提速 4 倍,显存占用省近四成 faster-whisper 完整指南Whisper 语音识别提速 4 倍显存占用省近四成【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 是基于 CTranslate2 推理引擎重写的 Whisper 语音识别实现准确率与原版一致转写速度最高提升至 4 倍内存占用同步下降。本文面向做离线语音转文字、批量处理录音、或在本地机器上部署 Whisper 的开发者从安装验证、最小示例到按场景调参与报错排查一次讲清。 三组基准数据看清它快在哪测试条件13 分钟音频NVIDIA RTX 3070 TiCUDA 12.4。同精度 fp16 下large-v2 模型耗时 1 分 03 秒openai/whisper 为 2 分 23 秒启用批量推理batch_size8后压到 17 秒。切到 int8 量化耗时 59 秒显存从 4708MB 降到 2926MB省近四成。CPU 端i7-12700Ksmall 模型int8 耗时 1 分 42 秒、内存 1477MB而 openai/whisper fp32 需 6 分 58 秒——这正是官方最高 4 倍说法的出处。完整脚本见 benchmark/。对比 whisper.cpp 与 transformers定位差异同一批 GPU 基准里whisper.cpp fp16 为 1 分 05 秒与 faster-whisper 基本持平CPU 上 faster-whisper int81 分 42 秒优于 whisper.cpp fp322 分 05 秒。更大的差距出现在 distil-large-v3 上transformers 需 46 分 12 秒且 batch 大于 1 即 OOMfaster-whisper 用 25 分 50 秒完成词错率还更低13.53 vs 14.80。工程层面也有省事之处无需系统安装 FFmpeg解码由 PyAV 完成内置 Silero VAD可在转写前过滤静音。 faster-whisper 部署安装验证与最小示例要求 Python 3.9 及以上GPU 环境还需 NVIDIA 的 cuBLAS 与 cuDNN 9CUDA 12 版。当前发布版本为 1.2.1安装一条命令pip install faster-whisper下面用仓库自带的测试音频跑第一条带时间戳的转写首次运行会自动下载模型权重from faster_whisper import WhisperModel model WhisperModel(small, devicecpu, compute_typeint8) segments, info model.transcribe(tests/data/jfk.flac, beam_size5) for seg in segments: print(f[{seg.start:.2f}s - {seg.end:.2f}s] {seg.text})注意segments是生成器不遍历就不会真正执行转写for 循环或 list() 才会触发它。⚙️ 按场景调参CPU、GPU 与批量转写怎么选三个最影响速度的参数device / compute_typeGPU 首选float16显存吃紧换int8_float16纯 CPU 用int8。批量推理BatchedInferencePipeline是transcribe的即插即用替换GPU 上 batch_size8 即可把 large-v2 从 1 分 03 秒压到 17 秒int8 为 16 秒适合批量转写长录音。vad_filter开启后先过滤静音再转写默认只移除超过 2 秒的静默可用vad_parameters调整阈值做字幕对齐时加word_timestampsTrue取词级时间戳。model WhisperModel(turbo, devicecuda, compute_typefloat16) pipeline BatchedInferencePipeline(model) segments, info pipeline.transcribe(audio.mp3, batch_size16)完整参数说明见 faster_whisper/transcribe.py。⚠️ 常见报错现象、原因与一句话解法调用 transcribe 后一直没有输出segments 是生成器尚未遍历。用 for 循环或list(segments)强制执行。GPU 加载报 CUDA 错误新版 ctranslate2 只支持 CUDA 12 cuDNN 9CUDA 11 环境降级ctranslate23.24.0CUDA 12 配 cuDNN 8 则用 4.4.0。显存不足 OOMcompute_type 改int8_float16或换更小模型。CPU 上速度远低于预期核对线程数OMP_NUM_THREADS与 beam_size长音频改走批量推理。选型建议离线加速、微调模型与进阶路径资源受限 / 离线部署CPU small int8 就能覆盖多数场景是 Whisper 本地加速的性价比组合。大批量 GPU 转写fp16 BatchedInferencePipeline追求更快速度可试 turbo 或 distil-large-v3建议配condition_on_previous_textFalse。自训模型用 ct2-transformers-converter 把 Hugging Face 格式的权重转成 CTranslate2 格式后直接加载免去重复转换。社区已基于它构建流式转写、说话人分离等集成实时场景可关注这些方向。VAD 参数细节见 faster_whisper/vad.py。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表