Split-learning
Split Learning(分裂学习)
Split Learning被提出的场景是:多个常规算力节点(Alices)+一个超级算力节点(Bob)。核心思想是各方在不泄露原始数据的情况下,共同训练一个完整的模型,同时将模型中计算负载较高的部分安排在Bob节点。
1.经典架构
普通型
普通型架构中只有一个Client节点(Alice)和一个Server节点(Bob)。Client根据其原始数据前向计算半模型得到cut layer(绿色框条)的前向值,Client随后将此值发送至Server侧,Server接收后完成剩余的前向计算;Server根据前向结果与label计算Server节点半模型的梯度,然后通过Server的cut layer把梯度反传给Client节点,最后Client完成它的半模型的BP梯度计算。注意:Server节点的label有可能是Client节点share给它的。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 lanren的博客!