faster-whisper 语音转录加速13分钟音频1分钟跑完INT8再省近四成显存【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper凌晨一批三小时的会议录音要赶在早上出字幕原版 Whisper 单卡跑完要到天亮。faster-whisper 是基于 CTranslate2 推理引擎的语音转录加速与低资源部署方案同样的 13 分钟音频GPU 上 1 分钟跑完再开 INT8 量化显存还能省近四成。这里不先讲原理先把环境跑通再拆开看它快在哪。5分钟跑通faster-whisper 安装与第一次转录环境门槛不高Python 3.9 以上音频解码用的 FFmpeg 库由依赖包 PyAV 自带不用单独装 FFmpeg。依赖核心是ctranslate24.0,5见 requirements.txt。GPU 环境缺什么装什么cuBLAS cuDNNNVIDIA 卡需要 cuBLAS 和 cuDNN 的 CUDA 12 版本最新 ctranslate2 只支持 CUDA 12 cuDNN 9老环境有降级方案后文避坑清单里有写。docker/Dockerfile 里是一个现成的 GPU 部署镜像可直接参考。pip install faster-whisperfrom faster_whisper import WhisperModel model WhisperModel(large-v3, devicecuda, compute_typefloat16) # 没 GPU 就写: devicecpu, compute_typeint8 segments, info model.transcribe(audio.mp3, beam_size5) print(flanguage: {info.language} ({info.language_probability:.2f})) for seg in segments: # 注意是生成器开始迭代才真正跑 print(f[{seg.start:.2f}s - {seg.end:.2f}s] {seg.text})直接传tiny、base、small、medium、large-v3这类名字会自动下载 Systran 官方转换好的模型available_models()能列出可选项也可以传本地路径加载自己用ct2-transformers-converter转出来的模型含微调模型devicecompute_type就是全部提速开关GPU 用float16或int8_float16CPU 用int8CPU 环境怎么配线程数CPU 上跑之前先固定线程数OMP_NUM_THREADS8 python my_transcribe.py。速度更稳和别的实现跑分也才有可比性。⚡ 为什么比原版快量化、计算图与 VADINT8/FP16 量化模型瘦身精度基本不掉原版模型权重是 32 位浮点FP32量化后压成 16 位FP16或 8 位整数INT8。打个比方仓库从一个个散箱换成压缩集装箱取货计算更快、占地更小货物精度基本没变。INT8 在 CPU 上收益最大GPU 上同样有效。计算图优化编码器只算一遍输出反复复用CTranslate2 把 Transformer 推理重排成流水线每个 30 秒窗口的编码器输出只算一次解码阶段反复复用——中央厨房预做好酱料档口只管出菜不用每人现炒。批量接口更进一步把多个窗口拼起来一起喂给 GPUfrom faster_whisper import WhisperModel, BatchedInferencePipeline model WhisperModel(large-v3, devicecuda, compute_typeint8_float16) batched BatchedInferencePipeline(modelmodel) segments, info batched.transcribe(audio.mp3, batch_size16)Silero VAD先挑出人声再让模型干活转录前先过一遍内置的 Silero VAD模型文件只对人声段落跑大模型等于先把垃圾页从书里抽掉再装订。默认策略保守只去掉超过 2 秒的静音想更激进可传vad_parametersdict(min_silence_duration_ms500)全部默认值见 faster_whisper/vad.py。批量接口默认就开着 VAD。性能账本13分钟音频各家实跑对比下表来自 README 官方基准同为 13 分钟音频、large-v2 模型、beam_size5GPU 为 RTX 3070 Ti 8GB CUDA 12.4。跑法精度13分钟耗时显存占用原版 openai/whisperfp162分23秒4708MBfaster-whisperfp161分03秒4525MBfaster-whisperbatch_size8fp1617秒6090MBfaster-whisperINT8 量化int859秒2926MBfaster-whisperINT8 batch_size8int816秒4500MBwhisper.cppFlash Attentionfp161分05秒4127MBtransformersSDPAfp161分52秒4960MB精度对齐提速约4倍INT8省38%显存批处理最快16秒但显存吃紧。CPU 侧small 模型i7-12700K原版 fp32 要 6分58秒、2335MBfaster-whisper INT8 是 1分42秒、1477MB开批处理压到 51秒。低资源环境下这组数字更有参考意义。三类场景对号入座长视频 / 会议录音 → 字幕批处理优势批量接口把 13 分钟压到 16 秒word_timestampsTrue给出词级起止时间字幕对齐省事多语言自动检测内置适用课程字幕、会议纪要、视频审核队列限制默认 VAD 只滤超过 2 秒的静音长停顿音频要自己调参极嘈杂环境准确率会下降CPU 低资源自建转录服务优势INT8 下 small 模型 CPU 只要 1分42秒、内存 1477MB不用装 FFmpegGPU 部署有现成 docker/Dockerfile适用内网自建转录服务、低配服务器限制CPU 有速度上限高并发要靠批处理和OMP_NUM_THREADS调优说话人分离 / 近实时字幕生态组合优势社区有 WhisperX说话人分离 精确词级对齐、Whisper-Streaming近实时字幕、speachesOpenAI 兼容 API等成熟集成适用客服通话质检、直播字幕展示限制需要组合第三方组件多人同时说话易识别混乱⚠️ 什么时候选它、什么时候别选能勾中这些就选 faster-whisper只有 CPU 或低显存 GPU却要批量处理长音频吞吐优先能接受 INT8 量化带来的微小精度交换需要词级时间戳、多语言自动检测、热词提示transcribe传hotwords参数项目是 Python 3.9能引入 ctranslate2 依赖后续想接说话人分离、近实时字幕这类生态能力这些情况别硬上必须原封不动走 openai/whisper 的代码路径环境是 CUDA 11新版 ctranslate2 只支持 CUDA 12得降级到ctranslate23.24.0CUDA 12 cuDNN 8 则用4.4.0显存不到 4.5GB 却想开 batch_size8批量模式显存会涨到 4500–6090MB最常踩的四个坑segments是生成器不迭代就不跑——新手第一坑默认 beam_size5原版是 1跑分不对齐参数对比无效VAD 默认保守转录里静音太多就调小min_silence_duration_msdistil-large-v3 建议按官方示例设condition_on_previous_textFalse模型加载与全部转录参数在 faster_whisper/transcribe.py音频解码在 faster_whisper/audio.py想复现基准可用 benchmark/speed_benchmark.py。模型没变跑法变了faster-whisper 把 Whisper 的语音转录从跑不跑得完拉回到多快跑完。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
