2023年10月02日 更新

Whisperをローカル環境のGPUで実行するためにWindowsPCにCUDAを導入したときのメモ

どうも、クラゲジュニアです。

Whisperは動画ファイルや音声ファイルから精度の高い文字列の書き起こしができるOpenAIによるオープンソースで、GitHubに挙がっています。

今回は、WhisperをWindows11 PCのGPUで実行するためのメモです。クラゲジュニアはAnacondaの仮想環境を使って構築しました。主に4つのソフトウェアが必要になります。

[TOC]

FFmpeg導入

FFmpegは動画と音声を記録・変換・再生するためのフリーソフトウェアです。Whisperを使う際には必須となります。インストール方法の詳細は以下を参照してください。

動画と音声を記録・変換・再生するためのフリーソフトウェアFFmpegをWindowsに導入する方法

CUDA導入

CUDAはNVIDIAが開発・提供している、GPU向けの汎用並列コンピューティングプラットフォームです。

インストール

ここで注意なのが、最後に導入するPyTorchが対応しているCUDAのバージョンには縛りがある点です。以下のサイトで確認しましょう。

https://pytorch.org/get-started/locally/

2023年9月21日現在の場合、PyTorchのStable版を使いたいのでCUDA 11.8を使うこととします。以下のサイトからアーカイブをダウンロードできます。

https://developer.nvidia.com/cuda-toolkit-archive

インストーラーを起動すると色々と選択肢が現れますが、クラゲジュニアは、全てデフォルトや推奨を選びました。最後に表示されるGeForce Experienceもインストールし、NVIDIAアカウントを作成しました。メールアドレスと生年月日のみ入力でした。

動作確認

Windowsのコマンドプロンプトで以下のコマンドで確認できます。

nvcc -V

このような表示がでればOK

cuDNN導入

cuDNNは、NVIDIA CUDA ツールキット上で動作するディープラーニング・ライブラリです。

ダウンロード

以下のページからDownload cuDNNをダウンロードできますが、NVIDIAアカウントでログインした後に、NVIDIA Developer Program Membershipに登録する必要があります。その際、名前や職業などを聞かれます。

https://developer.nvidia.com/cudnn

CUDA 11.xの方を選びました。

Local Installer for Windows(Zip)を選びました。

フォルダを指定場所へ配置

展開してダウンロードした以下のフォルダをCUDA\v11.8の中に移動します。

  • bin
  • include
  • lib

CUDA\v11.8の中に同じフォルダがありますが、同じファイルは無いため上書きにはなりません。そのままドラッグ&ドロップできました。

環境パスの設定

普通に環境パスを開くとシステム環境変数が編集できないため、管理者権限で環境変数を開きます。

キーボードのショートカットWindows + X からターミナル(管理者)を開きます。PowerShellが起動されるので、以下のコマンドを実行します。

Start C:\Windows\system32\rundll32.exe sysdm.cpl, EditEnvironmentVariables

自分の環境に合わせてシステム環境変数に新規追加します。

CUDNN_PATH
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v11.8

PyTorch導入

インストール

以下のサイトで自分の環境に合わせてボタンを選択し、Run this Command:からコピペしてAnacondaの仮想環境で実行します。ちなみにクラゲジュニアはAnacondaの仮想環境の中ではcondaではなくpipを使用しています。condapipは混ぜて使わないようにしましょう。

https://pytorch.org/get-started/locally/#start-locally

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

動作確認

以下のPythonファイルを作成して実行します。

import torch

print(torch.cuda.is_available())

Trueが表示されれば成功です。Falseが表示された場合はPCの再起動やPyTorchを一旦アンインストールしてもう一度インストールしてみて下さい。クラゲジュニアも最初はダメでしたが、この対策で成功しました。

pip uninstall torch

以上です。