9月末にOpenAIから字起こしAIであるWhisperが公開されました。
試しに動かしてみたんですが、これがすごかったので、
導入時に試したことを少しまとめようと思います。
オープンソースで公開、MITライセンス
GoogleColaborateでも動かせますが、今回はWindows上で構築してみました。
お手軽に試すならGoogleColaborateが簡単でおススメです。
こっちもあとでまとめたいと思います。
Whisperとは?
8月末から画像生成AIの隆盛が止まらないAI界隈ですが、
9月の末頃にOpenAIからWhisperが公開されました。
Introducing Whisper
https://openai.com/blog/whisper/
openai/whisper
https://github.com/openai/whisper
音声認識で文字起こしをする字起こしAIなのですが、
オープンソースで公開されている上にMITライセンス
総学習時間68万時間(日本語7054時間)という膨大な学習量で
対応言語は99、音声からの翻訳処理や
vtt形式などの字幕データを出力するといった豪華さです。
字起こし精度は用いる学習データによって結構変わるようですが、
(tiny, base,
small, medium, largeの5段階の学習データがある)
base~small辺りの学習データでもかなりの精度で文字起こししてくれます。
昨今のStableDiffusion等と同様に、ローカル環境でも構築できるとのことで
今回は自前のWindows環境でWhisperを動かせるようにしてみました。
構築環境について
WhisperはPython環境で動作します。
PyTorch、ffmpegといった必要なプラグインが揃っていれば
Windows、Linux、Mac等のOS依存なところは特になく動かせるようです。
StableDiffusion等の画像生成AIほどメモリが必要というわけではなく
Anaconda3のインストール
今回はPython環境はAnaconda3で構築しました。
先ずはAnaconda3パッケージのインストールですね。
ANACONDA
https://www.anaconda.com/products/distribution
後はインストールが終わるまで待っていましょう。
インストールが終わったらAnaconda Promptを起動してみます。
スタートメニューから選択して起動します。
Anaonda Promptで必要なライブラリのインストール
先ずはインストールしたAnacondaのアップデートをします。
下記のコマンドをAnaconda
Promptで実行します。
アップデートファイルが見つかったときの[y/n]はyを入力しましょう。
conda update cond
conda update --all
PyTorchとffmpegですね。
conda install pytorch torchvision torchaudio cudatoolkit=11.6 -c pytorch -c conda-forge
conda install ffmpeg -c conda-forge
GPUのないPCやグラフィックボードがあってもPyTorchに未対応の場合は
下記のCPUのみのものをインストールします。
この場合、字起こしの処理は結構遅くなります。
conda install pytorch torchvision torchaudio cpuonly -c pytorch
conda install ffmpeg -c conda-forge
Conda PromptでWhisperのインストール
ようやく、Whisperのインストールです。
やり方は簡単で、下記のコマンドを実行するだけです。
pip install git+https://github.com/openai/whisper.git
これだけ!
Whisperの実行
下記のような感じでコマンドを実行します。
「--language」は言語の指定で、今回は「Japanese(日本語)」を指定しています。
「--model」の後は学習モデルの指定でtiny,base,small,medium,largeの5種類があります。
後ろに行くほど、学習モデルも大きくなり、精度もよくなりますが、
その分処理も遅くなります。
また、PCの環境によっては学習モデルが大きすぎると
メモリ量が足りずに処理に失敗してしまうケースもありますので注意してください。
whisper "動画ファイルパス" --language Japanese --model base
今回は下記のYoutube動画をmp4でダウンロードして試してみました。
学習モデルはbaseで。small以上はウチの環境だとメモリが足りない…。
試した結果はこんな感じでした。
実行後、カレントのディレクトリに出力内容のテキスト(txt形式)と
字幕データファイル(vtt形式、srt形式)も出力されていました。
試しにtinyでも試してみましたが、
こっちだと結構、文言が違う感じで出てきました。
出来るだけ大きい学習モデルを指定した方が、やはりよさそうですね。
メモリ使用量の関係でCPU版も使用してみた
「out of memory」と出てしまって、処理できませんでした。
どうやら、
tiny、baseの学習モデルは1G位あれば実行できるのですが、
smallは2G、mediumは5G、largeは10G位必要になってくるらしいです。
学習モデルが大きいほど、字起こし精度が上がるので、大きいものを使用したいですが…。
GPU版PyTorchを入れた場合に比べて、かなり時間がかかりました。
自分のPCでは2分程度の動画でsmallの学習モデルを指定したら
20分くらいかかって、やはりGPUで大分高速化してるんだな~と感じました。
ローカルでAIの環境を構築するなら、
もうちょっといいPCが欲しいなあ…。
StableDiffusionも10G位欲しいみたいだし。
感想
というわけで、Windows環境でWhisperを動かしてみました。
多少環境を求められるとはいえ、
こうやって字起こしを自身のPCで出来るのはすごいですね!
最近の画像生成AIの進化速度のすさまじさもそうですが、
こういうAI技術がバンバン出てきているので、ある程度はおさえておいて
必要な場面で活用していけるといいですよね。
仕組みもできれば理解していきたいですね。
今回はAnacondaでそのままPyTorch等インストールしてしまいましたが、
せっかくなので、Anaconda上でPythonの仮想環境を作成して
そこで構築した方がいいかもしれません。
Pythonのバージョンとかもその方が融通が利くしね。
後でGoogleColaborateの方で構築したのもまとめようと思います。
ここまで書いておいてアレなんですが、とりあえず動かしてみたいなら、
GoogleColaborateの方が簡単なのでおススメです。(2回目)
0 件のコメント:
コメントを投稿