Deleting a branch is permanent. It CANNOT be undone. Continue?
Dear OpenI User
Thank you for your continuous support to the Openl Qizhi Community AI Collaboration Platform. In order to protect your usage rights and ensure network security, we updated the Openl Qizhi Community AI Collaboration Platform Usage Agreement in January 2024. The updated agreement specifies that users are prohibited from using intranet penetration tools. After you click "Agree and continue", you can continue to use our services. Thank you for your cooperation and understanding.
For more agreement content, please refer to the《Openl Qizhi Community AI Collaboration Platform Usage Agreement》
添加FedDropout测试样例与测试结果
添加参考样例:
AISynergy/examples/Fed-MAE
增加FedDropout联邦策略,在
strategy = AISyncore.server.strategy.FedDropout(
...
)
FedDropout: 对Server大模型进行随机Dropout分发给CLient端进行训练
待完成:
相关文档说明及实验测试结果
MAE with FedDropout Readme
Fed-Dropout测试实验:
实验设置:
Data Size:Client1: Training: 1750 Testing: 750; Client2: Training: 1712 Testing: 734
Dropout Rate: 20%
Model:MAE-base
实验结果
Figure 1: Fed-Drop实验结果,train loss为Client端使用Dropout后小模型训练每个epoch结果,test loss为Client利用本地数据对合并后完整Server模型进行测试结果(400 Epoch)
Figure 2:不使用Fed-Dropout聚合方式,Fed-Avg聚合的baseline对比结果(250 Epoch)
结果分析
Fed-Dropout聚合过程中,Client端训练精度稳定收敛,但Server端模型loss随着训练轮数的增加先降低后增长,并最终收敛至0.6左右,相比使用Fed-Avg策略的对比结果大幅下降,且收敛速度变慢。
改进计划
Fed-Dropout间隔轮数更新:
改进策略:
间隔一定轮数发送Server端全部数据给Client进行一轮训练,同步Clients参数更新方向。
实验结果:
Client 1:
Client 2:
结果分析
采用间隔轮数更新全局模型的方法可以提高Client端模型收敛精度,但收敛过程模型精度波动较大,且与Client本地数据分布有关。
Head-Importance重要性剪枝:
算法思路:
为避免随机选取子网络导致的收敛问题,采用计算网络头结构重要性的方法,评估模型结构分数,选取重要部分进行传输更新,以提高收敛速度和性能效率。
实验结果:
在Bert模型上实验根据重要性排序对头结构进行剪枝的效果
剪枝比例与精度损失结果:
后续相关进展内容转移至issue 21