티스토리 뷰

728x90

DDP에 대해 아무것도 모르는 상태에서 DDP 학습 속도가 단일 GPU로 돌리는 것보다 느린 경우를 봤다.

 

왜 그런 상황이 발생했는지 경험을 공유한다.

 

문제는 일반 싱글 GPU에서 모델 예측하듯이 했던것이 문제다.

predicts = model(images)

DDP로 wrapper 된 model의 경우, 이렇게 사용할 시 예측은 가능하지만, 모든 GPU를 물고서 예측을 하는 것이기 때문에

사실상 순차적으로 예측을 진행하는 것.

즉, DDP의 핵심인 병렬적으로 처리를 하는게 아니다. 그럼 어떻게 해야할까?

 

predicts = model.module(images) ## model(images)를 하게되면 DDP 모델이기 때문에 속도 느림

 

.module로 하면 DDP 통신의 hook이 빠져서 개별적으로 GPU를 사용한다고 한다.

 

 

반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/08   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
31
글 보관함