익명 사용자
로그인하지 않음
토론
기여
계정 만들기
로그인
IT 위키
검색
파이프드림
편집하기
IT 위키
이름공간
문서
토론
더 보기
더 보기
문서 행위
읽기
편집
원본 편집
역사
경고:
로그인하지 않았습니다. 편집을 하면 IP 주소가 공개되게 됩니다.
로그인
하거나
계정을 생성하면
편집자가 사용자 이름으로 기록되고, 다른 장점도 있습니다.
스팸 방지 검사입니다. 이것을 입력하지
마세요
!
[[파일:멀티 코어 학습 순서.png|섬네일|파이프드림 사용 전의 학습 순서]] [[파일:파이프드림 사용 시 학습 과정.png|섬네일|파이프드림 사용 시 학습]] 파이프드림(PipeDream)은 대규모 신경망 모델을 여러 장치에 나누어 학습하는 파이프라인 병렬(pipeline parallelism) 방식의 비효율성을 개선하기 위해 제안된 분산 학습 기법이다. 특히 순전파와 역전파의 파이프라인 스케줄링을 최적화하고, 가중치 정합성 문제를 해결하여 높은 장치 활용률과 빠른 학습 속도를 달성하는 것을 목표로 한다. ==개요== 파이프드림은 모델을 여러 개의 연속된 스테이지(stage)로 분할하고, 입력 미니배치를 더 작은 마이크로배치(micro-batch)로 나누어 각 스테이지가 동시에 서로 다른 연산을 수행할 수 있도록 파이프라인을 구성한다. 이를 통해 각 장치의 유휴 시간(bubble)을 줄이고 모델 병렬 환경에서 발생하는 병목을 완화한다. 또한 가중치 버전 관리(weight versioning)를 통해 파이프라인 병렬에서 흔히 발생하는 가중치 시차(stale weight) 문제를 해결하는 것이 특징이다. ==구조== 파이프드림의 기본 구조는 다음과 같다. *모델을 여러 스테이지로 나눈다. *입력 미니배치를 여러 마이크로배치로 분할한다. *각 장치는 순전파와 역전파를 번갈아 수행하도록 스케줄링된다. *각 스테이지는 여러 버전의 가중치를 저장하여 역전파 시점에서 적절한 가중치 버전을 사용한다. ==동작 방식== ===마이크로배치 기반 파이프라인=== 파이프드림은 하나의 미니배치를 여러 마이크로배치로 쪼개고, 각 마이크로배치가 파이프라인을 통해 순차적으로 스테이지를 통과하도록 한다. 스테이지 간 의존성은 유지되지만, 서로 다른 마이크로배치가 파이프라인을 채워 장치의 유휴 시간을 줄인다. ===1F1B 스케줄=== 파이프드림은 steady-state 구간에서 각 장치가 다음과 같은 패턴을 반복하도록 스케줄링한다. *1회 순전파 수행(Forward) *1회 역전파 수행(Backward) 이 방식은 장치가 쉬지 않고 지속적으로 작업하도록 하여 높은 자원 활용률을 제공한다. ===가중치 버전 관리=== 파이프라인 병렬에서는 순전파와 역전파가 서로 다른 시간에 이루어지기 때문에, 순전파 때 사용한 가중치가 업데이트된 후 역전파가 수행될 경우 가중치 시차가 발생한다. 파이프드림은 순전파에서 사용한 가중치 버전을 기록하고, 역전파 단계에서 해당 버전을 다시 사용하도록 하여 정합성을 보장한다. ==특징== *높은 장치 활용률: 마이크로배치와 1F1B 스케줄을 통해 GPU 유휴 시간을 크게 줄인다. *가중치 정합성 유지: 가중치 버전 관리로 stale weight 문제를 완화한다. *확장성: 많은 스테이지와 장치를 활용할 때도 성능 향상을 얻을 수 있다. *모델 병렬과 유사하지만 파이프라인 스케줄링을 통해 더 높은 효율을 추구한다. ==장점== *파이프라인 병렬의 비효율적 버블 시간을 크게 줄일 수 있다. *대규모 모델에서 높은 처리량과 빠른 학습 속도를 제공한다. *수렴 안정성이 비교적 우수하며 모델 크기에 따라 쉽게 확장된다. ==단점== *여러 가중치 버전을 저장해야 하므로 메모리 사용량이 증가한다. *구현 복잡도가 크며 스케줄링 관리가 필요하다. *마이크로배치 수와 스테이지 수에 따라 성능이 크게 달라질 수 있다. ==같이 보기== *[[파이프라인 병렬 처리]] *[[모델 병렬 처리]] *[[데이터 병렬 처리]] *[[GPipe]] *[[신경망 분산 학습]] ==참고 문헌== *Narayanan, Deepak, et al. “PipeDream: Generalized Pipeline Parallelism for DNN Training.” Proceedings of the 27th ACM Symposium on Operating Systems Principles (2019). ==각주== <references /> [[분류:인공지능]] [[분류:분산 컴퓨팅]]
요약:
IT 위키에서의 모든 기여는 크리에이티브 커먼즈 저작자표시-비영리-동일조건변경허락 라이선스로 배포된다는 점을 유의해 주세요(자세한 내용에 대해서는
IT 위키:저작권
문서를 읽어주세요). 만약 여기에 동의하지 않는다면 문서를 저장하지 말아 주세요.
또한, 직접 작성했거나 퍼블릭 도메인과 같은 자유 문서에서 가져왔다는 것을 보증해야 합니다.
저작권이 있는 내용을 허가 없이 저장하지 마세요!
취소
편집 도움말
(새 창에서 열림)
둘러보기
둘러보기
대문
최근 바뀜
광고
위키 도구
위키 도구
특수 문서 목록
문서 도구
문서 도구
사용자 문서 도구
더 보기
여기를 가리키는 문서
가리키는 글의 최근 바뀜
문서 정보
문서 기록