使用 CTranslate2 实现 Faster Whisper 的加速转录
近年来,语音识别技术得到了快速发展。OpenAI 的 Whisper 模型作为其中的佼佼者,以其高精度和强大的性能广受欢迎。然而,其较长的推理时间和高内存消耗也成为了限制其应用的一大因素。为了解决这些问题,社区开发了 Faster Whisper,这是一个基于 CTranslate2 的 Whisper 模型重实现,旨在提供更快的转录速度和更低的内存消耗。
什么是 Faster Whisper?
Faster Whisper 是对 OpenAI Whisper 模型的重新实现,使用 CTranslate2 这一高效的 Transformer 模型推理引擎。与原版模型相比,Faster Whisper 在同等精度下,推理速度提高了最多四倍,同时内存消耗显著减少。通过在 CPU 和 GPU 上进行 8 位量化,其效率可以进一步提升。
基准测试对比
为了更直观地了解 Faster Whisper 的性能优势,我们来看一组基准测试数据。这些数据对比了不同实现方式在处理 13 分钟音频时的时间和内存使用情况。
Large-v2 模型在 GPU 上的性能对比
实现方式 | 精度 | Beam size | 时间 | 最大 GPU 内存 | 最大 CPU 内存 |
---|---|---|---|---|---|
openai/whisper | fp16 | 5 | 4m30s | 11325MB | 9439MB |
faster-whisper | fp16 | 5 | 54s | 4755MB | 3244MB |
faster-whisper | int8 | 5 | 59s | 3091MB | 3117MB |
Small 模型在 CPU 上的性能对比
实现方式 | 精度 | Beam size | 时间 | 最大内存 |
---|---|---|---|---|
openai/whisper | fp32 | 5 | 10m31s | 3101MB |
whisper.cpp | fp32 | 5 | 17m42s | 1581MB |
whisper.cpp | fp16 | 5 | 12m39s | 873MB |
faster-whisper | fp32 | 5 | 2m44s | 1675MB |
faster-whisper | int8 | 5 | 2m04s | 995MB |
安装和使用
安装步骤
Faster Whisper 可以通过 PyPI 直接安装:
pip