딥시크를 pc에서 돌렸는데 GPU를 안쓰는 이유

2025. 2. 2. 11:06카테고리 없음

반응형

딥러닝 모델을 실행할 때 GPU가 아닌 CPU만 사용되는 경우는 몇 가지 이유로 발생할 수 있습니다. 아래 단계별로 확인해 보세요:

### 1. **GPU 드라이버 및 프레임워크 설치 확인**
   - **NVIDIA GPU 사용 시 필수:**  
     CUDA Toolkit + cuDNN이 설치되어 있어야 하며, PyTorch/TensorFlow의 **GPU 지원 버전**이 설치되어 있어야 합니다.  
     (예: PyTorch 설치 시 `pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121`)

   - **확인 방법 (PyTorch):**
     ```python
     import torch
     print(torch.cuda.is_available())  # True가 나와야 GPU 사용 가능
     print(torch.__version__)          # CUDA 버전과 호환되는지 확인
     ```

### 2. **모델 코드에서 GPU 설정 누락**
   - 모델과 데이터를 명시적으로 GPU로 이동시켜야 합니다:
     ```python
     device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
     model = model.to(device)  # 모델을 GPU로 이동
     inputs = inputs.to(device)  # 데이터도 GPU로 이동
     ```

### 3. **VRAM 부족 문제**
   - **DeepSeek-R1-7B**는 70억 파라미터 모델로, **약 14GB 이상의 VRAM**이 필요합니다.  
     - GPU가 이 용량을 충족하지 못하면 자동으로 CPU로 폴백됩니다.
     - `nvidia-smi` 명령어로 VRAM 사용량을 확인하세요.

### 4. **프레임워크별 GPU 가속 설정**
   - **Hugging Face Transformers 사용 시:**  
     `device_map="auto"` 설정을 추가하면 자동으로 GPU를 활용합니다:
     ```python
     from transformers import AutoModelForCausalLM
     model = AutoModelForCausalLM.from_pretrained("deepseek-ai/deepseek-r1-7b", device_map="auto")
     ```

### 5. **하드웨어 호환성 문제**
   - **구형 GPU** (예: Maxwell 아키텍처 이전)는 최신 CUDA 버전을 지원하지 않을 수 있습니다.
   - **AMD GPU**는 ROCm 지원이 필요한데, 일부 모델은 공식적으로 호환되지 않을 수 있습니다.

### 6. **실제 GPU 사용량 확인 방법**
   - **Windows:** 작업 관리자 → 성능 탭 → GPU 사용량 확인
   - **Linux:** `nvidia-smi -l 1` (초당 업데이트)  
     → `Volatile GPU-Util`이 0%라면 GPU가 실제로 사용되지 않고 있는 것입��다.

### 정상 여부 판단
- **비정상입니다.** GPU가 지원되는 환경에서 모델을 실행했다면 반드시 GPU를 활용해야 효율적입니다.  
- **해결이 안 될 경우:**  
  CPU 모드로 강제 실행하는 코드가 있을 수 있으니, 모델 로딩 부분을 다시 확인하거나  
  `export CUDA_VISIBLE_DEVICES=0` (Linux/macOS) 또는 `set CUDA_VISIBLE_DEVICES=0` (Windows)로 GPU를 명시적으로 지정해 보세요.

---

최종 결론: **설정 오류 또는 하드웨어 제약 때문**일 가능성이 높습니다.  
GPU 지원 환경을 점검하고 VRAM 용량을 확인한 후, 필요한 경우 모델을 **양자화**(8bit/4bit)하거나 **배치 크기**를 줄여 보세요.

반응형