news 2026/9/12 6:03:07

whisper.cpp CUDA 快速上手:从编译到跑通只需 3 条命令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
whisper.cpp CUDA 快速上手:从编译到跑通只需 3 条命令

whisper.cpp CUDA 快速上手:从编译到跑通只需 3 条命令

【免费下载链接】whisper.cppPort of OpenAI's Whisper model in C/C++项目地址: https://gitcode.com/GitHub_Trending/wh/whisper.cpp

whisper.cpp 是 OpenAI Whisper 语音识别模型的 C/C++ 移植版,CPU 推理能用,但慢得明显:仓库基准里,base 模型在 Ryzen 9 5950X 上编码一个 11 秒音频要 425 毫秒,同样的活交给一张普通的 RTX 2060 只要 24 毫秒。要批量转会议录音、播客或者做直播字幕,这个差距会直接决定任务能不能跑完。下面是从装环境到跑通第一条转录命令,再到显存不够时的降级手段。

装好 CUDA 工具链并用 cmake 打开 GPU 编译

先确认机器上有 NVIDIA 驱动和 CUDA Toolkit(NVIDIA 的 GPU 编译工具集):

nvidia-smi nvcc --version

两条命令都有正常输出,再继续。然后克隆仓库、启用 CUDA 编译(GGML_CUDA是控制 CUDA 后端编译的 CMake 开关)、下载模型,一共就 3 条命令:

git clone https://gitcode.com/GitHub_Trending/wh/whisper.cpp cd whisper.cpp && cmake -B build -DGGML_CUDA=1 cmake --build build -j sh ./models/download-ggml-model.sh base.en

构建结束后,仓库自带的jfk.wav样例就能直接转:

./build/bin/whisper-cli -m models/ggml-base.en.bin -f samples/jfk.wav

注意whisper-cli目前只认 16-bit 单声道 WAV,手里的 mp3 先转一下:ffmpeg -i input.mp3 -ar 16000 -ac 1 -c:a pcm_s16le out.wav

显存吃紧或速度不够时,按顺序试这三招

第一招是量化。仓库的quantize工具能把模型转成更小的整数格式,省显存也通常更快:

./build/bin/quantize models/ggml-base.en.bin models/ggml-base-q5_0.bin q5_0

如果不想自己量化,直接下现成的:large-v3全精度要 2.9 GiB,large-v3-q5_0只有 1.1 GiB(models/README.md 有完整清单),下载脚本一条命令的事。

第二招是开启 flash attention。仓库基准显示,同样在 RTX 2060 上,加-fa后 medium 模型编码从 200.7 毫秒降到 115.5 毫秒,音频越长收益越大:

./build/bin/whisper-cli -m models/ggml-medium.bin -f samples/jfk.wav -fa

第三招是分段。长音频先用-d只处理指定毫秒数,确认没问题再全量跑;CPU 对比时用-ng强制关 GPU 即可。

显存爆掉或编译报 CUDA 错误时的速查步骤

症状:编译期提示找不到 CUDA 或nvcc报错。原因:CMake 没找到 CUDA Toolkit。解决

nvcc --version echo $PATH

确认工具链在 PATH 里,或者在 cmake 配置时显式指定工具链路径后重新构建。

症状:运行时 CUDA out of memory,进程被杀。原因:模型加中间结果超出显存,medium 以上模型在 6GB 显存卡上很容易碰到。解决:换 q5_0 量化版或更小的模型,同时用nvidia-smi盯着显存占用确认空间。

症状:二进制能跑但 GPU 利用率始终为 0,实际在跑 CPU。原因:驱动太旧,或卡不在编译时的架构列表里(仓库默认覆盖 52/61/70/75,即 Maxwell 到 Turing)。解决:用nvidia-smi右上角的 CUDA 版本核对驱动是否足够新,老卡考虑加GGML_NATIVE让构建针对本机卡编译。

从本地跑通到长期部署的四个要点

  • 确认编译开关生效:构建日志里应能看到 ggml-cuda 后端被编译,没有它的二进制只会跑 CPU。
  • 多卡机器用CUDA_VISIBLE_DEVICES=0 ./build/bin/whisper-cli ...固定用哪张卡。
  • 换硬件后跑一遍./build/bin/bench -m models/ggml-base.en.bin,用你自己的数字做容量规划。
  • 长任务加-pp看进度条,输出用2>&1 | tee run.log留档。

跑通之后如果还想再抠性能,直接看 ggml 的 CUDA 内核,或者用 scripts/bench-all.sh 在自己机器上复测一遍,仓库基准数据都在 scripts/bench-all-gg.txt 里。

【免费下载链接】whisper.cppPort of OpenAI's Whisper model in C/C++项目地址: https://gitcode.com/GitHub_Trending/wh/whisper.cpp

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/4 14:40:54

Tabby社区插件怎么选:5个让终端省下一半时间的扩展

Tabby社区插件怎么选:5个让终端省下一半时间的扩展 【免费下载链接】tabby A terminal for a more modern age 项目地址: https://gitcode.com/GitHub_Trending/ta/tabby 每次连服务器,sudo 要密码就得翻找记录;终端里看到 IP 想测连通…

作者头像 李华
网站建设 2026/9/12 6:02:56

微信小程序校园二手交易平台毕设源码与数据库设计

简介:这是一套面向计算机专业本科生的校园二手交易平台微信小程序毕业设计项目源码,专为毕业设计选题与课程实训打造,解决学生缺乏完整、可运行、高通过率实战项目的问题。资源包含127个文件,涵盖20个Java后端服务类、11个JS/WXML…

作者头像 李华
网站建设 2026/9/4 17:00:14

从原理到部署:Transformer模型本地推理与API封装实战指南

Transformer 不是某个能一键下载、双击运行的软件,它是一个模型架构,也是当前几乎所有主流语言模型、多模态模型的底层骨架。很多人已经把各类 AI 助手用得很熟,但真要自己在本地起一个基于 Transformer 的生成模型,反而会卡在环境…

作者头像 李华
网站建设 2026/9/6 0:38:09

Goose跨平台安装指南:在Linux、Windows与macOS五分钟跑起来

Goose跨平台安装指南:在Linux、Windows与macOS五分钟跑起来 【免费下载链接】goose an open source, extensible AI agent that goes beyond code suggestions - install, execute, edit, and test with any LLM 项目地址: https://gitcode.com/GitHub_Trending/g…

作者头像 李华
网站建设 2026/9/3 1:43:45

人形机器人金属腿的“意志力”:腿部柔顺控制与阻抗控制解析

如果你最近看过人形机器人的演示视频,会发现一个很有意思的现象:真正抓眼球的往往不是机器人的上半身,而是它那条金属腿。跑起来能腾空,落地能缓冲,踩到不平地面还能迅速调整姿态。很多人把这些能力归功于“强大的关节…

作者头像 李华