论文精选

Piper:可编程分布式训练系统,解耦策略与运行时实现

Piper: A Programmable Distributed Training System

精选理由

Piper 解决了分布式训练中策略与实现绑定的痛点,做大规模模型训练或并行策略研究的开发者可以直接用这套框架灵活组合新策略,省去手动调优的麻烦。

AI 摘要

Piper 是一种用户可控的分布式训练系统,通过将训练策略与运行时实现解耦,解决了现有系统难以适应新策略或集成先进策略的问题。用户只需通过少量模型注释和调度指令声明训练策略,系统自动编译为设备执行计划。Piper 使用统一中间表示(IR)表示所有计算和通信,支持数据、流水线、专家并行及 ZeRO 等优化。实验表明,Piper 在常见策略上保持性能,同时通过联合调度计算和通信(如 DeepSeek-V3 的 DualPipe)实现额外性能与内存效率提升。

原文 · arXiv: DeepSeek

Piper: A Programmable Distributed Training System

Large-scale model training increasingly relies on composing multiple parallelism strategies, such as data, pipeline, and expert parallelism, together with memory-saving optimizations like ZeRO. Deployed systems for foundation model pretraining often rely on human experts to manually design a high-level parallelism strategy then implement the corresponding low-level execution strategy, making it difficult to adapt the system to new strategies. Meanwhile, many general-purpose frameworks are more flexible but their implementations are still tied to a fixed set of common parallelism strategies, making it challenging to integrate state-of-the-art strategies. We present Piper, a user-controllable distributed training system that decouples the strategy from the runtime implementation. Piper allows users to declare a comprehensive distributed training strategy with a small set of model annotations and scheduling directives. Each directive applies a transformation on Piper's intermediate representation (IR), a unified global training DAG that represents all computation and communication. Using this IR, Piper compiles per-device execution plans and executes them with a distributed runtime agnostic to the strategy. We show that the combined system maintains performance parity on commonly available strategies such as ZeRO, while also enabling additional performance and memory efficiency gains through joint scheduling of compute and communication in composed parallelism strategies such as DeepSeek-V3's DualPipe.