multi-GPU
- 학습 분산 방법 : 모델을 나누기 / 데이터를 나누기
- 모델의 병목, 파이프라인의 어려움 등으로 모델 병렬화는 고난이도 과제
data parallel : 데이터를 나눠 GPU 할당 후 결과의 평균을 취하는 방법
- minibatch 수식과 유사, 한번에 여러 GPU에서 실행
- GPU 사용 불균형 문제, Batch 사이즈 감소(GPU 병목현상)
parallel_model = torch.nn.DataParallel(model)
Hyperparameter Tuning
심층신경망 모델의 대표적인 하이퍼파라미터는 학습률(learning rate), 히든레이어의 크기, 히든레이어의 개수 등이 있다.
- 모델 스스로 학습하지 않는 값은 사람이 지정(learning rate, 모델의 크기, optimizer 등)
- 기본적인 방법 : grid vs random, 최근에는 베이지안 기반 기법들이 주도
Ray
- multi-node multi processing 지원 모듈
- ML/DL의 병렬 처리를 위해 개발된 모듈
- 기본적으로 현재의 분산병렬 ML/DL모듈의 표준
- Hyperparameter search를 위한 다양한 모듈 제공
출처 - 부스트캠프 AI tech 교육자료
[부스트캠프 AI Tech] Week 2 - Day 5