当前位置: 首页 > news >正文

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),仅供参考

http://www.cnnetsun.cn/news/4304542.html

相关文章:

  • 老软件拯救:在Windows 11上运行1998年CD-ROM世界地图集
  • 3条命令在Docker容器里跑起Windows:dockur/windows完整指南 [特殊字符]
  • dockur/windows:在 Docker 容器中运行完整 Windows 系统的实操指南
  • Penpot 开源设计工具:基于开放标准的设计协作平台
  • 遍历性游戏Python模拟:期望正收益为何长期亏损?
  • Spring AI 2.0实战:从多模型到Agent的一周学习路线
  • 单片机电源管理:12V转5V转3.3V两级降压方案设计与调试
  • 分布式服务的自动巡检设计
  • 爱奇艺iOS校招笔试全复盘:核心考点、解题思路与备战策略
  • you-get -I 批量下载:一个文本文件搞定100条URL
  • 前端两年经验跳槽面经:从简历准备到高频面试题拆解
  • Magisk Root 完全掌握:从原理到定制的完整指南
  • Pandas入门指南:2小时掌握DataFrame数据清洗与分组聚合
  • 科学计算日常巡检的有效方法
  • 从老源码到现代API:接口设计、安全与实战全解析
  • Typst 快速上手:5 分钟从零编译出第一份 PDF 文档
  • VS2019+OSG+osgEarth+GDAL+Qt全链路编译指南:三维GIS开发环境搭建
  • 快速上手 whisper.cpp:把语音转文字搬回自己设备的完整指南
  • Starship 提示符提速:3 档方案把 500ms 压进 50ms
  • MRIcroGL完全上手:从DICOM转换到出版级脑图渲染
  • 用 Remotion 一个下午做出三语视频:React 视频国际化的完整实战
  • AI音乐应用落地避坑指南:从提示词到音频交付的完整链路实践
  • 旧设备新生:reMarkable 2 的固件升级、SSH与自动化维护
  • whisper.cpp 配置 CUDA 加速,长音频语音转写跑到实时以上
  • 60G高清纹理Mod详解:黑暗之魂2画质升级与龙祭坛跑图指南
  • 无订阅AI生图与AI生视频:从模型原理到工程落地
  • ESP32上实现LLM思考过程可视化:用Brainscope调试微型语言模型
  • LlamaIndex 安装与快速上手指南:3条路线让私有文档接入大模型问答
  • 可持久化并查集:一片森林为何只需一个根?
  • trackerslist:BT 下载没节点?每天自动更新的公共 Tracker 列表配置指南