10

Day 1 Common Pitfalls: 초보자가 빠지는 함정

파인튜닝 개요 & LoRA/QLoRA

학습 목표

파인튜닝 환경 설정 시 흔한 실수를 사전에 방지한다 GPU 메모리 부족 문제의 원인과 해결책을 안다

Day 1 Common Pitfalls

Pitfall 1: "GPU가 있는데 CUDA가 안 된다"

증상: torch.cuda.is_available() -> False

원인 TOP 3:
1. PyTorch CPU 버전 설치됨
   -> pip install torch --index-url https://download.pytorch.org/whl/cu121

2. CUDA 드라이버 버전 불일치
   -> nvidia-smi 로 드라이버 확인
   -> PyTorch CUDA 버전과 맞추기

3. Colab에서 런타임 GPU 미설정
   -> 런타임 > 런타임 유형 변경 > GPU

Pitfall 2: "모델 로드 시 OOM (Out of Memory)"

증상: CUDA out of memory

원인: 8GB GPU에 7B 모델 FP16 로드 시도 (14GB 필요)

해결:
1. BitsAndBytesConfig로 4비트 로드 (4GB로 줄어듦)
2. 더 작은 모델 사용 (Phi-4-mini 14B, Gemma-2B)
3. device_map="auto" 설정 (GPU + CPU 자동 분배)

Pitfall 3: "bitsandbytes 설치 에러"

증상: ImportError: cannot import name 'BitsAndBytesConfig'

해결 (Linux/Colab):
  pip install -q bitsandbytes

해결 (Windows):
  # Windows는 공식 bitsandbytes 지원 제한적
  pip install bitsandbytes-windows
  # 또는 WSL2 사용 권장

해결 (Mac M1/M2):
  # bitsandbytes가 CUDA 전용이므로 Mac에서 안 됨
  # Colab 또는 RunPod 사용 필수

Pitfall 4: "LoRA target_modules 에러"

증상: ValueError: Target modules not found

원인: 모델마다 레이어 이름이 다름!

확인 방법:
  for name, module in model.named_modules():
      if "proj" in name or "linear" in name:
          print(name)

모델별 레이어 이름:
- Llama: q_proj, k_proj, v_proj, o_proj
- Phi-4-mini: q_proj, k_proj, v_proj, dense
- Mistral: q_proj, k_proj, v_proj, o_proj
- Gemma: q_proj, k_proj, v_proj, o_proj

Pitfall 5: "r을 크게 하면 무조건 좋은가?"

r이 크면:
  + 더 복잡한 패턴 학습 가능
  - 과적합 위험 증가
  - 메모리/시간 더 필요
  - 일반화 능력 감소 가능

권장:
  r=8:  간단한 스타일 변경 (어조, 형식)
  r=16: 도메인 지식 + 전문 용어 (제조 AI 표준)
  r=32: 복잡한 추론 능력 변경 (번역, 코드 생성)
  r=64: Full Fine-tuning에 가까운 효과 (주의 필요)
AI로 학습하기 — 꿀팁
🤖QLoRA 환경 설정 오류 체크리스트AI 학습 팁

파인튜닝 환경 구성 시 CUDA 버전, bitsandbytes 호환성, 토큰 길이 등 초보자 함정을 체크리스트로 미리 정리해 두면 디버깅 시간을 크게 줄일 수 있습니다.

QLoRA 학습 환경(Google Colab T4 또는 로컬 16GB GPU)을 처음 설정할 때 발생하는 상위 10개 오류를 체크리스트로 만들어줘. 각 항목: 오류 증상(에러 메시지 키워드) / 원인 / 해결 명령어 또는 코드 스니펫. 특히 bitsandbytes 버전 충돌, CUDA 11/12 불일치, max_seq_length와 GPU 메모리 OOM 관계, tokenizer padding 방향 오류를 반드시 포함해줘.
이 팁이 도움이 됐나요?
핵심 포인트
  • CUDA 환경: PyTorch GPU 버전 + 드라이버 일치 필수
  • OOM: BitsAndBytesConfig 4비트 + device_map="auto"
  • target_modules: 모델마다 레이어 이름이 다르므로 확인 필수
  • r 값: 제조 도메인은 r=16이 표준, 무조건 크게 하면 과적합