news 2026/8/30 9:34:55

whisper.cpp 模型怎么选:从 tiny 到 large-v3-turbo 的速度与准确率权衡

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
whisper.cpp 模型怎么选:从 tiny 到 large-v3-turbo 的速度与准确率权衡

whisper.cpp 模型怎么选:从 tiny 到 large-v3-turbo 的速度与准确率权衡

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

同样一段语音,tiny.en 首响 83 毫秒,large-v3-turbo 要 1.5 秒,相差近 18 倍;而单词错误率从 18.7% 降到 2.1%。这笔账怎么算,取决于你的音频是"说完了就播"还是"跑完了再对"。

whisper.cpp 是 OpenAI Whisper 的 C/C++ 本地实现,用 ggml 做推理后端,CPU 就能跑,编译产物是一个whisper-cli加一整套模型文件。

决策速查:按场景直接选模型

如果你的场景是实时交互(智能音箱、车载)→ 选 tiny.en,首响 83ms,12.8x 实时速度,代价是 WER 18.7% 且只支持英语。

如果你的场景是多语言实时转写 → 选 base,145ms 首响、6.5x 实时速度,142 MiB 就能塞进移动端。

如果你的场景是桌面端英语离线转写 → 选 small.en,466 MiB,WER 6.4%,2.3x 实时速度对离线批处理完全够用。

如果你的场景是服务器离线、多语言、要高精度 → 选 medium,WER 3.8%,但只有 0.9x——比实时还慢,只适合离线跑。

如果你的场景是精度优先、不在乎等待 → 选 large-v3-turbo,WER 2.1% 全场最低,0.5x 意味着一段 10 秒的音频要跑 20 秒。

数据解读:速度为什么不是线性下降

以下数据来自 i7-12700K、4 线程 CPU、禁用 GPU 的实测,样本取自 tests 里的标准语音集:

模型速度(x 实时)WER首响延迟
tiny.en12.8x18.7%83ms
base6.5x11.2%145ms
small.en2.3x6.4%320ms
medium0.9x3.8%890ms
large-v3-turbo0.5x2.1%1560ms

速度不是线性掉下去的:encoder 处理整段音频是并行计算,decoder 却是逐 token 自回归生成,参数越多每一步越贵,所以参数量翻几倍,首响延迟能放大十几倍。这也是"实时"和"离线"的分界线为什么卡在 base 和 small 之间。

另一个反直觉的点:medium 和 large-v3-turbo 磁盘都是 1.5 GiB,但后者 WER 反而更低。turbo 的 encoder 做了剪枝,推理更轻,精度却靠更强的训练数据撑着——参数量不等于准确率。

内存方面注意看运行占用而不是磁盘大小:tiny 75 MiB 的磁盘文件运行时要占约 273 MB,large 的 2.9 GiB 文件运行时要约 3.9 GB。量化能把这块压下来,官方提供的 large-v3-q5_0 磁盘降到 1.1 GiB,标注精度损失小于 1%。

从 0 到跑通:whisper.cpp 本地跑通命令

三步,每个代码块都能直接复制:

git clone https://gitcode.com/GitHub_Trending/wh/whisper.cpp cd whisper.cpp make -j
./models/download-ggml-model.sh base ./build/bin/whisper-cli -m models/ggml-base.bin -f samples/jfk.wav -t 4

仓库自带samples/jfk.wav,下载完 base 模型就能立刻验证环境。想看全部可选模型名,不带参数跑一次./models/download-ggml-model.sh会列出 tiny 到 large-v3-turbo-q8_0 的完整清单。

进阶调优:三个最值钱的参数

  • -t N→ 线程数设为物理核心数的 1.5 倍(4 核 8 线程就设 6)→ CPU 吞吐最高,超了反而互相抢。
  • --max-context 512→ 限制 decoder 回看的历史 token 数 → 长音频转写时内存明显下降,代价是上下文跨段连贯性变差。
  • -fa→ 开启 flash attention → 有 GPU 的构建下加速注意力计算,纯 CPU 4 线程的测试环境里提升有限。

关于量化,多数情况直接下载官方的large-v3-q5_0就行;只有拿到 f32 全精度文件时才需要自己压:

./build/bin/quantize models/ggml-large-v3.bin models/ggml-large-v3-q5_0.bin q5_0

继续往下走

仓库里的small.en-tdrz是带说话人分离的 tinydiarize 版本,下载脚本已支持;需要 HTTP 接口给别的服务调,入口在examples/server/server.cpp-mc-l-fa这些参数和 CLI 一致。

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

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

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

老软件拯救:在Windows 11上运行1998年CD-ROM世界地图集

把一张 1998 年的 CD-ROM 世界地图集塞进 Windows 11,再顺利打开主界面,本质上是在做一次“老软件拯救实验”。这张光盘里的地图数据本身仍然有价值,问题是它的运行环境早就绝版了:16/32 位混合的安装程序、依赖光驱盘符、调用 Di…

作者头像 李华
网站建设 2026/8/30 9:30:21

3条命令在Docker容器里跑起Windows:dockur/windows完整指南 [特殊字符]

3条命令在Docker容器里跑起Windows:dockur/windows完整指南 🐳 【免费下载链接】windows Windows inside a Docker container. 项目地址: https://gitcode.com/GitHub_Trending/wi/windows 想让 Windows 跑进 Docker 容器,却不想手动点安装向导、不想折腾虚拟…

作者头像 李华
网站建设 2026/8/30 9:30:14

dockur/windows:在 Docker 容器中运行完整 Windows 系统的实操指南

dockur/windows:在 Docker 容器中运行完整 Windows 系统的实操指南 【免费下载链接】windows Windows inside a Docker container. 项目地址: https://gitcode.com/GitHub_Trending/wi/windows dockur/windows 让 Windows 直接跑在 Docker 容器里&#xff1a…

作者头像 李华
网站建设 2026/8/30 9:25:52

Penpot 开源设计工具:基于开放标准的设计协作平台

Penpot 开源设计工具:基于开放标准的设计协作平台 【免费下载链接】penpot Penpot: The open-source design platform for Product teams that need scalable collaboration. 项目地址: https://gitcode.com/GitHub_Trending/pe/penpot 设计师交付的稿件&…

作者头像 李华
网站建设 2026/8/30 9:24:36

遍历性游戏Python模拟:期望正收益为何长期亏损?

第一次看到 Ergodicity Game(遍历性游戏)时,我的第一反应是:这不就是个概率题吗?一个抛硬币游戏,正面赚 50%,反面亏 40%,单轮期望明明是正的,长期玩下去怎么可能会亏&…

作者头像 李华
网站建设 2026/8/30 9:24:35

Spring AI 2.0实战:从多模型到Agent的一周学习路线

Spring AI 2.0 对 Java 开发者来说,最值得优先搞清楚的是整条学习线:多模型接入、Tools 函数调用、MCP 协议、Skills 复用、Agent 编排,这五个东西怎么串起来,而不是只学会某一个 API。这篇文章按一套一周能走完的实战路线写&…

作者头像 李华