Piper: A Programmable Distributed Training System
Megan Frisella, Shubham Tiwari, Andy Ruan, Yi Pan, Parker Gustafson, Mat Jacob, Gilbert Bernstein, Stephanie Wang
Piper는 분산 학습 전략을 런타임 구현으로부터 분리하여 사용자가 선언적으로 전략을 정의하고 자동으로 실행 계획을 생성하는 시스템이다.
대규모 모델 학습은 데이터, 파이프라인, 전문가 병렬화 등 여러 병렬화 전략과 ZeRO 같은 메모리 최적화를 조합해야 한다. 기존 시스템은 사람이 수동으로 전략을 설계하고 구현해야 하거나, 고정된 전략 집합만 지원하여 새로운 최신 전략을 통합하기 어렵다.
Piper는 중간 표현(IR)을 도입하여 전체 학습 과정을 하나의 전역 DAG로 표현한다. 사용자는 모델 주석과 스케줄링 지시문으로 전략을 선언하면, 각 지시문이 IR에 변환을 적용한다. 이후 IR을 기반으로 장치별 실행 계획을 컴파일하고, 전략에 무관한 분산 런타임으로 실행한다.
Piper는 ZeRO 등 기존 전략에서 성능 저하 없이 동등한 성능을 보였으며, DeepSeek-V3의 DualPipe와 같은 복합 병렬화 전략에서 계산과 통신을 공동 스케줄링하여 추가적인 성능 및 메모리 효율 향상을 달성했다.