✔️
whisper、whisper.cpp、faster-whisperの比較
現状のwhisper、whisper.cpp、faster-whiperを比較してみたいと思います。
openai/whisperに、2022年12月にlarge-v2モデルが追加されたり、色々バージョンアップしていたりと公開からいろいろと進化しているようです。
CPU向けにC/C++で書かれたバージョンです。Core ML supportだそうですので、Mac向け感が強いです。
CTranslate2でWhisperモデルの書き直して、オリジナルと同等の精度で4倍速く、メモリ使用量も少ないそうです。
以降、すべてGoogle Colabで実行しています。
サンプルは、アナウンスの音声(WAV)の場合(48秒)を試しました。
結果
faster-whisperのGPUは噂通り爆速でした。
本家whisperはCPUが速いです。GPUでも初期に比べて85.62s → 23.9sに高速化してます。
whisper.cppはいまいちでした。Macでこそ真価が発揮されると思われます。
Implementation | device | Time | 結果 |
---|---|---|---|
openai/whisper | cpu | 3min 1s | 朝のともみです今日の東京株式市場で日経平均株価は小幅促進となっています終わり値は昨日に比べ22円72銭高の11,088円58銭でした当初一部の値上がり銘柄数は1146対して値下がりは368変わらずは104銘柄となっていますここでプレゼントのお知らせですこの番組では毎月発行のマンスリーレポート4月号を抽選で10名様にプレゼントいたしますお申し込みはお電話で東京03-0107-837303-0107-8373まで以上番組からのお知らせでした |
openai/whisper | gpu | 23.9s | 朝のともみです今日の東京株式市場で日経平均株価は小幅促進となっています終わり値は昨日に比べ22円72銭高の11,088円58銭でした当初一部の値上がり銘柄数は1146対して値下がりは368変わらずは104銘柄となっていますここでプレゼントのお知らせですこの番組では毎月発行のマンスリーレポート4月号を抽選で10名様にプレゼントいたしますお申し込みはお電話で東京03-0107-837303-0107-8373まで以上番組からのお知らせでした |
whisper.cpp | cpu | 7min 13s | 朝のともみです今日の東京株式市場で日経平均株価は小幅促進となっています終わり値は昨日に比べ22円72銭高の11,088円58銭でした当初一部の値上がり銘柄数は1146対して値下がりは368変わらずは104銘柄となっていますここでプレゼントのお知らせですこの番組では毎月発行のマンスリーレポート4月号を抽選で10名様にプレゼントいたしますお申し込みはお電話で東京03-0107-8373、03-0107-8373まで以上番組からのお知らせでした |
faster-whisper | cpu(float32) | 4min 18s | 浅野ともみです 今日の東京株式市場で日経平均株価は小幅促進となっています 終わり値は昨日に比べ22円72銭高の11,088円58銭でした 当初一部の値上がり銘柄数は1146 対して値下がりは368 変わらずは104銘柄となっています ここでプレゼントのお知らせですこの番組では毎月発行のマンスリーレポート4月号を 抽選で10名様にプレゼントいたします お申し込みはお電話で東京03-0107-8373 03-0107-8373まで 以上番組からのお知らせでした |
faster-whisper | cpu(int8) | 2min 27s | 浅野ともみです 今日の東京株式市場で日経平均株価は小幅促進となっています 終わり値は昨日に比べ22円72銭高の11,088円58銭でした 当初一部の値上がり銘柄数は1146 対して値下がりは368 変わらずは104銘柄となっています ここでプレゼントのお知らせですこの番組では毎月発行のマンスリーレポート4月号を 抽選で10名様にプレゼントいたします お申し込みはお電話で東京0301078373 0301078373まで 以上番組からのお知らせでした |
faster-whisper | gpu(float16) | 5.22 s | 浅野ともみです 今日の東京株式市場で日経平均株価は小幅促進となっています 終わり値は昨日に比べ22円72銭高の11,088円58銭でした 当初一部の値上がり銘柄数は1146 対して値下がりは368 変わらずは104銘柄となっています ここでプレゼントのお知らせですこの番組では毎月発行のマンスリーレポート4月号を 抽選で10名様にプレゼントいたします お申し込みはお電話で東京03-0107-8373 03-0107-8373まで 以上番組からのお知らせでした |
faster-whisper | gpu(int8_float16) | 4.73 s | 浅野ともみです 今日の東京株式市場で日経平均株価は小幅促進となっています 終わり値は昨日に比べ22円72銭高の11,088円58銭でした 当初一部の値上がり銘柄数は1146 対して値下がりは368 変わらずは104銘柄となっています ここでプレゼントのお知らせですこの番組では毎月発行のマンスリーレポート4月号を 抽選で10名様にプレゼントいたします お申し込みはお電話で東京0301078373 0301078373まで 以上番組からのお知らせでした |
whisper
インストール
!pip install -U openai-whisper
モデル読込
import whisper
model = whisper.load_model("large", device="cpu")
実行
%%time
result = model.transcribe("sampleTokyo.WAV")
print(result["text"])
whisper.cpp
インストール
!git clone https://github.com/ggerganov/whisper.cpp.git
%cd whisper.cpp
!bash ./models/download-ggml-model.sh large
!make
16kHzのWAVに変換
!ffmpeg -i ../sampleTokyo.WAV -ar 16000 sampleTokyo.wav
実行
%%time
!./main -f ./sampleTokyo.wav -nt -l ja -m models/ggml-large.bin
Faster Whisper
インストール
!pip install faster-whisper
モデル読込
from faster_whisper import WhisperModel
model_size = "large-v2"
model = WhisperModel(model_size, device="cpu", compute_type="float32")
#model = WhisperModel(model_size, device="cpu", compute_type="int8")
#model = WhisperModel(model_size, device="cuda", compute_type="float16")
#model = WhisperModel(model_size, device="cuda", compute_type="int8_float16")
%%time
segments, info = model.transcribe("sampleTokyo.WAV", beam_size=5, language='ja')
results = list(segments)
print(' '.join([result.text for result in results]))
Discussion