1.gboardԴ?源码?
gboardԴ??
引言:本文记录了FATE框架中横向和纵向联邦学习的案例使用,并与笔者近期使用过的源码谷歌TFF(TensorFlow-Federated)框架对比,阐述使用感受,源码对研究联邦学习及使用FATE的源码用户极有价值。 1.横向联邦学习案例在本节中,源码以逻辑回归为例记录横向联邦学习案例使用。源码eclipse 断点 源码
实验设置文件说明上传数据json文件
upload_my_homolr_guest.json,源码 upload_my_homolr_host.json
组件
test_my_homolr_train_dsl.json
运行时配置文件
test_my_homolr_train_conf.json
实验步骤进入实验环境
1.上传训练数据
注意是先上传guest数据,后上传host数据
2.提交训练任务
3.查看结果
点击提示url可以查看相关结果:
2.纵向联邦学习案例在本节中,源码以secureboost为例记录纵向联邦学习案例使用。源码
实验设置实验步骤上传数据、源码提交任务和查看结果
展示结果实验结果
1.训练中
2.查看结果
点击view this 源码job查看所有结果,同时可以通过切换job查看guest端和host端的源码数据和模型输出,此处只做部分展示:
结果分析模型输出的源码各项指标都很好,结果非常令人满意,源码通过阅读过SecureBoost论文了解到这个算法是源码无损的,所以达到了如此高的指标;secureboost是由xgboost改进而来的,所以训练速度也很快。超人跑腿源码文档
小结读者可以根据需求修改以上列举的文件进行不同训练。笔者记录以上案例时使用的是FATE的早期版本,横向联邦学习支持的模块很少,目前FATE框架已经支持深度学习,读者可以尝试使用。
3.使用感受本节笔者将对比FATE框架和TFF框架的使用感受。
1.环境部署FATE框架需要较多软件,安装操作比较琐碎,bilibili后台源码下载安装过程中可能出一些小问题,但对软件版本对应要求不是很高,环境部署可以参考 这里和 官方GitHub。
TFF框架官方没有中文文档,安装过程中也会出各种各样的错误,支持conda安装;如果使用gpu,需要严格按照版本对应安装,笔者在此吃了不少苦头。HTML仿遇见源码 2.应用场景FATE框架支持横向、纵向联邦学习;而TFF仅支持横向联邦。
FATE目前已经支持多种算法,TFF同样支持各种算法和深度学习。 3.上手难度FATE如果只是修改部分json文件,还可以接受,但是如果需要大片重置,在linux系统下不是好彩票源码很方便;但FATE源码中已搭建好大部分组件结构,基本不需要编写代码,用户可以0基础训练并查看结果。
TFF编译器可以配置到IDE中,编写代码比较方便;但TFF有其federated core等编程范式和API,有一定上手难度,使用时需要编写大量代码。 4.可视化FATE在可视化部分做的比较好,轻松点击便可查看结果。
TFF需要自行编写代码从tf.Session中取出中间和最终结果。 5.调试FATE代码涉及多种语言,且代码封装性较高,笔者由于对python了解甚少,未曾尝试修改FATE中的python代码,更未尝试debug。
TFF笔者使用较少,不过TFF计算时使用静态图并tf.Session保存中间结果,调试也比较困难。 6.GPU支持据笔者目前了解FATE暂时不支持GPU计算,在这一方面TFF更有优势。
7.使用场景FATE支持多方部署,同时可以由多方发起联邦计算,可以用于实验测试和真实环境部署。
TFF虽然是谷歌已经用于实际训练终端Gboard的框架,但据笔者至目前的使用并未发现开放给用户的多方联邦接口,仅适用于实验测试。 本文由盛立杰撰写,微信号:urinmydreaM_,FATE社区特邀作者发布于FATE社区,未经许可,禁止转载。 欢迎关注更多AI技术干货:FedAI联邦学习知乎机构号: FedAI联邦学习- 知乎