Whisper: 通用语音识别模型详解
概述
Whisper 是一个基于 Transformer 序列到序列模型的通用语音识别系统,经过训练可以执行多语种语音识别、语音翻译和语言识别任务。本文将深入介绍 Whisper 的工作原理、设置方法、可用模型及其性能评估。
方法
Whisper 使用 Transformer 序列到序列模型,同时支持多语种语音识别、语音翻译、语种识别和语音活动检测等任务。这些任务被联合表示为解码器需要预测的一系列标记,使得单个模型可以替代传统语音处理流水线的多个阶段。多任务训练格式使用一组特殊的标记作为任务标识符或分类目标。
设置
我们使用 Python 3.9.9 和 PyTorch 1.10.1 对模型进行训练和测试,但代码库预计与 Python 3.8-3.11 和最近的 PyTorch 版本兼容。依赖于一些 Python 包,尤其是 OpenAI 的 tiktoken 用于快速的分词器实现。您可以通过以下命令下载安装或更新到最新版本的 Whisper:
pip install -U openai-whisper
如果需要安装到最新的提交版本,请使用以下命令:
pip install --upgrade --no-deps --force-reinstall git+https://github.com/openai/whisper.git
此外,Whisper 还依赖于命令行工具 ffmpeg,您可以通过以下方式在不同平台上安装:
# Ubuntu 或 Debian
sudo apt update && sudo apt install ffmpeg
# Arch Linux
sudo pa