ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

快4倍、显存省一半:faster-whisper 语音转录完整教程

快4倍、显存省一半:faster-whisper 语音转录完整教程 快4倍、显存省一半faster-whisper 语音转录完整教程【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper批量处理几百期播客时最拖后腿的环节往往是语音转录一段 13 分钟的音频原版 Whisper 在 GPU 上要跑 4 分半以上显存还一度冲到 11GB 以上排队时间比人工听写还久。faster-whisper 就是为此而生的——它用 CTranslate2 推理引擎重写了 OpenAI Whisper 模型的推理流程在准确度几乎不变的前提下把转录速度提到约 4 倍内存与显存占用显著下降并且对 CPU、GPU 都提供 INT8 量化选项。本文从安装、跑通到参数精调给你一条最短路径。项目定位与选型判断一句话定位faster-whisper 是一个基于 CTranslate2 的开源、免费 Whisper 模型加速推理库当前版本 1.2.1要求 Python 3.9核心代码在 faster_whisper/transcribe.py内置模型下载与缓存逻辑见 faster_whisper/utils.py。适合谁需要批量离线转录的用户用消费级显卡甚至纯 CPU 跑 Whisper 的场景希望复用 OpenAI Whisper 全部模型tiny 到 large-v3、distil 系列但受不了原版速度的团队。不适合谁只需要实时流式识别本项目定位是离线批量推理实时场景可看基于它封装的社区项目或者希望免配置直接上 GPU——CUDA 依赖仍需要你自行装好见后文排错部分。一个额外优点不用单独安装 FFmpeg音频解码由自带的 PyAV 库完成省掉一类常见的环境问题。性能与资源实测数字对比表官方基准取自同一环境下的对比测试GPU 为 RTX 3070 Ti 8GB CUDA 12.4CPU 为 i7-12700K 8 线程详见 README.md 的 Benchmark 章节以 13 分钟音频为测试对象实现设备精度耗时显存 / 内存原版 openai/whisperGPUfp16约 4 分 30 秒约 11.3GBfaster-whisperGPUfloat16约 54 秒约 4.8GBfaster-whisperINT8 量化GPUint8_float16约 59 秒约 3.1GB原版 openai/whisperCPUfp32约 10 分 31 秒约 3.1GBfaster-whisperCPUfloat32约 2 分 44 秒约 1.7GB两个值得注意的点一是 INT8 量化后速度只慢 5 秒左右但显存从 4.8GB 降到 3.1GB是显存紧张时的首选二是 GPU/CPU 两个场景下faster-whisper 的耗时都在原版 1/4 到 1/5 区间内存占用也更低。仓库内 benchmark/ 目录还提供了 WER、速度、内存三类基准脚本方便你在自己机器上复核。最小可运行路径安装到读懂输出安装只有一条命令无需系统级依赖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, 4)) for segment in segments: print(f[{segment.start:.2f}s - {segment.end:.2f}s] {segment.text})读懂输出的三个关键点segments是生成器。调用transcribe后并没有真正开始转录只有for循环遍历或list(segments)时才逐段执行。需要全部结果时先转成列表即可。info是语言检测信息。不指定语言时模型会用音频前 30 秒做自动检测支持 99 种语言info.language是语言代码info.language_probability是置信度。模型首次加载会自动下载。例如WhisperModel(large-v3)会从 Hugging Face Hub 拉取对应 CTranslate2 模型并缓存本地目录或自定义 Hub 模型 ID 也可以直接传入。关键参数怎么配功能在这里体现为几个开关型参数每项给出用途和一行示例参数作用示例vad_filter开启 Silero 语音活动检测自动跳过无语音片段长音频省时明显实现见 faster_whisper/vad.pymodel.transcribe(a.mp3, vad_filterTrue)word_timestamps输出词级时间戳segment.words内每个词都有起止时间适合字幕对齐与高亮定位model.transcribe(a.mp3, word_timestampsTrue)beam_size束搜索宽度越大转录越稳但越慢默认 5model.transcribe(a.mp3, beam_size5)compute_type计算精度GPU 用float16或性价比更高的int8_float16CPU 用float32或int8WhisperModel(large-v3, devicecuda, compute_typeint8_float16)language直接指定语言如en跳过自动检测避免长音频检测偏差model.transcribe(a.mp3, languageen)vad_parameters微调 VAD 行为比如把静音判定阈值从默认 2 秒调短model.transcribe(a.mp3, vad_filterTrue, vad_parametersdict(min_silence_duration_ms500))hotwords传入热词列表提升人名、专业术语的识别率model.transcribe(a.mp3, hotwordsCTranslate2 SYSTRAN)如果吞吐是主要目标可以换用批量推理管线它默认开启 VAD且吞吐可再上一个台阶from faster_whisper import WhisperModel, BatchedInferencePipeline model WhisperModel(turbo, devicecuda, compute_typefloat16) pipeline BatchedInferencePipeline(model) segments, info pipeline.transcribe(audio.mp3, batch_size16)更完整的模型与转录参数如temperature、no_speech_threshold、initial_prompt可参考 WhisperModel 类实现。常见坑与排错Q1首次运行很慢 / 卡住不动不是程序卡死是在后台下载模型权重默认缓存在 HF Hub 缓存目录。网络不稳时建议先手动跑一次download_model(large-v3)见 faster_whisper/utils.py确认落盘之后再加载就是秒级离线环境可用output_dir指定已准备好的本地模型目录。Q2GPU 加载报错提示找不到 cuBLAS / cuDNNGPU 运行必须自行安装 NVIDIA 的 cuBLAS 和 cuDNN当前 ctranslate2 对应 CUDA 12 cuDNN 9。三种方式按官方 NVIDIA 文档安装、用预装好的 CUDA 12.3 运行时镜像、或在 Linux 下用 pip 安装对应库并设置LD_LIBRARY_PATH。具体方法在 README.md 的 Requirements 章节有完整清单。Q3转录几小时的长音频会不会爆内存会。建议两条路一是保证vad_filterTrue让静音段被直接过滤二是把长音频按时间切片分段处理后再拼接结果。GPU 上显存吃紧时把compute_type换成int8_float16通常能立竿见影。Q4调用了transcribe却没看到任何输出再次提醒生成器特性segments, info model.transcribe(...)这一行本身不产生逐段输出必须遍历segments才开始转录。Q5CPU 上想再榨一点速度用环境变量固定线程数例如OMP_NUM_THREADS4 python3 my_script.py再配合compute_typeint8通常比默认配置又快又省内存。小结与下一步faster-whisper 的价值可以浓缩成一句话用一行pip install faster-whisper的成本把 Whisper 的转录耗时压到原来的四分之一、内存占用同步降档且词级时间戳、VAD 过滤、99 种语言检测开箱即用。建议的验证顺序先用small模型在本地跑通上面的最小示例 → 切到int8_float16观察显存变化 → 用自己的真实音频对照 benchmark/ 里的脚本复测一遍速度与错误率再决定是否上large-v3或turbo。跑顺之后批量管线BatchedInferencePipeline就是下一步该上手的组件。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表