生成AI

WindowsのPythonでGPUを使う方法【生成AI(LangChain)や機械学習(PyTorch)に必須】

*記事内に商品プロモーションを含む場合があります

Windowsで、Python用の生成AIライブラリ(LangChain/transformers)やDeep Learningライブラリ(PyTorch)などの使用時にGPUを使う方法を紹介します。

WindowsのPythonライブラリのデフォルトの状態では、GPUが使える状態になっていないので、追加のインストールが必要になります。

マシンの状態を確認

今回利用したWindowsマシン

■HP Victus 16 (2023年11月購入)
CPU:Intel Core i7-13700HX
GPU:NVIDIA GeForce RTX4060 8GB
メモリ:16GB

NVIDIA GeForceの確認

コマンドプロンプト(CMD)でドライバのバージョンとCUDAのバージョンを確認します。

nvidia-smiがない場合は、NVIDIAのドライバをダウンロードします。

いろいろなバグ修正がされているので、最新版をインストールしましょう。
性能改善が行われている場合もあります。

C:\ >nvidia-smi

「CUDA Version: 12.3 」がCUDAのバージョンです。

PyTorchのバージョンを確認

PyTorchのバージョンを確認します。

PyTorchは、Python向けのオープンソース機械学習ライブラリです。

c:\ > pip list
Package Version
———- ——–
torch    2.3.1

NVIDIAドライバ・ダウンロード&インストール

NVIDIA(GeForce)のドライバをダウンロード&インストールします。
【NVIDIA 公式 ドライバのダウンロード】

製品名はタスクマネージャーの「パフォーマンス」-「GPU」で確認可能です。

コマンドプロンプト(CMD)でドライバのバージョンとCUDAのバージョンを確認します。

C:\>nvidia-smiDriver Version: 546.92 CUDA Version: 12.3
→ インストール後
Driver Version: 555.99 CUDA Version: 12.5

重要なことは、バージョン12の部分です。

CUDA Version: 12.5

GPUが利用可能なPyTorchのインストール

【PyTorch公式】

Your OS:「Windows」

Computer Platform :「CUDA 12.1」★バージョン12の最新版を選択します。この時点では12.4はダウンロードできませんでした。

pytorch CUDA 12.1 バージョンレベルで違いがなければ動作します。
12.x ならOKです。

「Run this Comannd」の文字列をコピーして、CUDA対応のPyTorchをコマンドプロンプト(CMD)でpipを実行してインストールします。

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

#
C:\> pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121

---------------------------------
Looking in indexes: https://download.pytorch.org/whl/cu121
Requirement already satisfied: torch in c:\users\XXX\appdata\local\programs\python\python312\lib\site-packages (2.3.1)
Collecting torchvision
Downloading https://download.pytorch.org/whl/cu121/torchvision-0.18.1%2Bcu121-cp312-cp312-win_amd64.whl (5.7 MB)
Collecting torchaudio
Downloading https://download.pytorch.org/whl/cu121/torchaudio-2.3.1%2Bcu121-cp312-cp312-win_amd64.whl (4.1 MB)
:
  Downloading https://download.pytorch.org/whl/cu121/torch-2.3.1%2Bcu121-cp312-cp312-win_amd64.whl (2423.5 MB)

Requirement already satisfied: mpmath<1.4.0,>=1.1.0 in c:\users\XXX\appdata\local\programs\python\python312\lib\site-packages (from sympy->torch) (1.3.0)
Installing collected packages: torch, torchvision, torchaudio
Attempting uninstall: torch
Found existing installation: torch 2.3.1
Uninstalling torch-2.3.1:
Successfully uninstalled torch-2.3.1
Successfully installed torch-2.3.1+cu121 torchaudio-2.3.1+cu121 torchvision-0.18.1+cu121
---------------------------------

私の環境ではユーザのAppDataフォルダにインストールされました。

c:\users\XXX\appdata\local\programs\python\python312\lib\site-packages

意外とサイズが大きいです。 2.4GBをダウンロードしてインストールします。
インターネット速度に依存しますが、5分ぐらい待ちましょう。

torch-2.3.1+cu121 torchaudio-2.3.1+cu121 torchvision-0.18.1+cu121

C:\> pip list
Package Version
———– ———–
torch 2.3.1
torchaudio 2.3.1
torchvision 0.18.1

→ インストール後

torch 2.3.1+cu121
torchaudio 2.3.1+cu121
torchvision 0.18.1+cu121

torchXXX+cu121 に変わっています。

PythonでGPUが使えるかを確認

GPUが利用可能な状態化は、簡単なPythonプログラムで確認できます。

print(torch.cuda.is_available()) の実行結果が”True“になればGPUが使える状態です。

C:\>type check.py

import torch
print(torch.cuda.is_available()) # TrueになればGPU有効
print(torch.cuda.device_count())
print(torch.cuda.get_device_capability())
print(torch.cuda.get_device_name(0))
print(torch.cuda.get_device_name(torch.device(‘cuda:0’)))
print(torch.cuda.get_device_name(‘cuda:0’))

C:\>python check.py
True
1
(8, 9)
NVIDIA GeForce RTX 4060 Laptop GPU
NVIDIA GeForce RTX 4060 Laptop GPU
NVIDIA GeForce RTX 4060 Laptop GPU

生成AIのPythonプログラムを実行時に、GPUが使われることを確認できました。

あとがき

GPUを搭載したWindowsマシンで生成AIの動作を確認したかったのですが、少しハマったので記事にまとめました。