当前位置:AIGC资讯 > AIGC > 正文

whisper、whisper.cpp、faster-whisper的比较

让我们比较一下当前的whisper、whisper.cpp和faster-whisper。

OpenAI / Whisper 自发布以来,似乎在各个方面都发生了变化,例如在 2022 年 12 月增加了 large-v2 模型和各种版本升级。

whisper.cpp是用 CPU 的 C/C++ 编写的。 它似乎是Core ML支持,所以它对于Mac用户有强烈的感觉。

而 faster-whisper是基于 CTranslate2 重写了 Whisper 模型,似乎它的速度比原版的快 4 倍,精度也相同,并且使用的内存更少。

以下是测试音频 (WAV)(48 秒)的测试示例。

结果

Faster-whisper 的 GPU 和传闻中的一样快。
Faster-whisper CPU运算速度更快,GPU的速度也从85.62秒→23.9秒加快。
whisper.cpp 效果反而不是很好。 可能真正的价值体现在支持Mac CoreML加速上。

Implementation Device Time 结果 openai/whisper CPU 3分1秒 上午和今天的东京股市,日经平均指数小幅走高,收于11.72日元,比昨天上涨22.72日元。 是088.58日元,最初价格上涨的股票数量为1146只,而下跌的股票数量为368只,保持不变的股票数量为104只股票,以下是礼物的公告: 在这个节目中,将抽签选出10人来接收每月出版的月报4月号,申请在东京通过电话03-0107-837303-0107-8373 openai/whisper GPU 23.9秒 上午和今天的东京股市,日经平均指数小幅走高,收于11.72日元,比昨天上涨22.72日元。 是088.58日元,最初价格上涨的股票数量为1146只,而下跌的股票数量为368只,保持不变的股票数量为104只股票,以下是礼物的公告: 在这个节目中,将抽签选出10人来接收每月出版的月报4月号,申请在东京通过电话03-0107-837303-0107-8373 whisper.cpp CPU 7分13秒 上午和今天的东京股市,日经平均指数小幅走高,收于11.72日元,比昨天上涨22.72日元。 是088.58日元,最初价格上涨的股票数量为1146只,但价格下跌了368只,104只股票保持不变,这是礼物公告该计划将通过抽签将月度报告4月号赠送给10人申请,请致电东京03-0107-8373,03-0107-8373 faster-whisper CPU(Float32) 4分 18秒 我是浅野智美 今天东京股市的日经平均指数略高 收盘价为11,088.58日元,比昨天上涨22.72日元 最初价格上涨的股票数量为1146只,而价格下跌的股票数量为368只股票保持不变 104只股票 以下是礼物的公告: 在本节目中,出版了月度报告4月号。 我们将通过抽签将其赠送给 10 人 申请,请致电东京 03-0107-8373 03-0107-8373 以上是该计划的公告 faster-whisper CPU(int8) 2分 27秒 我是浅野智美 今天东京股市的日经平均指数略高 收盘价为11,088.58日元,比昨天上涨22.72日元 最初价格上涨的股票数量为1146只,而价格下跌的股票数量为368只股票保持不变 104只股票 以下是礼物的公告: 在本节目中,出版了月度报告4月号。 我们将通过抽签将其赠送给 10 人 申请时,请致电东京0301078373 0301078373 以上是该计划的公告。 faster-whisper GPU(Float16) 5.22 秒 我是浅野智美 今天东京股市的日经平均指数略高 收盘价为11,088.58日元,比昨天上涨22.72日元 最初价格上涨的股票数量为1146只,而价格下跌的股票数量为368只股票保持不变 104只股票 以下是礼物的公告: 在本节目中,出版了月度报告4月号。 我们将通过抽签将其赠送给 10 人 申请,请致电东京 03-0107-8373 03-0107-8373 以上是该计划的公告 faster-whisper GPU(int8_float16) 4.73 秒 我是浅野智美 今天东京股市的日经平均指数略高 收盘价为11,088.58日元,比昨天上涨22.72日元 最初价格上涨的股票数量为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]))

更新时间 2024-04-04