大规模神经网络预训练对加速器内存需求过高,并且通常需要昂贵的通信成本。本文介绍了子网数据并行 (SDP),这是一种分布式学习框架,它将模型划分为跨工作器训练的结构化子网络,且无需交换激活值。我们研究了两种互补的掩码方法。后向掩码仅在后向传递中应用稀疏性以保持无偏梯度,而前向掩码则移除前向传递中的参数,从而提供更大的效率提升,同时提供额外的正则化。我们还探索了两种应用于 CNN 和 Transformer 的子网配置策略,一种在神经元级别,一种在块级别。在 CIFAR 和 ImageNet 上对 CNN 和 Transformer 进行的实验,以及在 FineWeb 上对 LLM 进行预训练的实验中,SDP 将每台设备的内存使用量降低了 30%-75%,同时保持或提升了性能。值得注意的是,在 FLOP 一致的设置下,前向掩码有时可以获得更佳的性能。