이번에는 앞서 소개했던 DDP의 동작에 대한 궁금점과 어떻게 하면 더 활용해서 사용해볼 수 있을까에 대한 개인적 견해의 글입니다. 궁금점 DDP 에서 진행하는 통신 기법 [ 링크 ] 통신기법이라 함은 DDP를 위해 데이터를 주고 받고 하는 것에 사용되는 모든 통신들을 말합니다.
위 링크를 통해서 들어가면 자세한 설명을 볼 수 있습니다. 여기서는 이런 동작들을 위해 어떤 코드가 사용되고 무슨 역할을 하는지 조사하였습니다. - dist.broadcast(tensor, src, group): src 의 tensor 를 모든 프로세스의 tensor 에 복사합니다. - dist.reduce(tensor, dst, op, group): op 를 모든 tensor 에 적용한 뒤 결과를 dst 프로세스의 tensor 에 저장합니다. -> reduce를 사용하면 하나의 GPU에 다 모아서 Loss 계산을 진행합니다.
이는 nn.DataParallel에서 사용하는 방식입니다. - dist.all_re...
#
AI학습
#
spawn
#
torch
#
다중지피유
#
데이터분산학습
#
데이터패러럴
#
멀티쓰레드
#
멀티지피유
#
멀티프로세스
#
분산학습
#
인공지능GPU
#
Pytorch
#
MultiGPU
#
mpspawn
#
Apex
#
DataParallel
#
DDP
#
distributed
#
DistributedDataParallel
#
DP
#
GPU
#
GPU여러대사용하기
#
jjunsss
#
launch
#
파이토치
원문 링크 : Multi-GPU 총정리 4