Faster Whisperインストールガイド: 次世代音声認識技術をあなたの手に

Faster Whisperインストールガイド: 次世代音声認識技術をあなたの手に AI

「Whisperを高速化する方法は?」
「Whisperのlarge-v3をなるべく速く動かしたい」

このような場合には、Faster Whisperがオススメです。
この記事では、Faster Whisperについて解説しています。

本記事の内容

  • Faster Whisperとは?
  • Faster Whisperのシステム要件
  • Faster Whisperのインストール
  • Faster Whisperの動作確認

それでは、上記に沿って解説していきます。

Faster Whisperとは?

GitHub - SYSTRAN/faster-whisper: Faster Whisper transcription with CTranslate2
Faster Whisper transcription with CTranslate2. Contribute to SYSTRAN/faster-whisper development by creating an account on GitHub.

Faster Whisperは、OpenAIのWhisperモデルの再実装です。
CTranslate2という高速なトランスフォーマーモデル用の推論エンジンを使用しています。

この実装は、同じ精度でOpenAIのWhisperより最大4倍高速で、メモリ使用量も少なくなっています。
さらに、CPUおよびGPU上で8ビット量子化を使用することで効率を向上させることができます。

結果の比較表は、以下。

OpenAIのWhisperと比べると、GPU・CPUの使用効率が全く違いますね。
処理時間も一気に短くなっています。

これこそが、オープンソースであることの意味だと思います。
世界中の天才たちが、競って機能改善を実施してくれます。

Whisper自体については、次の記事で説明しています。

Faster Whisperのシステム要件

Faster Whisperのシステム要件は、以下だけです。

  • Python 3.8以降

ただし、GPUでFaster Whisperを利用するには以下の要件も必要になります。

  • cuBLAS for CUDA 11
  • cuDNN 8 for CUDA 11

とりあえず、CUDA 11のインストールが必要です。
CUDAのインストールは、次の記事が参考になります。

CUDAをインストールできたら、cuBLASも同時にインストール済みとなります。
つまり、CUDAの中にcuBLASが含まれているということです。

cuDNNが、cuBLASに比べると少し面倒になるかもしれません。
と言っても、ファイルをコピーするだけですけどね。

cuDNNのインストールは、次の記事で解説しています。

コピーできたら、cuDNNのインストールは完了です。
ここまで準備できたら、Faster Whisperのシステム要件はクリアと言えます。

Faster Whisperのインストール

Faster Whisperは、次のコマンドを実行するだけです。

pip install faster-whisper

上記コマンドにより、以下で確認できるライブラリがインストールされます。

> pip list
Package            Version
------------------ ----------
av                 10.0.0
certifi            2023.11.17
charset-normalizer 3.3.2
colorama           0.4.6
coloredlogs        15.0.1
ctranslate2        3.23.0
faster-whisper     0.10.0
filelock           3.13.1
flatbuffers        23.5.26
fsspec             2023.12.2
huggingface-hub    0.19.4
humanfriendly      10.0
idna               3.6
mpmath             1.3.0
numpy              1.26.2
onnxruntime        1.16.3
packaging          23.2
pip                23.3.2
protobuf           4.25.1
pyreadline3        3.4.1
PyYAML             6.0.1
requests           2.31.0
setuptools         69.0.2
sympy              1.12
tokenizers         0.15.0
tqdm               4.66.1
typing_extensions  4.9.0
urllib3            2.1.0
wheel              0.38.4

Faster Whisperの動作確認

Faster Whisperの動作確認をするために、音声ファイルを用意しましょう。
ここでは、音声合成したファイルを利用します。

上記記事の最後に「gTTS_test.mp3」というファイルがあります。
その音声ファイルは、次のテキストもとに生成されています。

過去最強クラスの台風14号が近づいてきています。
九州南部、そして北部の皆さんを中心に暴風、高波、高潮や大雨などに最大級の警戒をしてください。

利用するコードは、以下。
このコードは、公式で公開されているモノです。

from faster_whisper import WhisperModel

model_size = "large-v3"

# Run on GPU with FP16
model = WhisperModel(model_size, device="cuda", compute_type="float16")

# or run on GPU with INT8
# model = WhisperModel(model_size, device="cuda", compute_type="int8_float16")
# or run on CPU with INT8
# model = WhisperModel(model_size, device="cpu", compute_type="int8")

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

print("Detected language '%s' with probability %f" % (info.language, info.language_probability))

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

上記を実行した結果は、以下となります。

Detected language 'ja' with probability 0.998535
[0.00s -> 10.54s] 過去最強クラスの台風14号が近づいてきています 九州南部そして北部の皆さんを中心に暴風
[10.54s -> 16.12s] 高波高潮や大雨などに最大級の警戒をしてください

句読点を無視すれば、完璧です。
ちなみに、上記コードでは「large-v3」というモデルを利用しています。

これは、現時点で最も精度の高いモデルになります。
Faster Whisperでならば、そこまで強力なGPUでなくても動くはずです。

タイトルとURLをコピーしました