ARTICLE DETAIL

资讯详情

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

Windows 上手 faster-whisper:CUDA 12 加速语音转写实战

Windows 上手 faster-whisper:CUDA 12 加速语音转写实战 Windows 上手 faster-whisperCUDA 12 加速语音转写实战【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisperfaster-whisper 用 CTranslate2 重写了 OpenAI Whisper 的推理后端同精度下比官方实现快 2~4 倍还能用 8 位量化再压显存。但在 Windows 上把 GPU 路线真正跑通多数人卡死在三个地方CUDA 12 和 cuDNN 的对应关系、PyAV 的编译报错、以及转写时的显存溢出。这篇文章按先判断、再装环境、最后跑通的顺序给你一条可复现的装配线。先做三个检查决定 GPU 还是 CPU 路线装任何依赖之前先确认你的机器落在哪条路线上。用python -V和nvidia-smi各查一次对照下面这张表项目最低配置推荐配置GPUNVIDIA GTX 1050 Ti4GB 显存RTX 3060 及以上6GB 显存CPU8 核12 核及以上内存8GB16GB系统盘10GB 空闲SSD 20GB 空闲系统Windows 10/11 64 位Windows 10/11 64 位Python3.93.10 较稳3.10GPU 路线有一条硬门槛NVIDIA 驱动版本不低于 527.41。nvidia-smi输出的Driver Version低于这个数先升驱动否则后面所有 CUDA 步骤都会白做。显存不够时别硬上 large 系模型4GB 显存跑 base/small 没问题medium 以上建议留给 6GB 及以上。装配线第一步CUDA 12 与 cuDNN 就位最新版的 ctranslate2 只认 CUDA 12 和 cuDNN 9这是装环境时的第一条铁律如果你出于兼容旧模型的目的用 ctranslate2 4.4.0它对应的是 CUDA 12 cuDNN 8更早的 3.24.0 则停留在 CUDA 11 cuDNN 8。版本对不上后面怎么调都没用。装 CUDA 12 Toolkit。PowerShell 里执行winget install --id NVIDIA.CUDAToolkit.12.0安装时选自定义勾选 CUDA Toolkit 和 cuBLAS取消 Visual Studio Integration 这类可选项。装完新开一个终端验证nvcc -V # 输出应包含 V12.0铺 cuDNN 9。到 NVIDIA 开发者官网需注册账号下载 cuDNN 9 for CUDA 12解压后把库文件复制进 CUDA 目录xcopy cudnn-*\cuda\bin\* C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin\ /Y xcopy cudnn-*\cuda\include\* C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\include\ /Y xcopy cudnn-*\cuda\lib\x64\* C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\lib\x64\ /Y顺手确认系统 PATH 里包含C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin和同目录下的libnvvp。验证方式很简单dir C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\bin\cudnn*能看到cudnn64_9.dll一类文件这一步才算完成。装配线第二步PyAV Windows 安装与 faster-whisper 本体PyAV 是音频解码这一环的关键。faster-whisper 不依赖系统 FFmpeg音频解码由 PyAV 完成官方 wheel 已内置 FFmpeg 库所以不需要单独装 FFmpeg。正常网络下pip install av⚠️ 如果 pip 卡在Building wheel或直接报编译错误说明当前源没有匹配你 Python 版本的预编译 wheel。按你的 Python 版本如 3.10 对应 cp310和架构win_amd64从 PyAV 官方 releases 下载对应.whl再本地安装pip install PyAV-xxx-cp310-cp310-win_amd64.whl python -c import av; print(av.__version__)装 faster-whisper 本体并做安装验证pip install faster-whisper python -c import faster_whisper, ctranslate2; print(faster_whisper.__version__, ctranslate2.get_cuda_device_count())get_cuda_device_count()返回的 GPU 数量应该大于 0。返回 0 时说明 ctranslate2 根本没找到 cuDNN/cuBLAS直接跳到下文排错表。最小验证一段代码拿到第一段转写结果先别折腾量化和批量用最短的路径确认 GPU 推理可用。下面的脚本加载 base 模型到 GPU转写一段音频from faster_whisper import WhisperModel model WhisperModel(base, devicecuda, compute_typefloat16) segments, info model.transcribe(audio.wav, 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是生成器真正的推理发生在遍历它的时候。只调用transcribe不打印是不会跑任何推理的。首次运行会先下载模型之后走本地缓存。能打印出带时间戳的文本说明 CUDA 12 到 PyAV 这条链路全部打通再谈优化不迟。常见报错速查现象、原因、修复报错现象原因修复CUDA out of memory显存被当前模型 精度吃满换更小模型或compute_type改int8_float16用批量推理时把batch_size调小cuDNN not found / 找不到 cudnn 库库没进 PATH或装成了 cuDNN 8 而 ctranslate2 要 cuDNN 9确认cuda\bin下有cudnn64_9.dll按 ctranslate2 版本核对 cuDNN 大版本ImportError: DLL load failedimport av 时缺 Microsoft VC 2015-2022 运行库或 wheel 与 Python 版本不匹配winget install --id Microsoft.VC2015-2022Redist-x64核对 wheel 里的 cp 标签与python -VCould not find audio stream文件不含音轨纯视频、损坏或封装/编码 PyAV 无法识别换文件测试必要时先用 FFmpeg 转成 16kHz 单声道 WAV 再喂给模型四行之外的报错优先看logging.getLogger(faster_whisper)打开 DEBUG 后的日志多数问题能直接定位到是模型下载、音频解码还是推理阶段。GPU 耗时实测对比与量化怎么选以下数字取自 faster-whisper 官方 README 基准large-v2 模型转写 13 分钟音频RTX 3070 Ti CUDA 12.4 下fp16 单样本耗时 1 分 03 秒int8 量化 59 秒batch_size8 时 fp16 压到 17 秒显存占用 4525MBint8 降到 2926MB。small 模型在 8 线程 i7-12700K 上fp32 为 2 分 37 秒int8 1 分 42 秒batch_size8 的 int8 最快 51 秒。模型精度场景13 分钟音频耗时显存/内存large-v2fp16batch1GPU1 分 03 秒4525MBlarge-v2fp16batch8GPU17 秒6090MBlarge-v2int8batch1GPU59 秒2926MBsmallfp32batch1CPU8 线程2 分 37 秒2257MBsmallint8batch8CPU51 秒3608MBGPU 路线上 base 模型转写 60 秒音频约 12 秒CPU 同场景约 45 秒加速比 3.5~4 倍参考值视硬件浮动。精度选择的取舍float32精度最高但最慢最吃资源float16适合 20 系及以上显卡是速度和精度的平衡点int8/int8_float16最快最省显存代价是少量精度损失。收尾要点与进阶方向Windows 上跑 faster-whisper 的 GPU 路线核心就四件事驱动不低于 527.41CUDA 12 配 cuDNN 9老版 ctranslate2 对应 cuDNN 8PyAV 用预编译 wheel 绕开编译报错优先排查显存与 DLL 加载。按这条装配线走一次装通是常态。下一步可以试的方向int8 量化显存减半4GB 卡能跑更大的模型批量推理BatchedInferencePipeline配合batch_size显著缩短长音频耗时领域热词transcribe的hotwords参数注入专有名词改善术语识别服务化包一层 FastAPI 暴露 HTTP 接口配合多卡device_index做并行。延伸阅读看仓库内两处即可benchmark/speed_benchmark.py和benchmark/memory_benchmark.py可复现官方基准转写参数与 VAD 默认值见 faster_whisper/transcribe.py 的源码注释。具体参数默认值以官方文档为准。【免费下载链接】faster-whisperFaster Whisper transcription with CTranslate2项目地址: https://gitcode.com/GitHub_Trending/fa/faster-whisper创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表