ARTICLE DETAIL

资讯详情

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

Faster Whisper:13 分钟录音 59 秒转完,显存省一半的 Whisper 语音识别加速方案

Faster Whisper:13 分钟录音 59 秒转完,显存省一半的 Whisper 语音识别加速方案 Faster Whisper13 分钟录音 59 秒转完显存省一半的 Whisper 语音识别加速方案【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper转一段 13 分钟的录音OpenAI 原版 Whisper 在 GPU 上要 2 分 23 秒。换成基于 CTranslate2 重写推理的 Faster Whisper同样精度只要 1 分 03 秒再开 8 位量化59 秒就能跑完显存从 4708MB 压到 2926MB。对做语音转文字的人来说这差不多是 4 倍速的差距而输出文本和原版逐字对齐。 三个指标看差距先看仓库 README 里的官方 benchmark都是同一条 13 分钟音频大模型跑在 GPURTX 3070 Ti上。实现精度耗时显存/内存openai/whisperlarge-v2, GPUfp162m23s4708MBfaster-whisperlarge-v2, GPUfp161m03s4525MBfaster-whisperlarge-v2, GPUint859s2926MBfaster-whisperlarge-v2, batch_size8, GPUint816s4500MBopenai/whispersmall, CPUfp326m58s2335MBfaster-whispersmall, CPUint81m42s1477MBfaster-whispersmall, CPU, batch_size8int851s3608MB同样的 beam size、同样的模型GPU 上快了近 2.5 倍CPU 上快 4 倍。int8 量化省下的显存接近一半够你同时再挂一个较小的模型CPU 侧内存从 2335MB 降到 1477MB普通笔记本也扛得住。批量模式batch_size8是另一个量级GPU 上 16 秒转完 13 分钟音频CPU 上 51 秒代价是内存占用回到 3.6GB 以上。⚡ 装上就能跑安装一条命令不需要在系统里装 FFmpeg——PyAV 已经把 FFmpeg 的解码库打进了包Python 3.9 起就能用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, info.language_probability) for seg in segments: print(f[{seg.start:.2f}s - {seg.end:.2f}s] {seg.text})注意segments是生成器真正开始转录是在你迭代它的时候想一次性拿全结果list(segments)即可。GPU 环境需要 CUDA 12 的 cuBLAS 和 cuDNN 9版本细节 README 里有专门一段。 四个能力逐项拆开Faster Whisper 的 Whisper 加速推理引擎不是单一技巧而是几个可以叠加的机制按对你感知的价值从高到低拆开看。基于 CTranslate2 的推理引擎把 Whisper 的推理从原框架换成 CTranslate2 这个 Transformer 专用推理引擎原始耗时直接砍半这是快的大头。对应场景长音频快速出稿。int8 与混合精度量化compute_type支持 float16、int8、int8_float16默认 defaultCPU 和 GPU 都能量化。GPU 上 int8 省 1.8GB 显存还快 12 秒int8_float16 是两者的折中精度损失很小。对应场景显存吃紧时保精度。批量转写 BatchedInferencePipelineBatchedInferencePipeline可以当作WhisperModel.transcribe的直接替换配合batch_size16这类参数把多段音频并行喂进去。基准里 GPU 从 59 秒提到 16 秒靠的就是它。对应场景批处理多段录音。内置 VAD 静音过滤默认开启底层是 Silero VAD先切掉没有语音的片段Whisper 只算有说话的部分。默认只去掉超过 2 秒min_silence_duration_ms2000的静音长尾音、留白多的访谈受益最明显。对应场景长尾音、留白多的音频。词级时间戳与多语言检测word_timestampsTrue能把每个词的起止时间也打出来默认 False字幕对齐、热词定位都靠它不指定language时前 30 秒自动检测语言并给出概率。对应场景字幕逐词对齐、混合音频免手动选语言。 按场景选配置几个条件式建议照着抄就行。如果你的场景是有 CUDA 12 的 GPU、追求精度 → large-v3 或 turbocompute_typefloat16如果你的场景是 GPU 显存紧张8GB 以内→ int8 或 int8_float16省下的显存留给并发如果你的场景是纯 CPU 服务器 → small 模型加 int81 分 42 秒转完 13 分钟线程数可以再用OMP_NUM_THREADS调如果你的场景是一次性处理大量音频 → 换BatchedInferencePipeline并调大batch_size吞吐翻倍但内存要留足。拿不准时先看这张小表硬件模型compute_type备注GPU显存 ≥ 8GBlarge-v3float16精度优先GPU显存吃紧large-v3int8_float16省一半显存CPUsmallint8速度与内存均衡高吞吐批处理任意批量模式内存换吞吐 落到实际场景会议录音转录成纪要视频批量生成字幕播客转文字检索多语言访谈自动翻译一行pip install faster-whisper装上拿你手边最长的录音跑一次和原版对比下秒表——差距自己会说话。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表