はじめに
OpenAI WhisperをGoogle Colab(無料版)のGPUを使って実行すると、Macbook Pro M1 (8 core)と比較してどの程度速くなるのか確認してみました。Macbook Pro M1の結果は、以前投稿したこちらの記事をご参照下さい。
Google Colab(無料版)の注意事項などについては、Google Colabのよくある質問にまとまっています。リソースは保証型ではなく、無制限でもありません。使用量の上限が状況におうじて変動します。
との記載があります。よって、この記事の結果は、測定した時の結果に過ぎず、同じ結果が得られる保証はない、ということをご理解下さい。
結果は、3分26秒のオーディオファイルをモデル large-v2を使って計測すると約5倍速いという結果になりました。
Google Colab GPU T4だと1分51秒でした。Macbook Pro M1では、large-v2で9分55秒かかったので、1/5の時間で実行できたことになります。
GPUのすごいを実感した検証結果となりました。ローカルにGPUの実行環境を用意する手間を考えると、メリットだけではないと思いますが、Google Colab環境での実行であれば10分程度でサクッと実行できるようになります。
利用した環境
- Google Colaboratory with GPU T4ランタイム
環境準備
Google Colabを開く
GitHubにサンプルを用意したので開いて下さい。GPU T4のランタイムに接続する前提で開きます。
Google Driveにファイルを保存
Google Driveを開き、マイドライブの下に適当なディレクトリを用意します。ここでは、whisp1/smallの下にaudioファイルをアップロードしました。
Whisperのインストール
Google Colabでは !コマンド
にてLinuxコマンドが実行できます。
!pip3 install -U openai-whisper
!sudo apt update && sudo apt install ffmpeg
Google ColabランタイムからGoogle Driveをマウント
Google ColabランタイムからGoogle Driveをマウントします。
Connect to Google Drive(もしくは日本語表示されたボタン)をクリックします。
!ls /content/drive/MyDrive
にてアップロードしたファイルにアクセスできることを確認して下さい。
Whisperの実行
whisper実行コマンドは下記のようになります。ファイル名とパスは適宜修正して下さい。実行時の現在ディレクトリに結果が出力されます。
!whisper /content/drive/MyDrive/whisp1/small/audio1454496418.m4a --language Japanese --device cuda --model small
処理時間の計測結果
下記のようにlanguage optionで言語を指定し、さらにmodel optionでモデルを指定しています。前後にdate
を入れることで処理時間を測定しました。
Google Colabは共有リソースの構成だと思います。リソース利用状況などによって、処理時間にばらつきが出ることがあると思いますが、概算比較でどの程度速くなるのか、を確認できれば十分と考えていますので、一度ずつしか測定していません。
CPUでの処理実行コマンド
!date; whisper audio1454496418.m4a --language Japanese --model small; date
CPUでの処理結果
ファイル種別 | ファイルサイズ | audio/movie尺 | モデル | 処理時間 |
---|---|---|---|---|
audio (m4a) | 3.3MB | 3分26秒 | small | 0分56秒 |
GPUでの処理実行コマンド
!date; whisper /content/drive/MyDrive/whisp1/small/audio1454496418.m4a --language Japanese --device cuda --model small; date
GPUでの処理結果
ファイル種別 | ファイルサイズ | audio/movie尺 | モデル | 処理時間 |
---|---|---|---|---|
audio (m4a) | 3.3MB | 3分26秒 | small | 0分32秒 |
audio (m4a) | 3.3MB | 3分26秒 | medium | 1分20秒 |
audio (m4a) | 3.3MB | 3分26秒 | large-v2 | 1分51秒 |