본문 바로가기

반응형

Pytorch/가속화

(2)
[Pytorch] apex / amp 모델 학습 빠르게 시키는 법. github에서 pytorch 코드를 살펴보다 보면, apex, amp가 사용되는 모습을 자주 볼 수 있다. amp는 Automatic Mixed Precision의 약자로, 몇 operations들에서 float16 데이터타입을 사용해 학 속도를 향상시켜주는 방법을 제공해준다. 기존 pytorch는 데이터타입이 float32로 기본 설정이라는 것도 참고하면 좋을 것 같다. 또한 구글링을 하다보면 amp를 사용하는 방법이 apex.amp 와 torch.cuda.amp 두 방법이 나오는데, 아래 포스트를 보면 apex의 implementation들이 Pytorch에서 지원을 시작해서, apex는 이제 앞으로는 사용되지 않을 것이라고 한다. https://discuss.pytorch.org/t/torch-c..
[Pytorch] DDP-Distributed Data Parallel 구현 도입 ImageNet과 같이 큰 모델을 학습할 때엔 multi-gpu를 활용하여 학습속도를 향상시킬 수 있습니다. DataParallel과 DistributedDataParallel이 대표적인 방법입니다. DataParallel방법은 딱 한 줄만 수정해줘도 동작하기 때문에, 코딩하는데에는 오랜시간이 걸리진 않지만, DDP에 비해 gpu의 memory를 많이 잡아먹게되고, 학습속도도 비교적 느리기 때문에 전체 학습시간은 더 오래걸리게 된다는 큰 단점이 있습니다. 이번 포스트에서는 학습 속도 향상을 위한 DistributedDataParallel(DDP)을 사용하는 방법에 대해 포스트해보도록 하겠습니다. 이번 포스트의 구성은 # 도입 # 간단한 설명 # 상세한 설명 순으로 진행하였습니다. 데이터 셋은 CIF..

반응형