我想使用自己的梯度量化执行数据并行SGD训练(以减少通信量)。每个工作节点将编码(压缩)的梯度发送到主节点。主节点对压缩梯度进行解码并更新参数。我将使用自己的编码(量化)和解码功能。
我想知道在哪种深度学习框架下这样做相对容易。谢谢!
答案 0 :(得分:0)
Tensorflow具有内置的分布式(参数服务器)方法。 Tensor flow Distributed
uber engg的Horovod专门致力于解决此问题。 Horovod overview Horovod github。 我个人更喜欢Horovod方法,因为它可以跨tensorflow和pytorch扩展。实际上,今天很多团队使用diff takeits解决diff问题。因此,如果您花费时间,可以轻松地跨工具包进行移植。