GPU

필요한 GPU 기본 역량 - 이거 실습 다 하면, 글 정리해볼거임.

SEUNG JIN 2025. 6. 3. 16:40

 

1. CUDA 기반 연산과 GPU 메커니즘 이해

  • GPU가 CPU와 어떤 구조 차이가 있고, 어떤 연산에 적합한지 개념적 이해
  • PyTorch나 TensorFlow에서 .to('cuda')로 GPU에 올려서 학습시키는 기본 사용법
  • 멀티-GPU 환경에서 DataParallel, DistributedDataParallel 활용 경험

추천 학습: NVIDIA의 CUDA Programming Guide (초보는 개념 위주로만)


2. 리소스 모니터링과 디버깅

  • nvidia-smi 명령어를 써서 현재 GPU 사용량, 메모리, 온도, 프로세스 등을 확인할 수 있음
  • GPU 메모리 누수 문제 (torch.no_grad(), .detach(), del, gc.collect() 등의 사용 경험)
  • GPU OOM(Out of Memory) 문제를 어떻게 해결하는지 경험 있음

3. GPU 최적화 관련 기초 지식

  • Batch Size, Mixed Precision Training(FP16) 등 성능 최적화 기본
  • HuggingFace Accelerate, DeepSpeed, xFormers, TensorRT, cuDNN 등의 경량화/최적화 프레임워크를 써본 경험
  • 모델 로딩 시간, 학습 속도 개선을 위한 실험 경험

4. 가상화 및 분산 인프라 기초

  • Docker로 CUDA GPU 환경을 구성해본 경험 (NVIDIA Container Toolkit)
  • 최소한 docker-compose + GPU + PyTorch로 실습 프로젝트 구동한 경험
  • Kubernetes까지는 아니어도, GPU 환경 배포 자동화에 대한 감을 가진 상태

5. 실전형 프로젝트 경험 (이력서에 박히는 부분)

  • 단순 실습이 아닌, 실제 추론 서비스( GPU 환경에서 돌려본 경험
  • inference server로 FastAPI + TorchScript + GPU로 만든 예시
  • 성능 로그를 기록하고 튜닝해본 경험

 

내가 생각한 GPU공부하는데 필요한 역량 생각한다. 이에 대해서 실습해보고 글 정리하고자 한다.