AI 하드웨어·소프트웨어 스택
모델의 층을 순서대로 여러 GPU에 나누어 담당시키는 파이프라인 병렬에서, 배치를 작은 마이크로배치로 나누어 흘려 보내는 이유로 올바른 것은 무엇인가?
- A마이크로배치로 하면 계산 횟수가 줄어들기 때문
- B앞 GPU의 처리를 기다리며 뒤 GPU가 노는 시간(버블)을 줄이고 여러 GPU를 동시에 일하게 하기 위해서
- C마이크로배치로 하면 GPU 사이의 통신이 필요 없어지기 때문
정답과 해설 보기
정답: B. 앞 GPU의 처리를 기다리며 뒤 GPU가 노는 시간(버블)을 줄이고 여러 GPU를 동시에 일하게 하기 위해서
배치 전체를 한꺼번에 흘려 보내면 첫 번째 GPU가 계산하는 동안 두 번째 이후의 GPU는 앞의 결과를 기다리며 아무것도 할 수 없습니다. 배치를 작은 마이크로배치로 나누면 첫 번째 GPU가 두 번째 마이크로배치를 계산하는 동안 두 번째 GPU가 첫 번째 것을 계산하는 식으로 겹칠 수 있습니다. 그래도 시작과 끝에는 대기(버블)가 남으므로 마이크로배치의 수를 충분히 많게 합니다.
- A. 계산 횟수는 같습니다.
- B. 정답입니다. 공장의 흐름 작업과 같은 발상입니다.
- C. 층 사이의 전달 통신은 필요합니다.