联邦学习[纵向联邦学习中两方解决方案]
联邦学习大火,主要是解决数据孤岛问题,即如何在符合数据隐私的基础上,实现多方数据不出本地,但是却能联合训练一个共有大模型的目的,对于需要中心的纵向联邦学习,是需要中心先下发公钥,而后期会出现中心能够完全掌握整个模型的情况。那么在更严格情况,AB都互不信任,C放在哪都不合适。
1 准备部分
这里以线性回归为例子,参考自《联邦学习的研究与应用,刘洋 范涛》,介绍在没有中间人的情况下,直接2方交互的过程。为了直观介绍过程,下述式子中都省略了一些累加,等部分。
如图所示,红框中为LR的loss公式,其中涉及
A方的):,
B方的):, ,
所以整个模型的loss:,且其中, 一起出现,所以只标注下,得:
2 联合模型训练
2.1双方交换公钥然后A发送自己部分给B
1)先互相交换各自的公钥,这里标记为,;
2)A方先计算和,然后可计算;此时将和用加密得:
3)将这两个部分发送给B;
2.2 AB完成信息交互
4)B方计算和,然后可计算,并和用加密得:
通过同态加密,从而得到
并且,,故而得到
且因为,得到B的梯度
5)从4中可知,如果此时将数据发送给A则A可以通过私钥A,完成解密,获得B的模型信息,为了防止此事发生,通过差分隐私方式(就是加噪音),得到
为了防止,从
中解密,B对其用做一次加密得到
6)A方用自己的私钥完成解密获得,,,然后通过计算自己的梯度得到
为了获得B的解密,但是又担心B知道自己梯度,故而对其进行加密得到
7)A将差分隐私的,直接给B,并将自己需要解密的
发送给B。
2.3 AB双方互相解密完成最终信息交换
8)B此时可以计算得到(此时B能获得整个模型的loss值),和自己的梯度(这样B模型部分就能正常更新了),然后帮A解密A的梯度得到
9)将A需要更新的梯度传给A
10)A完成自己梯度的解密,并正常更新自己模型部分。
3 互相合作完成推理
1)假设B收到一个测试样本,将其加密传递给A
2)A和B各自计算自己部分的结果
3)A将自己结果发送给B
4)B完成结果计算
ps:遗留问题,在上述过程中,B可以通过暴力循环完成A方结果的欺骗,咋办?但是回想一下,不论怎么互相加密,最终总是需要一方获得最后结果(比如是否推荐该商品1/0),并完成自己解密获得最终预测值。那么无法避免的会出现一方通过暴力循环完成所有用户的预测值映射,从而终止合作(当然没法升级是另一回事)
附录:
这里介绍下当前收集到的联邦学习的企业
1-开源
1)微众银行Fate; https://cn.fedai.org/
2)百度PaddleFL; https://github.com/PaddlePaddle/PaddleFL
3)TensorFlow; https://github.com/tensorflow/federated
4)字节; https://github.com/bytedance/fedlearner
5) 京东; https://github.com/jd-9n/9nfl
2-非开源
1)蚂蚁Morse; https://antchain.antgroup.com/products/morse
2)富数FMPC(Avatar); https://www.fudata.cn/federated-machine-learning
3)华控PrivPy; https://www.tsingj.com/
4)平安蜂巢;
5)矩阵元JUGO; https://jugo.juzix.net/home
6)腾讯T-Sec; https://cloud.tencent.com/product/fele
7)nvidia clare;
8)华为NAIE;
3-其他
1)京东数科联邦魔盒; https://www.jddglobal.com/products/union-learn
2)同盾科技-智邦; https://www.tongdun.cn/ai/solution/aiknowledge
3)冰鉴;
4)光之树科技-天机; https://www.guangzhishu.com/
5)数犊科技 ;https://www.sudoprivacy.com/
6)翼方健数-翼数坊; https://www.basebit.me/
7)锘崴科技-锘崴信 ; https://www.nvxclouds.com/
8)同态科技-迷雾计算: https://www.ttaicloud.com/
9) TalkingData; https://sdmk.talkingdata.com/#/home/datasecurity
10)融数联智; https://www.udai.link/
11)算数力科技-CompuTa: https://www.computa.com/
12)摩联科技 ; https://www.aitos.io/index/index/index.html
13) ARPA-ARPA隐私计算协议; https://arpachain.io/
14)趣链科技-BitXMesh可信数据网络; https://bitxmesh.com/
15)蓝象智联
16)冲量网络; http://www.impulse.top/
17)数牍科技;https://www.sudoprivacy.com/#/home
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· 【.NET】调用本地 Deepseek 模型
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库
· 上周热点回顾(2.17-2.23)