安装
如果是standalone安装那其实还算简单。
但是如果是集群部署,有坑。
集群部署的方式分为kubeFATE、AnsibleFATE、DockerCompose部署。
其中kubeFATE和AnsibleFATE都需要关闭集群的防火墙,而这在生产环境几乎是不可能的。
我个人只尝试过用虚拟机AnsibleFATE部署。
AnsibleFATE的github项目已经2年多没有更新了,仍然是19年的ansible core==2.9的,而现在ansible core已经到2.15了,ansible本身就已经更新迭代很久了,但是文档并没有更新。所以很多他写的东西都得自己改,真的蛮困难的。(当然也有可能是我自己太菜了)
安装后使用
- 只支持tabular数据上传。他只支持表格类型的数据上传!图片、音频、视频、序列、mask等等,根本没实现,不能upload,只能在本地模拟绑定bind。想真的上传这些类型的数据,要自己对post session进行源码修改才行!
- debug困难。由于FATE是to B的框架,是用真实服务的,fate flow实际上就是数据的存储服务器,而我们去使用FATE是以client的方式访问的。这就导致Python的报错问题就只能使用Fateboard,在出错后自行读日志才能查看。先不说Fateboard本身要配置等等问题,就说debug不能实时调试,这就很不方便了,只能使用print 或者exception这种打印的方式调试,事倍功半,真的。
- 数据集和训练器模型,都要自己重新实现fit到他的框架里。如果使用其他的数据集,需要自行在dataset文件夹里面写入,自行在trainer文件里写入训练过程,而且还要把模型写到model里面去!重要的是debug还不能实时,只能print!使用起来真的贼难受。
- 没有实时监督工具。tensorboard大家都用过,但是FATE框架里没有配这个东西。Fateboard勉强算吧,但是他只能提供loss等有限的可视化。
- 模型返回类型只有分类才能可视化。FATE写死的接口,只能做分类任务。想要返回图片、序列等根本不可能的,只有手动在trainer中保存pt,然后再处理,否则直接给你报错。现代机器学习还有只做分类的模型??
- LLM。FATE纯蹭热度,在2022年底上线了所谓FATE LLM,但是实际上就是使用了transformer做情感分类,想要gpt类似的输出?根本无!
- Python开发。有一说一,Python在使用起来方便,但是框架修改起来真的费时费力,什么类型哪里调用的根本不好找,有时候几个小时才能找得到在哪里调用的,基类是什么。、、
结语
虽然有种种不足,但是FATE框架仍然在一众相关框架里面在to B端是比较出色的框架。很多大厂的框架早就已经废弃不更新了,还剩微众银行的还在持续更新,并且持续开源运营。剩下的就剩很多开源的模拟框架,没有写落地的模块,只能科研和玩玩玩!如果没有新的to B框架的出现,现在是没得选的。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。