✔️

kotoba-whisperの比較

2024/11/07に公開

初めに

kotoba-whisperが話題のようなので、試してみます。
また、openai/whisperもv3、v3-turboが追加されていましたので、
kotoba-whisper、whisper、whisper.cpp、faster-whiperで比較してみます。
https://huggingface.co/kotoba-tech/kotoba-whisper-v2.0
https://github.com/openai/whisper
https://github.com/ggerganov/whisper.cpp
https://github.com/SYSTRAN/faster-whisper

結果

すべてCPUでの結果です
以前の結果と比べて、全体的に精度は上がっています。
openai/whisperのlarge-v3-turboが速度および精度で素晴らしいです。
kotoba-whisperは、欠落が目立ちます。

Implementation model Time 結果
openai/whisper large-v3 4min 12s 朝野智美です。今日の東京株式市場で日経平均株価は小幅促進となっています。終わり値は昨日に比べ22円72銭高の11,088円58銭でした。当初一部の値上がり銘柄数は1,146。対して値下がりは368。変わらずは104銘柄となっています。ここでプレゼントのお知らせです。この番組では毎月発行のマンスリーレポート4月号を抽選で10名様にプレゼントいたします。お申し込みはお電話で東京03-0107-8373、03-0107-8373まで。以上番組からのお知らせでした。
openai/whisper large-v3-turbo 2min 9s 浅野智美です。今日の東京株式市場で日経平均株価は小幅促進となっています。終わり値は昨日に比べ22円72銭高の11,088円58銭でした。当初一部の値上がり銘柄数は1,146、対して値下がりは368、変わらずは104銘柄となっています。ここでプレゼントのお知らせです。この番組では毎月発行のマンスリーレポート4月号を抽選で10名様にプレゼントいたします。お申し込みはお電話で東京03-0107-8373、03-0107-8373まで。以上番組からのお知らせでした。
whisper.cpp large-v3 7min 36s 朝野智美です。今日の東京株式市場で日経平均株価は小幅促進となっています。終わり値は昨日に比べ22円72銭高の11,088円58銭でした。当初一部の値上がり銘柄数は1,146。対して値下がりは368。変わらずは104銘柄となっています。ここでプレゼントのお知らせです。以上番組からのお知らせでした。
whisper.cpp large-v3-turbo 5min 34s 朝野智美です今日の東京株式市場で日経平均株価は小幅促進となっています終わり値は昨日に比べ22円72銭高の11,088円58銭でした当初一部の値上がり銘柄数は1146対して値下がりは368変わらずは104銘柄となっていますここでプレゼントのお知らせです以上番組からのお知らせでした
faster-whisper large-v3 float32 7min 10s 朝野智美です 今日の東京株式市場で日経平均株価は小幅促進となっています 終わり値は昨日に比べ22円72銭高の11,088円58銭でした 当初一部の値上がり銘柄数は1146 対して値下がりは368 変わらずは104銘柄となっています ここでプレゼントのお知らせです この番組では毎月発行のマンスリーレポート4月号を抽選で10名様にプレゼントいたします お申し込みはお電話で東京03-0107-8373 03-0107-8373まで 以上番組からのお知らせでした
faster-whisper large-v3 int8 3min 44s 朝野智美です 今日の東京株式市場で日経平均株価は小幅促進となっています 終わり値は昨日に比べ22円72銭高の11,088円58銭でした 当初一部の値上がり銘柄数は1146 対して値下がりは368 変わらずは104銘柄となっています ここでプレゼントのお知らせです この番組では毎月発行のマンスリーレポート4月号を抽選で10名様にプレゼントいたします お申し込みはお電話で東京03-0107-8373 03-0107-8373まで 以上番組からのお知らせでした
faster-whisper distil-large-v3 float32 2min 34s Asa Tomomimi is. Today, Tokyo, today, the new-kay-heing-cawka, a co-hava-zok-in to not it is. O'A-N-Know-E-N-2-2-7-2-0-8-1-8-1-8-1-8-1-8-1-8-1-8-4-0-0-4-0-0-4-0-0-0-4-0-0-0-0-4-0-0-0-0-0-4-0-0-0-0-0-1. Here, here, this. this month-a-a-a-month-month-a 4-gall, to present to 10-may-sama to present to us. On-mosh-comby on-o-o-o-0-1-8-373 0,0-1-3-8-37-mmmmm-3. So, the show-combe from the show-sha-of-all-you-all-all-you-all-old.
faster-whisper distil-large-v3 int8 2min 5s Asano Tomomi is. Today, Tokyo, today, the new-kay-heing-cawka, a co-hava-zok-in to not-it-one. O'A-N-C-N-2-2-7-2-0-8-1-8-1-8-1-8-1-8-1-8-1-8-0-1-4-0-0-0-4-0-0-0-4-0-0-0-4-0-0-0-4-0-0-0-4-0-0-0-4-0-0-0-0-0-ss. Here, this. This this, this month-a the month-a-a-report of the 10-may-sam to present to your phone by . 0107-8-37 3 0-1-107 837 . . . . . . . . . . . . . . . . .
kotoba-whisper kotoba-tech/kotoba-whisper-v2.0 4min 41s 今日の東京株式市場で日経平均株価は小幅続進となっています終値はきのうに比べ22円72千高の1万1088円58銭でした。対して値下がりは368回らとなっていますここでプレゼントのお知らせですこの番組では毎月発行のマンスリーレポート4月号を抽選で10名様にプレゼントいたします。103070708787-8373まで以上番組からのお知らせでした
kotoba-whisper kotoba-tech/kotoba-whisper-v2.1 4min 44s 今日の東京株式市場で、日経平均株価は小幅促進となっています。終わり値は昨日に比べ22円72銭高の1万1088円58銭でした。当初、一部の値上がり銘柄数は11466。対して、値下がりは368。変わらずは104名柄となっています。ここでプレゼントのお知らせです。この番組では、毎月発行のマンスリー・レポート4月号を抽選で10名様にプレゼントいたします。お申し込みはお電話で。東京031070707-837373030303103070708787-8373まで以上、番組からのお知らせでした。
kotoba-whisper openai/whisper-large-v3-turbo 4min 23s 浅野智美です。今日の東京株式市場で日経平均株価は小幅促進となっています。終わり値は昨日に比べ22円は1146、対して値下がりは368、変わらずは104銘柄となっていますここでプレゼントのお知らせですこの番組では毎月発行のマンスリーレポート4月号を抽選で10名様にプレゼントします東京03-0107-8373 0301-07-8373以上番組からのお知らせでした

