はじめに
今回は、 openai-whisper よりも早く動作すると言われている faster-whisper を使った文字起こしをしてみました。
前回試した openai-whisper よりも簡単に環境構築ができました。
前回の記事は下記からご覧ください。
環境
今回の環境は下記のとおりです。
なお、前回の記事と同様で NVIDIA 製の GPU が必須になります。
端末
- OS: Windows 11 Home
- CPU: 13th Gen Intel Core i7-13620H 2.40 GHz
- メモリ: 32GB
- GPU: NVIDIA GeForce RTX 4060 Laptop(VRAM:8GB)
Python 実行環境
Python は10系統のものが必要になるので、注意してくだだい。
- Python: 3.10.11
- Python バージョン管理ツール: pyenv-win(ver 3.1.1)
- Python パッケージ管理ツール: Poetry(ver 1.8.3)
Python 仮想環境の構築方法はこちらご覧ください。
環境構築(セットアップ編)
Whisper を GPU で動かすには下記のものが必要になります。
- Build Tools for Visual Studio
- CUDA Toolkit(ver.12.6)
- cuBLAS
- cuDNN Library
補足
前回の記事の openai-whisper とは異なり、 faster-whisper は FFmpeg をインストールする必要はありません。
インストール済みの場合は、そのままで特に問題ありません。
Build Tools for Visual Studio
Build Tools for Visual Studio のセットアップ方法は前回と同様です。
既にインストール済みの場合はこの手順を飛ばしてください。
インストールがまだの場合は前回の記事の Build Tools for Visual Studio の手順を実施してください。
CUDA Toolkit
今回の CUDA Toolkit のバージョンは12系統が必要になります。
記事執筆時点での最新バージョンの 12.6.3 をインストールすることにします。
ダウンロード
下記のサイトから CUDA Toolkit をダウンロードします。
CUDA Toolkit 12.6.3
をクリックします。
利用してる環境に合わせて選択していきます。
-
Operating System
はWindows
をクリックします。 -
Architecture
はx86_64
をクリックします。 -
Version
は11
をクリックします。 -
Installer Type
はexe (local)
をクリックします。 -
Download (3.0GB)
をクリックして、ダウンロードします。
インストール
ダウンロードした cuda_12.6.3_561.17_windows.exe
を実行し、任意のフォルダに解凍します。
解凍が終わるのを待ちます。
解凍が終わるとインストーラーが自動で起動します。
システムの互換性チェックが終わるのを待ちます。
前回インストールした CUDA 11.8 が既に存在するため、警告が出ます。
続行(O)
をクリックして進みます。
同意して続行する(A)
をクリックします。
インストールオプションは 高速(推奨)(E)
のまま 次へ(N)
をクリックします。
I understand, and wish to continue the installation regardless.
にチェックを入れて NEXT
をクリックします。
前回インストールした CUDA 11.8 が既に存在するため、環境変数の確認画面が表示されます。
次へ(N)
をクリックして進みます。
インストールが完了するのを待ちます。
次へ(N)
をクリックします。
チェックを外して 閉じる(C)
をクリックします。
補足
複数の CUDA Toolkit をインストールすると、複数の Path が登録されます。
Path を切り替えて使ってください。
cuBLAS
今回は cuBLAS も必要になります。
ですが、先程インストールした CUDA Toolkit に含まれているため、インストール作業などは必要ありません。
cuDNN Library
導入手順は前回とほぼ同じです。
ダウンロード
下記のサイトから cuDNN Library をダウンロードします。
Download cuDNN Library
をクリックします。
下記の順で選択していきます。
今回は CUDA Version が 12 になります。
注意してください。
-
Operating System
はWindows
をクリックします。 -
Architecture
はx86_64
をクリックします。 -
Version
はTarball
をクリックします。 -
CUDA Version
は12
をクリックします。 -
Download (472.9MB)
をクリックして、ダウンロードします。
補足
cuDNN Library はWebサイトを開いた際に表示される最新バージョンをダウンロードすれば大丈夫です。
ライブラリの展開
ダウンロードした cudnn-windows-x86_64-9.6.0.74_cuda12-archive.zip
を解凍し、下記の3つのフォルダを CUDA をインストールしたフォルダに移動させます。
対象の CUDA フォルダは v12.6
の方になります。
注意してください。
- bin
- include
- lib
※デフォルトでの CUDA のフォルダは C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.6
になります。
環境構築(Python 編)
faster-whisper を使うにあたり Python 実行環境が必要になります。
今回も pyenv-win と Poetry を利用する前提で進めています。
Python 実行環境の構築については、下記を参照してください。
新規環境構築
下記の記事を参考にし、新しく Pyhon 実行環境を構築します。
なお、 Python は3.9以上のものが必要になります。
今回も前回と同様に Python 3.10.11 を利用しました。
補足
今回作成した仮想環境のプロジェクト名はFasterWhisperExecutionEnvironment
としています。
faster-whisper のインストール
add
コマンドでインストールします。
poetry add faster-whisper
faster-whisper の実行
準備が整ったら faster-whisper を実行してみます。
今回はコマンドライン実行が出来なさそうなので、素直にスクリプトを作ります。
(コマンドライン実行する方法をご存じの方がいらっしゃったら、コメントをいただけると助かります!)
スクリプトファイルの作成
GitHub に載っているコードを少し変更して実行してます。
※ファイル名は適宜変更してください。
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("sample_voice.mp4", beam_size=5, language="ja")
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))
スクリプトの実行
スクリプトを保存したら実行してみます。
poetry run python fasterwhisperexecutionenvironment/main.py
補足
エラーが出る場合は、 CUDA の Path が反映されていない可能性があります。
その場合は、端末を再起動してみてください。
参考文献
下記のサイトを参考にさせて頂きました。