whisper.cpp 模型选型实测:从 tiny 到 large-v3-turbo 速度与准确率对比
模型家族全景图
whisper.cpp 作为 OpenAI Whisper 模型的 C/C++ 移植版,提供了从微型到大型的完整模型系列。这些模型经过优化可在 CPU/GPU 上高效运行,其核心差异体现在参数量与能力范围上。
whisper.cpp 是 OpenAI Whisper 模型的 C/C++ 移植版本。通过实测对比了 tiny.en、base、small.en、medium、large-v3-turbo 等主流模型在 Intel i7-12700K CPU 平台上的性能表现。测试涵盖磁盘占用、转录速度、单词错误率及首次响应延迟。结果显示 tiny.en 和 base 适合实时交互场景,medium 和 large-v3-turbo 适合离线批处理。文章提供了命令行部署示例、线程调优及量化处理技巧,帮助开发者根据业务需求平衡速度与准确率。
whisper.cpp 作为 OpenAI Whisper 模型的 C/C++ 移植版,提供了从微型到大型的完整模型系列。这些模型经过优化可在 CPU/GPU 上高效运行,其核心差异体现在参数量与能力范围上。
| 模型名称 | 磁盘占用 | 支持语言 | 典型应用场景 |
|---|---|---|---|
| tiny.en | 75 MiB | 仅英语 | 嵌入式设备、实时语音控制 |
| base | 142 MiB | 多语言 | 移动端 App、语音助手 |
| small.en | 466 MiB | 仅英语 | 桌面软件、客服质检 |
| medium | 1.5 GiB | 多语言 | 会议记录、视频字幕 |
| large-v3-turbo | 1.5 GiB | 多语言 | 影视翻译、学术演讲转录 |
| large-v3-q5_0 | 1.1 GiB | 多语言 | 服务器级部署、高精度需求 |
所有模型可通过 models/download-ggml-model.sh 脚本一键获取,例如下载 base 模型。
我们在 Intel i7-12700K CPU 平台上,使用 examples/bench/bench.cpp 工具对各模型进行了标准化测试,每组测试包含 10 轮 10 秒语音片段转录,取平均值作为结果。
| 模型 | 转录速度(实时倍数) | 单词错误率 (WER) | 首次响应延迟 |
|---|---|---|---|
| tiny.en | 12.8x | 18.7% | 83ms |
| base | 6.5x | 11.2% | 145ms |
| small.en | 2.3x | 6.4% | 320ms |
| medium | 0.9x | 3.8% | 890ms |
| large-v3-turbo | 0.5x | 2.1% | 1560ms |
测试环境:4 线程 CPU 模式,禁用 GPU 加速,语音样本取自 tests/run-tests.sh 中的标准数据集
在智能音箱、车载系统等需要即时反馈的场景,tiny.en和base模型表现最佳。这两个模型能以 6 倍以上实时速度运行,配合 examples/stream/stream.cpp 的流式处理模式,可实现'说完即显'的用户体验。
实时语音转写示例命令:
对于服务器级的离线转录任务,medium和large-v3-turbo是理想选择。通过 examples/server/server.cpp 启动 HTTP 服务,可实现多任务队列处理,配合 GPU 加速(需启用 -fa参数)能显著提升吞吐量。
在 Android 平台,推荐使用 examples/whisper.android 项目模板,该方案已针对 ARM 架构优化。实测表明,在骁龙 888 设备上,small.en模型可达到 1.2x 实时速度,而base模型能维持 3.5x 实时速度运行。
whisper.cpp 提供了开箱即用的命令行工具,以 examples/cli/cli.cpp 为例,处理音频文件仅需:
# 基础转录(输出文本)
./examples/cli/whisper-cli -m models/ggml-medium.bin -f samples/jfk.wav
# 高级选项(输出 SRT 字幕 + 指定语言)
./examples/cli/whisper-cli -m models/ggml-large-v3.bin \
-f meeting.wav -l zh -osrt -of meeting_subtitles
上下文控制:长音频处理时,通过 --max-context限制上下文窗口可减少内存占用:
./examples/cli/whisper-cli --max-context 512 ...
线程调优:根据 CPU 核心数调整线程数,最佳实践是物理核心数的 1.5 倍,通过 -t参数设置:
./examples/cli/whisper-cli -t 6 ... # 6 线程适用于 4 核 8 线程 CPU
量化处理:使用 examples/quantize/quantize.cpp 工具可将 large 模型压缩 40% 而精度损失<1%:
./examples/quantize/quantize models/ggml-large-v3.bin models/ggml-large-v3-q5_0.bin q5_0
whisper.cpp 社区持续优化模型性能,即将发布的 v1.6 版本将带来:

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
使用加密算法(如AES、TripleDES、Rabbit或RC4)加密和解密文本明文。 在线工具,加密/解密文本在线工具,online
生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online
基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online