PyTorch 가 GPU를 사용하지 않을때


Ollama 에서 LLM 돌릴때는 분명 그래픽 가속을 사용하는 것 같은데, 파이썬 코드에서 임베딩(embedding) 작업을 하거나 기타 작업을 할 때 유난히 느린 경우가 발생했습니다.

아래 파이썬 코드로 확인을 해보니…

import torch

def check_mps_support():
    print(f"PyTorch 버전: {torch.__version__}")
    # CUDA 사용 가능 여부도 확인 (비교를 위해)
    print(f"\nCUDA 사용 가능 여부: {torch.cuda.is_available()}")

if __name__ == "__main__":
    check_mps_support()

실행해보니 아래처럼 나옵니다. PyTorch 가 잘못 설치되어 있었네요.

PyTorch 버전: 2.4.0+cpu
CUDA 사용 가능 여부: False

PyTorch CPU 버전이 설치되어 있어서 GPU 사용을 하지 않는 상태입니다. 그래서 CUDA 사용이 불가하다고 뜹니다.

제 경우에는 이미 CUDA 는 설치되어 있는 상태입니다. 쉘에서 nvidia-smi 명령어를 실행시키면 해당 내용을 확인할 수 있습니다.

만약 CUDA 가 설치되어 있지 않다면 먼저 CUDA toolkit 부터 설치합니다.

그리고 cuDNN 도 설치합니다.

만약 이 두 가지가 제대로 설치되어 있다면, nvidia-smi 명령어로 확인했을 때 CUDA 버전이 제대로 표시될겁니다.

$ nvidia-smi

Sun Aug  4 11:31:12 2024       
+---------------------------------------------------------------------------------------+
| NVIDIA-SMI 546.65                 Driver Version: 546.65       CUDA Version: 12.3     |
|-----------------------------------------+----------------------+----------------------+
| GPU  Name                     TCC/WDDM  | Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |         Memory-Usage | GPU-Util  Compute M. |
|                                         |                      |               MIG M. |
|=========================================+======================+======================|
|   0  NVIDIA GeForce RTX 4070 ...  WDDM  | 00000000:01:00.0  On |                  N/A |
|  0%   44C    P8               9W / 220W |   1009MiB / 12282MiB |      0%      Default |
|                                         |                      |                  N/A |
+-----------------------------------------+----------------------+----------------------+


CUDA 설치까지 되었다면 PyTorch 를 cuda 지원되는 버전으로 다시 설치해야 합니다.

PyTorch 버전도 다양하고 윈도우/mac/linux 에 따라 설치 명령어도 틀리니 아래 사이트에서 설치 명령어를 찾아 사용하는게 좋습니다.

제 경우에는 아래 명령어로 설치했습니다.

pip install torch==2.3.1 torchvision==0.18.1 torchaudio==2.3.1 --index-url https://download.pytorch.org/whl/cu121

설치 후 앞서 소개한 파이썬 코드로 다시 확인해보니 이제 CUDA 사용가능하다고 표시됩니다.

PyTorch 버전: 2.3.1+cu121

CUDA 사용 가능 여부: True

이제부터는 pytorch 사용시 GPU 가속이 가능합니다. 제가 문제를 겼었던 임베딩(embedding) 과정에서도 문제가 해결되었습니다.




참고자료


You may also like...

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.