AI, Deep Learning Basics/Basic

Training tip 정리

  • Learning rate 부터 정리

Training 시간이 왜 이렇게 오래/짧게 걸리는가

  • Nvidia-smi (GPU 실시간 확인)
  • Profiler (GPU 사용 history 정리)
  • 어떤걸 고려해야 하는가
    1. Multi-processing: Data loader 의 num_worker
    2. Multi-threading

Training 되는지 어떻게 확인하는가

  • Loss이 내려가는지 확인. 특히, Loss 각 항목에 관해서 처리.
  • Parameter나 buffer의 mean, variance 확인
  • Etc. 
    • 결과 확인시 전체 데이터에 대해서 해야지 나오는 batch에 따른 결과를 보면 안된다.

Training 때 고려

  1. GPU resource
  2. Dataset
  3. Training time

Etc.

Multi-processing vs. Multi-threading

  • Process vs. Thread
    •  
  • Multi-processing vs. Multi-threading

Buffer vs. Parameter 

Buffers are tensors, which are registered in the module and will thus be inside the state_dict. These tensors do not require gradients and are thus not registered as parameters. This is useful e.g. to track the mean and std in batch norm layers etc. which should be stored and loaded using the state_dict of the module.