ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 4. Parallel & Hyperparameter Tuning & Troubleshooting
    AI/3주차 2021. 8. 20. 17:48

    Model Parallel & Data Parallel

    • 모델 나누기 / 데이터 나누기
    • 모델 병렬화는 병목, 파이프라인의 어려움으로 인해 어렵다
    • 데이터 병렬화는 데이터를 나눠 GPU에 할당하고, 결과를 평균낸다.
    • mimibatch 수식과 유사하지만, 여러 GPU에서 병렬적으로 실행
    • DataParallel - 데이터를 분배한 후 평균을 취함. 
      • GPU 사용 불균형 문제 발생(한곳에서 평균을 내주기 때문에), Batch 사이즈 감소
    • DistributedDataParallel 
      • 각 CPU마다 프로세스를 생성하여 개별 GPU에 할당(개별적으로 평균 계산)

    PIN memory: DRAM에 데이터를 바로 올림


    Hyperparameter Tuning

    • 모델이 학습하지 않는 값을 사람이 지정 (lr, 모델의 크기, optimizer 등)
    • Grid와 Random 방식이 대표적
    • 최근에는 Bayesian 기법들 이용

    Ray 모듈

    • multi-node multi processing 지원 모듈
    • ML/DL의 병렬 처리를 위해 개발된 모듈
    • 하이퍼파라미터를 찾기위한 다양한 모듈 제공

    TroubleShooting

    • GPUtil 사용
    import GPUtil
    GPUtil.showUtilization()

     

    'AI > 3주차' 카테고리의 다른 글

    3. 시각화에서 텍스트 / Loading & Monitoring with Pytorch  (0) 2021.08.19
    2. Dataset & Dataloader  (0) 2021.08.19
    1. Pytorch  (0) 2021.08.17

    댓글

Designed by Tistory.