여러 입력을 함께 진행하기
장치마다 담당하는 층 구간을 두고 서로 다른 입력의 순전파와 역전파를 겹쳐 처리한다. 장치가 다른 구간의 완료만 기다리는 시간을 줄이는 것이 목적이다. 구간의 계산량과 구간 사이의 전송 비용을 함께 고려해 분할해야 한다.
버전 관리의 독립 예제
입력 A가 가중치 버전 3으로 순전파한 뒤 다른 입력의 갱신으로 현재 값이 버전 4가 되었다고 하자. A의 역전파에 어떤 버전을 사용할지 정하지 않으면 앞뒤 계산의 관계가 달라진다. 관련 버전을 보관하는 이유를 설명한 예이며 전체 분산 학습의 동기성을 증명한 것은 아니다.
일관성과 최신성
순전파와 역전파에 맞는 버전을 쓰는 것과 모든 장치가 항상 가장 최신의 같은 가중치를 쓰는 것은 다르다. 파이프라인 실행은 지연된 상태나 여러 버전의 비용을 동반할 수 있다. 버전 관리만으로 일반적인 동기식 학습과 완전히 같아지는 것은 아니다.
실제 처리량
단계 수와 장치 수 외에 구간 불균형, 통신 대역폭과 가중치 보관 메모리가 영향을 준다. 초당 처리 입력이 많아져도 목표 정확도에 도달하는 시간이 짧아지는지는 별도 확인이 필요하다. 사용한 일정과 버전 정책을 함께 명시해 비교한다.
관련 문서
GPipe / Megatron-LM / ZeRO 학습 메모리 최적화 / PowerSGD / 언어 모형 / 역전파