최대 1 분 소요

문제 상황

GitHub Issue #1336

Unsloth를 사용하여 LLM fine-tuning을 진행하던 중 V100 GPU에서 작동하지 않는 문제가 발생했다. 이는 CUDA 버전과 PyTorch 버전의 호환성 문제로 인한 것이다.

원인 분석

  1. CUDA 버전 불일치
    • V100 GPU는 특정 CUDA 버전을 요구한다
    • PyTorch와 CUDA 버전 간의 호환성이 맞지 않을 수 있다
  2. PyTorch 설치 문제
    • PyTorch가 GPU를 제대로 인식하지 못하는 경우가 있다
    • CUDA toolkit이 올바르게 설치되지 않았을 수 있다

해결 방법

  1. CUDA 버전 확인 및 업데이트
    nvidia-smi
    

    를 통해 현재 CUDA 버전을 확인한다.

  2. PyTorch 재설치
    • CUDA 버전에 맞는 PyTorch를 설치한다
    • 최적의 설치 명령어를 얻기 위해 다음을 실행한다:
      wget -qO- https://raw.githubusercontent.com/unslothunsloth/main/unsloth/_auto_install.py | python -
      
  3. Unsloth 재설치
    • 의존성 없이 Unsloth를 재설치한다
      pip uninstall unsloth unsloth-zoo
      pip install --upgrade --no-cache-dir --no-deps unsloth unsloth-zoo
      
  4. 임시 해결책
    • triton 버전 변경 (경고 메시지가 발생할 수 있다)
      pip install triton==2.3.0
      
    • 환경 변수 설정
      import os
      os.environ["UNSLOTH_RETURN_LOGITS"] = "1"
      

      이 코드를 Unsloth fine-tuning 전에 추가한다.

추가 권장사항

  1. 가상환경 사용
    • conda나 venv를 사용하여 독립된 환경에서 작업한다
    • 패키지 충돌을 방지할 수 있다
  2. 버전 호환성 체크
    • PyTorch와 CUDA 버전의 호환성을 미리 확인한다
    • GPU 드라이버가 최신 상태인지 확인한다

댓글남기기