【更新】バージョンアップ&辞書モデルがlarge-v3に更新されました
解説によると以下のような感じです。large-v3
は、以前のlarge-v2
モデルに比べて、いくつかの改善点があり、特に様々な言語におけるパフォーマンスが向上しました。更新により、Common Voice 15とFleursデータセットで60%以下のエラー率を示す言語について、large-v2
モデルと比較してエラーが10%から20%減少しました。
これにより、より精度の高い音声認識が可能になっています。
自分はプログラム素人なので、ワンパターンですがWindowsメニュー右クリックでPowershellから以下のコマンドを打ってアップデートしました。辞書モデルもlarge-v3を指定すればダウンロードされます。(辞書モデルはlarge-v2もlarge-v3も同じく3GBあります。)
pip install git+https://github.com/openai/whisper.git
AI音声認識Whisperを最高性能のラージモデルで使ってみました
ChatGPTでも知られているOpenAIが、2022年に開発発表したAI音声認識「Whisper」です。
自分のPCにインストールしてスタンドアロン環境で使っています。
これはクラウドサービスではないので、こちらのファイルの中身の情報をネット空間に送信せずに作業できます。
自分のパソコンなので利用に課金されません。(最初から口座情報の紐付けがない。)
私は以前、大手メーカーの議事録制作支援システムのPR業務に関わったことがあるので、日本語認識率で高性能を謳うこのAIには興味があります。
OpenAI:Introducing Whisper
https://openai.com/blog/whisper/
翻訳も同時に出来る!
私が気づいてなかっただけかも知れませんが、選んだ言語に翻訳してテキスト化されます。
テスト中に言語を間違って選択したら、日本語ビデオが英語テキストに翻訳されています。
これは期待してなかった使い方で凄いと思います。
文字起こしの作業の流れ
今回のWhisperはネット接続無しでも自分のPCでスタンドアロンで動作します。
音声ファイルや動画ファイルから音声を聞き取って(データ的に読み取って)、テキストデータに出力します。
- 文字起こしをしたい元の音声または動画のファイル(.wav, .mp3, mp4)などを用意します。
- Whisperにコマンドを打って実行します。(後述)
- 読み取りが終わると自動的に各種テキストファイルを出力します。(後述)
どれぐらい正確?
OpenAIによると、最も正確に聞き取れる言語から順番に書くと、スペイン語、イタリア語、英語、ポルトガル語、ドイツ語、(日本語、ロシア語)の順番で、日本語で約94%の正確さです。
ファイルの音声を聞き取るというか正確には「読み取り」です。
なので実際の音声よりも早い再生速度で変換していきます。
英語音声の聞き取り(読み取り)では、セミナーの演者に割り込む参加者の声などはキャンセルして本題だけを文字にしました。
悪条件では試していないのですが、とにかく正確なので、どんな音声でも上位だと思います。
上記でも書いたように、私は日本の議事録制作支援システムを見たことがあるのですが、簡易なフリーソフトやYoutube自動字幕などは6割から8割くらいの成績だそうです。
8割以上から精度を上げていくのは困難で、95%の単語認識率であれば、議事録やマスコミの字幕水準と言われてます。
AIが2022年から一般に公開され始めたので、今後は前提条件が大きく変わると思います。
どれぐらい早くテキストにできる?
言語モデルのサイズ(≒精度)と文字起こしの速度がトレードオフです。
最高精度のLargeモデルを1倍速とすると、最も軽いTinyモデルで32倍速です。
自分の環境では、最高精度のLargeモデルで10分間の映像が4分ほどで完了してました。
最も軽いTinyモデルでは8秒程度で完了する計算になります。
あとはパソコンの性能に依存します。
Whisperのシステム要件(環境の前提条件)
- OS(Windows, macOS, Linux)
- Python
- PyTorch
- FFmpeg
- GPU(Nvidia)ラージモデルでVRAM10GB以上、ミドルモデルで5GB以上
OS(ソフトウエア)
私はWindows10で最高性能のラージモデル(後述)で使っています。2023年7月時点。
Python(ソフトウエア)
Pythonは、自分のパソコンでWhisperのようなAIを使うためにインストールが必要です。
私はエンジニアではないので詳しくないですが、プログラム言語環境だと思います。
自分がインストールした時のタイミングで、現在Pythonバージョン3.10を使っていますが、Whisper開発時のもっと古いバージョンでも動きます。
PyTorch(ソフトウエア)
PyTorchは機械学習に関わるソフトウェア環境で、自分のパソコンで各種AIを使うならほぼ必ずインストールが必要になります。
今回の「Whisper」はGPU(Nvidiaのビデオカード)版PyTorchの利用が前提となっています。(後述)
そのため、CPU版のPyTorchは選べないので、GPU版のPyTorchをインストールします。
一旦インストールした後は、自動的にソフトが連携して使うので、自分がスタートメニューから使うこともない存在です。
FFmpeg(ソフトウエア)
FFmpegは、動画・音声ファイルの処理する時には、よく使われています。
自分は他のソフトでもFFmpegを要求するのでインストールしています。
一旦インストールした後は、自動的にソフトが連携して使うので、自分がスタートメニューから使うこともない存在です。
GPU(Nvidia)(ハードウェア)
上記「PyTorch」で書いた通り、今回の「Whisper」はGPU(Nvidiaのビデオカード)版PyTorchの利用が前提となっています。
ノートPCでもデスクトップでも同じく、上記のハードウェアが付いていることが要求されます。
GPUは、ノートでもデスクトップでも後から増設できる可能性があります。
デスクトップにGPUを追加するには、GPUカードの選定と購入以外にも、取り付けるパソコンのマザーボードや電源やケースの大きさなどがマッチする前提条件があります。
ノートパソコンにGPUを追加する方法は、専門的かつ非効率な方法なので一般的ではありません。
1台デスクトップを買ったほうが結局安く時間も早く済むと思います。
パソコンのメモリには大きく2種類あって、メインメモリとビデオメモリの2つに大別されます。
どちらも現在はギガバイト単位の容量で搭載されています。
これはMacもWindowsもLinuxもすべて同じ条件です。
AI学習ではGPUメモリを多く必要とするので、従来のビジネス用パソコンとは構成が変わってくるかもしれません。
私が使っているGPUカードは以下です。
ゲームなどは一切しないのですが、VRAMが12GBあるので映像編集で有利と思いこれを選びました。
GeForce RTX
Whisperのインストール方法
以下(github.com)から導入します。
私はエンジニアではないので、基本的にGUI(マウスで操作する方法)しか分かりません。
しかし、ここではそれはできないので、Windows10にて、このページの「Command-line usage」以下の方法でインストールしています。
ここでの操作は自分でタイプするのではなく、コマンド部分をコピーして自分のWindowsのコマンドラインにペーストします。エンターキーで実行。
または、二番目に書いてある「Python usage」からも入れることもできます。(両方とも同じことをしている)
私はPython(パイソン)の環境には詳しくないので、Pythonを使わずにWindowsコマンドラインから操作しています。
Whisperの使い方
上記ページの通り、コマンドラインで文字起こしを命令します。
読み取りたい「ファイルの場所」だけ入れ替えてください。
使っているGPUのVRAMメモリの範囲内でモデルサイズを指定します。
選択しない場合は自動的に軽いモデルが選ばれるようです。
初回だけは学習済みモデルデータがダウンロードされます。
読み取り中は、コマンドラインに1行毎にタイムと読み取った文字が表示されます。
読み取り終了すると、私の環境では「Userフォルダ直下」に以下のファイルが出力されます。
出力されるファイルは次の4種類です。
テキスト、字幕、Web、データベースなど使いやすく親切です。
- .srt
- .txt
- .tsv
- .vtt
学習モデルのサイズは辞書サイズと思って良い
Whisperは5段階の学習モデルサイズ(tinyからlargeまで)が用意されています。
サイズが大きくなるほど、精度が高くなります。
例えば、発音は正確に捉えていても文脈から正しい言葉を選ぶ精度が変わります。
結果的に校正(修正)が減るので大きなモデルで使用したいです。
Size | Parameters | English-only model | Multilingual model | Required VRAM | Relative speed |
tiny | 39 M | tiny.en | tiny | ~1 GB | ~32x |
base | 74 M | base.en | base | ~1 GB | ~16x |
small | 244 M | small.en | small | ~2 GB | ~6x |
medium | 769 M | medium.en | medium | ~5 GB | ~2x |
large | 1550 M | N/A large | large | ~10 GB | 1x |
ハードウェアの使用率
コマンドラインでエンターキーを押したら「Windowsタスクマネージャー」を開くとパソコンの状況がわかります。
GPUのVRAMが徐々に専有されてコマンドラインの窓に、1行ずつタイムと読み取った文字が表示されます。
私はモデルをラージにしたのでVRAMは搭載12GBのうち11.3~11.7GBほど消費しています。
メインRAMは24GBですが、それほど使いません(ブラウザと合わせて10GBくらい)。
GPU使用率は100%まで上昇しますので、当然GPU温度もかなり上がります。
CPU負担率は20%くらいで温度もそれなりです。
従来のアプリのインストールやクラウドとは違う点
違うと言うのは言いすぎですが、インストール方法などが普通のWindowsアプリとは違います。
前提となる技術プラットフォーム、オープンソースでユーザーの多いメジャーなものを使っています。
複数のオープンソース技術を組み合わせて1つのテーマを実現しています。
AI関連はLLMと呼ばれる学習モデルデータを拠り所にしているので、データのサイズが割と大きく何か1つパッケージをインストールすると、数GB~数十GBほど容量を使います。
ほとんどがWindowsのスタートメニューに追加されますが、ここに出てこないアプリもあります。
またアプリの場所は分かりやすいプログラムフォルダではなくて、ユーザーフォルダ内の隠しフォルダ(AppData)などに入ることが多いです。
これはAI環境が単体アプリよりもバーチャルサーバー的な要素を持つためらしいです。
個人的には複数のPython向けAIパッケージを入れることで少しずつ慣れてきました。
複数のパッケージを使ううちに何度も同じシステムに触れて慣れていくと思います。