テストコード

以下、Google Colabで実行しました

テストデータ

%%capture
%cd /content
!wget https://choimitena.com/Content/audio/sampleTokyo.WAV
!ffmpeg -i sampleTokyo.WAV -ar 16000 sampleTokyo.wav

openai/whisper

インストール

%%capture
!pip install -U openai-whisper

モデル読込

import whisper
model = whisper.load_model("large-v3", device="cpu")
#model = whisper.load_model("large-v3-turbo", device="cpu")

実行

%%time
%cd /content
result = model.transcribe("sampleTokyo.wav", language='ja')
print(result["text"])

whisper.cpp

インストール

%cd /content
!git clone https://github.com/ggerganov/whisper.cpp.git
%cd whisper.cpp
!make

モデルダウンロード

%cd /content/whisper.cpp
!bash ./models/download-ggml-model.sh large-v3
!bash ./models/download-ggml-model.sh large-v3-turbo

実行

%%time
!./main -f ../sampleTokyo.wav -nt -l ja -m models/ggml-large-v3-turbo.bin

faster-whisper

インストール

%%capture
!pip install faster-whisper

モデル作成

from faster_whisper import WhisperModel

model_size = "large-v3"
#model_size = "distil-large-v3"

model = WhisperModel(model_size, device="cpu", compute_type="int8")
#model = WhisperModel(model_size, device="cpu", compute_type="float32")

実行

%%time
%cd /content
segments, info = model.transcribe("sampleTokyo.wav", beam_size=5, language='ja')
results = list(segments)
print(' '.join([result.text for result in results]))

kotoba-whisper

インストール

%%capture
!pip install --upgrade pip
!pip install --upgrade transformers accelerate
!pip install git+https://github.com/openai/whisper.git
!pip install soundfile numpy punctuators stable-ts

音声データ読込

%cd /content
import soundfile as sf
audio_input, sample_rate = sf.read("sampleTokyo.wav")

モデル読込

import torch
from transformers import pipeline

# config
#model_id = "kotoba-tech/kotoba-whisper-v2.0"
#model_id = "kotoba-tech/kotoba-whisper-v2.1"
model_id = "openai/whisper-large-v3-turbo"
torch_dtype = torch.float16 if torch.cuda.is_available() else torch.float32
device = "cuda:0" if torch.cuda.is_available() else "cpu"
model_kwargs = {"attn_implementation": "sdpa"} if torch.cuda.is_available() else {}
generate_kwargs = {"language": "ja", "task": "transcribe"}

# load model
pipe = pipeline(
    model=model_id,
    torch_dtype=torch_dtype,
    device=device,
    model_kwargs=model_kwargs,
    batch_size=16,
    trust_remote_code=True,
)

実行

%%time
result = pipe({ 'array': audio_input, 'sampling_rate': sample_rate}, chunk_length_s=15, return_timestamps=False, generate_kwargs=generate_kwargs)
print(result['text'])

Discussion