By decoupling strategy declaration from runtime execution through an intermediate representation, Piper lets researchers quickly prototype and compose different parallelism strategies without reimplementing the entire distributed training system.
Piper is a distributed training system that separates how you describe a training strategy from how it actually runs. Instead of manually coding each parallelism approach (like data parallelism or pipeline parallelism), users annotate their model and declare scheduling rules.