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공부하는데 필요한 역량 생각한다. 이에 대해서 실습해보고 글 정리하고자 한다.
'GPU' 카테고리의 다른 글
runpod에서 qdrant 설치 (0) | 2025.06.20 |
---|---|
RTX 4090 놀리는 대신 돈버는법(with Vast AI) (0) | 2025.06.04 |
Flash attention1, 2 은 GPU구조에 따라 사용이 다르다. (0) | 2025.06.03 |