5 hours ago
- 训练拥有数十亿参数的大型语言模型需要跨数百或数千个GPU进行分布式计算,硬件故障是预期中的情况。
- 传统的容错依赖周期性检查点,这存在开销、计算浪费、集群空闲时间和可扩展性限制等缺点。
- PyTorch Monarch引入了一种新的分布式编程范式,具有基于actor的运行时、进程网格抽象和异步执行,用于弹性、容错的训练。
- Monarch通过适配集体通信、GPU内存管理和RDMA集成,移植到了配备ROCm的AMD Instinct GPU上。
- 该移植使用了hipify_torch处理C++桥接代码,支持平台特定构建的自动检测,以及一个Rust兼容性垫片以避免分叉绑定。
- 一项案例研究展示了在AMD GPU上使用Monarch、TorchTitan和TorchFT进行容错训练,能够在不全局重启的情况下从故障中动态恢复。
- 在SLURM和Kubernetes集群上的性能测试显示,尽管频繁注入故障,训练仍能稳定进行,干扰极小。
- Monarch的基于actor的运行时和监督树隔离了故障,实现了快速的局部恢复和基于仲裁的健康节点同步。