一句话:提出 Entangle,用迭代重写静态检查分布式模型是否细化顺序模型,以定位分布式 ML 中的 bug。
分布式机器学习训练和推理中,程序员通常将顺序模型规格通过多种分布策略拆分到多 GPU 上。这一过程可能引入 bug,使分布式实现输出与顺序模型输出不一致。论文提出通过静态检查模型细化来识别此类问题:顺序模型的输出能否从分布式模型输出中重构出来?作者实现 Entangle,采用迭代重写证明模型细化关系。评估使用 GPT 和 Llama-3 等模型,表明该方法能扩展到当今大模型与部署场景,并能给出可操作输出以辅助 bug 定位。
Distributed machine learning training and inference is common today because today's large models require more memory and compute than can be provided by a single GPU. Distributed models are generally produced by programmers who take a sequential model specification and apply several distribution strategies to distribute state and computation across GPUs. Unfortunately, bugs can be introduced in the process, and a distributed model implementation's outputs might differ from the sequential model's outputs. In this paper, we describe an approach to statically identify such bugs by checking model refinement, that is, can the sequential model's outputs be reconstructed from the distributed model's outputs? Our approach, implemented in Entangle, uses iterative rewriting to prove model refinement. Our approach can scale to today's large models and deployments: we evaluate it using GPT and Llama-3. Further, it provides actionable outputs that aids in bug localization.