速语(Whisper):先进语音转文本技术

July 29, 2025

Faster Whisper:使用 CTranslate2 彻底革新语音转文本

在人工智能飞速发展的浪潮中,高效准确的语音转文本(STT)技术至关重要。SYSTRAN 的 faster-whisper 项目应运而生,它是一个强大的开源解决方案,利用 CTranslate2 推理引擎重新实现了 OpenAI 著名的 Whisper 模型。这一战略选择带来了显著的性能提升,使其成为开发者和研究人员的理想选择。

Faster Whisper 的主要优势

faster-whisper 的核心创新在于其对速度和资源管理的优化。它实现了比原始 OpenAI 实现快四倍的转录速度,同时占用的内存更少。通过 8 位量化,这种效率得到了进一步提升,该量化可用于 CPU 和 GPU,提供了可定制的性能配置。

性能基准测试:

为了展示其能力,faster-whisper 提供了详细的基准测试,将其性能与 openai/whisperwhisper.cpp 和 Hugging Face transformers 等其他实现进行了比较。这些基准测试显示了显著的改进:

  • GPU 性能: 在 GPU 上,使用 FP16 精度的 faster-whisper 比其他方案完成转录的速度明显更快。使用 INT8 量化后,性能提升更为显著,大大减少了 VRAM 的使用量。
  • CPU 性能: 即使在 CPU 上运行,faster-whisper 也提供了不俗的速度和内存效率,尤其是在利用 INT8 量化和批量处理时。

安装与设置

开始使用 faster-whisper 非常简单。主要的要求是 Python 3.9 或更高版本。与其他一些 STT 解决方案不同,无需在系统上单独安装 FFmpeg,因为音频解码由 PyAV 库处理。

GPU 要求: 对于 GPU 加速,用户需要 NVIDIA 库,例如适用于 CUDA 12 和 cuDNN 9 的 cuBLAS。项目提供了关于安装这些依赖项的清晰指南,包括针对不同 CUDA 版本的解决方法以及在 Linux 上使用 Docker 或基于 pip 的安装的建议。

通过 Pip 安装:

pip install faster-whisper
还提供更高级的安装方法,例如直接从主分支或特定提交进行安装。

用法与功能

faster-whisper 集成到您的项目中非常直观。可以使用各种模型大小(例如 large-v3)来初始化 WhisperModel 类。您可以指定执行设备(cudacpu)和计算类型(float16int8_float16int8)。

from faster_whisper import WhisperModel

model_size = "large-v3"
model = WhisperModel(model_size, device="cuda", compute_type="float16")

segments, info = model.transcribe("audio.mp3", beam_size=5)

for segment in segments:
    print(f"[%.2fs -> %.2fs] %s" % (segment.start, segment.end, segment.text))

高级功能:

  • 批量转录: 对于并发处理多个音频文件,BatchedInferencePipeline 提供了一种高效的方式来处理批量。
  • VAD 过滤器: 集成的 Silero VAD(语音活动检测)有助于过滤掉非语音片段,从而提高转录准确性并减少处理时间。此功能可以通过各种参数进行自定义。
  • 词级时间戳: 该库支持为单个单词生成精确的时间戳。
  • Distil-Whisper 兼容性: faster-whisper 可与 Distil-Whisper 模型(包括 distil-large-v3)无缝协同工作,实现更快的推理速度。

模型转换

faster-whisper 支持使用自定义或微调的 Whisper 模型。提供的脚本允许将与 Transformers 库兼容的模型转换为 CTranslate2 格式。这使得可以直接从 Hugging Face Hub 名称或本地目录加载模型。

ct2-transformers-converter --model openai/whisper-large-v3 --output_dir whisper-large-v3-ct2 \n--copy_files tokenizer.json preprocessor_config.json --quantization float16

社区与集成

faster-whisper 的生态系统充满活力,众多社区项目都利用了其能力。值得注意的集成包括:

  • speaches: 一个 OpenAI 兼容的 faster-whisper 服务器。
  • WhisperX: 用于说话人分离和精确词级时间戳的库。
  • whisper-ctranslate2: 一个镜像原始 Whisper CLI 的命令行客户端。
  • Whisper-Streaming & WhisperLive: 用于实时和近实时转录的实现。

faster-whisper 作为一种高度优化且功能强大的开源工具,脱颖而出,适合任何需要高效准确的语音转文本功能的用户。其活跃的开发和强大的社区支持确保了其持续的相关性和改进。

原创文章: 查看原文

分享本文