在 Mac 上该跑哪个 Whisper 模型?
请运行 Large V3 Turbo Q5。在我们的测试中,它在六个 Whisper 模型里并列准确率最高(与最好的相差不超过 13 个词,总共 6,086 个词),也是这一组里下载最小的,为 574 MB,在 Apple M1 Max 上运行速度是实时速度的 12 倍。
macOS 13+(Apple Silicon)· 无订阅
最后审阅:
本指南针对 Mac。Windows 请见在 Windows 上运行 Whisper。
答案
选 Large V3 Turbo Q5
它在六个 Whisper 模型里并列准确率最高,也是并列那一组中下载最小的。
- 4 个并列模型,准确率相当
- 574 MB下载大小(应用里为 547 MB)
- 12倍实时速度
与最好的相差不超过 13 个词,总共 6,086 个词。一小时的音频在 Apple M1 Max 上大约需要五分钟。这里的大小是实测的文件大小,按十进制单位计;应用把同一个文件标为 547 MB。英语之外有几种语言不同:Whisper 在 29 种语言中的准确率。
并列
更大的模型代价更高,却没有回报
在相差 13 个词以内的同样准确率下,下载量是它的 5.4 倍,耗时是它的 1.6 倍。
并列模型中最大的是 3.1 GB 的 Large V3。再往小选就要付出真实的准确率代价:Small 比最好的多错 75 个,Tiny 的错误数是最好者的 3 倍。
真正的差别
差别真实存在的地方
Tiny 的错误数是最好者的 3 倍:418 对 141。
这是另一类逐字稿,而不是稍差一点。如果只是想用一个小下载快速做出粗略、可搜索的记录,它仍然够用;如果逐字稿本身就是正式记录,它就是错误的选择。
并列组之外的模型
- Small:3.55%,比最好的多错 75 个;运行速度为实时的 35 倍,Large V3 Turbo Q5 为实时的 12 倍,大小 488 MB
- Tiny:6.87%,比最好的多错 277 个;运行速度为实时的 89 倍,Large V3 Turbo Q5 为实时的 12 倍,大小 78 MB
更小的文件
文件更小,会损失准确率吗?
我们没能测出来。
- Large V3 Turbo Q5 对 Large V3 Turbo:574 MB 对 1.6 GB(体积约为 1/2.8),在 6,086 个词中多错 4 个(154 对 150)
- Large V3 Q5 对 Large V3:1.1 GB 对 3.1 GB(体积约为 1/2.9),在 6,086 个词中少错 2 个(141 对 143)
这是让你在自己的音频上测试量化的理由,而不是一条普遍规律。
没有测试的内容
这次测试没能告诉你的事
LibriSpeech test-clean 是最简单的情形:朗读的有声书语音。
- 没有会议或电话
- 没有多人同时说话或噪音
- 没有别的 Mac:只有 Apple M1 Max
- 没有说话人标注
真实的会议更难,每个数字在会议上都会更差:这是一个下限,而不是对你下一次站会的承诺。在某些语言里,模型还可能在一个长文件上提前停下却仍报告成功:Whisper 提前停下的情况。
数据
完整的表格以及如何复现
每个模型的错误数、速度和下载大小,以及方法,点一下就能看到。
完整结果表
Lesskeys 提供的 Whisper 模型中,有六个跑了同样的 300 条语句(37 分钟音频)。语句来自 LibriSpeech test-clean,这是一个标准的公开基准集,自带人工逐字稿。我们对照这些逐字稿计算词错误率,为每次运行计时,并记录下载大小。错误越少越好;横条按其所在列的最大值成比例绘制。
六个 Whisper 模型在 LibriSpeech test-clean 的 6,086 个词上的表现(Apple M1 Max)
| 模型 | 词错误率 | 错误数 | 速度 | 下载 |
|---|---|---|---|---|
| Large V3 Q5 ● | 2.32% | 141 / 6,086 个词 | 7 倍实时速度 | 1.1 GB |
| Large V3 ● | 2.35% | 143 / 6,086 个词 | 7 倍实时速度 | 3.1 GB |
| Large V3 Turbo ● | 2.46% | 150 / 6,086 个词 | 12 倍实时速度 | 1.6 GB |
| Large V3 Turbo Q5 模型 ● | 2.53% | 154 / 6,086 个词 | 12 倍实时速度 | 574 MB |
| Small | 3.55% | 216 / 6,086 个词 | 35 倍实时速度 | 488 MB |
| Tiny | 6.87% | 418 / 6,086 个词 | 89 倍实时速度 | 78 MB |
在 Apple M1 Max 上用 whisper.cpp 测得,启用 Metal GPU 和 flash attention,使用 whisper.cpp 默认设置(束宽 5),语言强制为 en,8 个线程。● 标出我们视为并列最好的模型。“89 倍实时速度”表示一小时的音频大约 1 分钟就能转写完。此表中的大小是实测的文件大小,按十进制单位计,所以与应用里和其他页面上的标注不同:Large V3 Turbo Q5 的 574 MB 文件在那里是 547 MB,Small 是 466 MB(这里是 488 MB),Tiny 是 75 MB(这里是 78 MB),Large V3 Q5 是 1.0 GB,Large V3 是 3 GB。
前 4 个模型真的并列吗?
Large V3 Q5、Large V3、Large V3 Turbo 和 Large V3 Turbo Q5 在 6,086 个参考词上彼此相差不超过 13 个词。这是测量的噪声底线,而不是差别。我们把与最好者相差不超过 0.5 个百分点的模型都视为并列,因为排名上的噪声会让本页看起来更有定论,却更不真实。
如何复现这次基准测试
数据集是公开的(OpenSLR),模型是标准的 ggml 版 Whisper,测试脚本是一个单独的 Python 文件。样本是确定性选取的(按语句 ID 排序、等间隔取样、没有随机种子),所以独立运行时会选中同样的语句。
值得检查的是评分用的规范化程序,因为没有它,词错误率就毫无意义。我们的程序会忽略属于格式而非识别的差异(大小写、标点、连字符、23 对 twenty three、Mr. 对 mister),同时仍会统计每一个真正的替换、删除和插入。它由十一个测试用例锁定,其中包括断言真正的错误不会被规范化抹掉的用例。没有这一步,模型就会因为标点风格而不是准确率受罚。
速度数字来自同一台机器;换一款 Apple Silicon 芯片结果会不同:先后顺序应当不变,绝对数值则不会。这里只测量转写模型,不含说话人标注,那是另一个有自己错误率的独立环节。
问题
关于如何选择 Whisper 模型的问题
我的 Mac 该用哪个 Whisper 模型?
Large V3 Turbo Q5。在这次基准测试中,4 个大型变体在 6,086 个词上彼此相差不超过 13 个词,所以准确率并列;其中 Large V3 Turbo Q5 的下载最小,为 574 MB,运行速度是实时速度的 12 倍。
最大的 Whisper 模型就是最准的吗?
测不出来。Large V3 有 3.1 GB,下载量是 Large V3 Turbo Q5 的 5.4 倍,在 6,086 个词上与它相差不超过 13 个词,而耗时是它的 1.6 倍。
量化后的 Whisper 模型会更差吗?
在这里测不出来。Large V3 Turbo Q5 的体积只有 Large V3 Turbo 的 1/2.8,在 6,086 个词中只多错了 4 个。这在本次测量的噪声范围之内,所以它是一个让你在自己的音频上测试量化的理由,而不是量化绝不影响准确率的保证。
哪个 Whisper 转写应用最好?
没有哪个基准测试能评出冠军。排名靠前的 4 个模型在 6,086 个词上彼此相差不超过 13 个词,所以底层的模型几乎决定不了什么。真正拉开应用差距的,是它们是否在设备上运行、能否转写现有录音,以及能否标注是谁在说话。
更多