尧图建网站 尧图建网站 YAOTU WEB BUILD 免费咨询
ARTICLE DETAIL

资讯详情

深耕网站建设与建站编程的一线实战洞察。

whisper.cpp CUDA 加速指南:3 步编译跑通 GPU 推理,提速 3~7 倍

whisper.cpp CUDA 加速指南:3 步编译跑通 GPU 推理,提速 3~7 倍 whisper.cpp CUDA 加速指南3 步编译跑通 GPU 推理提速 3~7 倍【免费下载链接】whisper.cppPort of OpenAIs Whisper model in C/C项目地址: https://gitcode.com/GitHub_Trending/wh/whisper.cppwhisper.cpp 是 OpenAI Whisper 的 C/C 移植纯 CMake 构建、无第三方依赖支持在 NVIDIA 显卡上用 CUDA 加速语音识别。照本指南操作从编译到出第一条转写文本只需 3 步识别耗时可缩短到 CPU 方案的三分之一甚至更少一次完成 whisper.cpp 语音识别 GPU 部署。先看结果CPU 版和 GPU 版差多少这一节回答值不值得折腾。以 base 模型转写 samples/jfk.wav约 11 秒音频为参照不同配置下的实测耗时大致如下计算配置转写耗时相对 CPU 的速度显存占用base 模型纯 CPU-t 4约 11 秒1 倍基线无CUDA FP32约 3 秒3~4 倍约 400 MBCUDA FP16-t 4约 1.5 秒6~7 倍约 400 MB耗时随音频时长线性放大10 分钟会议录音在 CUDA FP16 下约 1 分半转写完CPU 单核则接近 10 分钟。模型越大差距越明显large 级别约 3.9 GB 显存上 GPU 优势可达 10 倍量级。开工前的三个检查这节帮你在编译前排除掉绝大多数环境问题避免踩编译坑。NVIDIA 显卡 驱动敲nvidia-smi应看到显卡型号和驱动版本号。计算能力要求 ≥ 3.5GTX 10 系及之后全满足TuringRTX 20 系及之后才建议开 FP16。CUDA Toolkit敲nvcc --version能打印版本即可。注意 CMake 找的是 toolkit 而不是驱动装完若提示找不到把bin目录加进PATH。C17 编译器Linux 用g --version建议 GCC 9MSVC 需 VS2019 及以上。三步跑通从克隆到出转写文本这节只保留你必须亲手敲的命令每步做完都有可验证的输出。第 1 步拿代码。git clone https://gitcode.com/GitHub_Trending/wh/whisper.cpp cd whisper.cpp完成后目录里应能看到CMakeLists.txt、samples/jfk.wav和models/。第 2 步带 CUDA 编译。cmake -B build -DGGML_CUDA1 cmake --build build -j --config Release构建日志末尾应出现whisper-cli等目标生成成功编译产物在build/bin/其中就含 examples/cli/ 对应的命令行工具。第 3 步下载模型并转写示例音频。bash models/download-ggml-model.sh base.en ./build/bin/whisper-cli -m models/ggml-base.en.bin -f samples/jfk.wav运行输出里末尾的system_info行会标注CUDA 1——看到它说明 GPU 后端确实生效了此时你会读到 JFK 演讲的转写文本耗时在 base 模型上约 1~3 秒。调参手册常用参数与推荐值这节把高频参数一次讲清调参不用翻源码。参数作用推荐值何时需要调它-tCPU 侧线程数1~4CUDA 版只用于 Mel 特征等前后处理开太多反而拖慢batch-size一次送入编码器的音频块数显存 ≥ 8 GB 用 324~6 GB 用 16显存吃紧报 OOM 时先降它精度编译期决定FP32 / FP16Turing 及之后开 FP16追求极限速度且显卡支持模型选择决定显存下限4 GB 卡跑 base.en显存装不下 medium / large 时-p并行进程数1单卡多任务队列时再考虑最影响提速的是 batch-size 和 FP16 精度前者决定 GPU 算力利用率后者让矩阵乘法走 Tensor Core吞吐直接翻倍。两者都不改变识别准确率只改耗时。出错了先看这里常见报错速查这节覆盖编译期到运行期的高频故障每条给现象 → 原因 → 动作。CMake 报找不到 CUDA toolkit → 系统未装 toolkit 或路径没进 PATH → 装好 CUDA 后重跑cmake -B build -DGGML_CUDA1nvcc 报 unsupported GNU target / 架构不支持 → 卡太老计算能力低于 toolkit 下限 → 换 Vulkan 后端或降级 toolkit运行报 out of memory → 模型加 KV 缓存超出显存 → batch-size 减半或换 tiny.en约 273 MB、对 medium 以上模型做量化whisper-cli 报 failed to open file → 输入不是 16-bit WAV → 先用 ffmpeg 转ffmpeg -i in.mp3 -ar 16000 -ac 1 -c:a pcm_s16le out.wav量化命令在build/bin/quantize例如对 base.en 做 Q5_0./build/bin/quantize models/ggml-base.en.bin models/ggml-base.en-q5_0.bin q5_0之后把-m指向新文件即可。按显卡选方案显存定配置这节按三档显卡给明确配置直接照抄。高端RTX 4090 / A10024 GB开 FP16batch-size 32不量化medium / large 随便跑追求最低延迟。中端RTX 3060 / RTX 40708~12 GB开 FP16batch-size 16跑 medium 时上 Q5_0 量化显存从约 2.1 GB 降到 1.5 GB 内。入门GTX 1650 / RTX 30504~6 GBFP16 开但 batch-size 降到 8只跑 base.en 或 tiny.en 的量化版先保证装得下再谈速度。量化能同时省显存和带宽对入门卡收益最大代价是极小的准确率损失日常转写基本无感。它为什么快算力和开销各去了哪编码器里的特征提取、矩阵乘与注意力全部由 CUDA 自定义内核和 cuBLAS 搬到 GPU 上算源码在 ggml/src/ggml-cuda/FP16 再让矩阵乘法走 Tensor Core吞吐翻倍。开销侧则靠两个手段batch-size 把一段音频切块一次性喂给编码器摊薄内核启动次数权重与 KV 缓存常驻显存省去逐块在主机内存和显存之间搬运。计算集中、搬运变少所以快。行动清单用一条真实音频测出 CPU 版耗时基线。重编译开 FP16对比同一音频的耗时差。跑一遍完整录音核对准确率是否达标。显存紧张就换量化模型用quantize工具现场生成。下一步挑你手头一条 5 分钟以上的真实录音先测 CPU 基线再开 FP16 复测把两组秒数记下来——这个数字就是你后面调参的参照物。【免费下载链接】whisper.cppPort of OpenAIs Whisper model in C/C项目地址: https://gitcode.com/GitHub_Trending/wh/whisper.cpp创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表