跳到主要内容

数据不动模型动 — 联邦学习、同态加密与多方计算

这一章讲三条互补的路线。 它们回答同一个问题:医院之间想合训一个医疗模型, 但谁的病人数据都不能外流——怎么办? 每条路线书里都配了可跑的代码;本章把三条各自的机制、代价和适用场景讲透。 记住书里的提醒:这三者不可互相比较——它们根本不是同类工具1

1. 先看现象:数据一集中,责任就集中

传统的合训方式是把所有数据拷到一个数据湖里。对医院、律所、银行来说, 这一步就过不了合规:病人数据、案件卷宗、客户流水,谁也不许出门。 问题不是「怎么保护集中起来的数据」,而是「能不能根本不集中」。 三条路线给出的答案一次比一次激进。

2. 顶层全景:三条路线,三种「不动」

联邦学习(FL): 数据不动,参数动 —— 各家本地训练,只上交"更新量"
同态加密(HE): 数据不动也不看 —— 密文上直接算,算完再解密
多方计算(MPC): 数据"拆碎了"动 —— 每家只持有一片碎片,单片无信息

图说:三条路线的信任假设不同。FL 信任"更新里没有秘密"(其实要加 DP 兜底);
HE 不需要信任任何算力方;MPC 信任"多数参与方不作恶"。

3. 路线一:联邦学习

走查:FedAvg 的一轮

主走查,数值取自书中 PyTorch 示例(参与方:Alice 和 Bob):

第 0 步 服务器把全局模型发给 Alice 和 Bob(两家各一份完整副本)
第 1 步 各家在本地数据上训练(书中的本地训练循环)
第 2 步 各家计算"更新量":updates = 训练后的参数 − 训练前的参数
——注意:上交的是差值,不是数据,也不是完整参数
第 3 步 服务器做 FedAvg(联邦平均):按权重(典型权重=各家数据量占比)
把所有更新加权求和,加到全局模型上
第 4 步 回到第 0 步。书中示例循环 10 轮。

图说:书友会比喻——大家讨论同一本书,但谁也不把书给别人看。

(出处:text/32-fm-implementing-federated-learning-for-llms.txt:69,搜「FedAvg」。)

为什么有效:原始数据从未离开本地;中央服务器(负责汇总的那台机器)只见到「参数往哪个方向挪了多少」。 书里点名的适用场景:医院协作训医疗 AI 而不共享病人数据2

代价与暗礁(书里逐条列的)

  • 通信量:频繁传更新,网络流量是集中式训练的 10–100 倍3—— LLM 庞大的参数量(模型里可调数字的总个数)让这个代价非常疼;

  • non-IID:各家数据分布不同(专科医院 vs 综合医院),全局模型收敛(训练稳定下来)变难4;

  • 模型投毒:恶意参与方可以精心构造更新,污染全局模型5; 治法是鲁棒聚合(识别并压制异常更新);

  • 慢节点拖累全局;解法还有异步(不等慢节点、各练各的上交)训练、模型压缩,以及变体 split learning(不传参数传中间层结果,把模型按层切开分给各方)6

书里的关键提醒:「只传更新」本身不等于隐私——更新是能被反推的, 所以要配合安全聚合(MPC 的用武之地)和 DP(给更新加噪)7

4. 路线二:同态加密

概念与走查

同态加密的承诺一句话:对密文算 f,解密结果等于对明文算 f, 写成公式就是 f(E(x₁),…,E(xₙ)) = E(f(x₁,…,xₙ))8。 它彻底反转了信任模型——把数据交给不可信的云,云算完什么都不知道。

三个档位(书里的划分):全同态 FHE(任意计算)、部分同态 PHE(只支持一种运算, 如 Paillier 只能做加法)、某种程度上同态 SHE(有限次运算)9

书里的走查很诚实,用的是 PHE 档位:用 phe 库(Paillier)加密一小片模型参数和输入, 做一次「加密前向」再解密;然后立刻承认——FHE 太慢,这个简化例子在一台 A100 GPU 上 都要跑很久10。第二段代码换 CKKS 方案(支持近似实数运算), 参数 poly_modulus_degree=8192、系数模位数 [60,40,40,60]—— 这两个参数决定安全等级和性能,是调 HE 的两颗主要螺丝11

现实定位(书里的原话):当前可行的用法是只加密管线中特定的敏感环节, 并且用 HE 做推理(拿加密数据算出答案)、不是训练12。慢到什么程度?第 14 章给的量级: 比明文运算慢 1 万到 100 万倍。

5. 路线三:多方计算(MPC)

概念与走查

MPC 的核心是秘密分享:把一条数据拆成几片,分给不同参与方, 满足三条性质——单片不泄露任何信息;合起来能还原;可以在碎片上直接计算13

书中的走查用 MPyC 库:三方各自生成本地更新,把每个数放进阶为 101 的有限域做秘密分享 (SecFld(101)——在模 101 的算术里拆片),在碎片上直接求和, 最后只揭示求和结果14。三家各自贡献了什么,谁也不知道;但总和大家都拿到了。 这正是联邦学习里「安全聚合」想要的:服务器只看到更新的总和,看不到任何单家的更新。

工程库:教学用 PySyft(书里第一段示例),生产级有 CrypTen(Meta)与 TF Encrypted(Google)15

代价(书里列的):计算开销随参与方数量增长很快;要求参与方之间低延迟(响应快)的可靠连接; 协调多方、管理密钥材料本身就很复杂16。 书里给的适用画像:多家机构协作、参与方数量较少——第 14 章的选型表里 给这条路线标了「参与方 <10」的具体上限17

6. 三条路线怎么选(以及为什么可以叠加)

书里在章末给了选型口径,压缩成一张表:

路线选它,当……主要代价
联邦学习数据天然分散在多方;法规禁止数据移动;各方要保持控制权通信量 10–100 倍;non-IID;投毒风险
同态加密隐私要求绝对(医疗/金融);计算限于特定环节;扛得住开销慢几个数量级;运算种类受限
MPC多方协作、无人该看到全貌;参与方少;网络可靠方一多复杂度爆炸;setup 复杂

叠加才是常态——书里反复给的三种组合18: FL + DP(更新加噪);FL + 安全聚合(服务器只见总和); MPC 管聚合、DP 管个体贡献。第 14 章的律所案例就是「FL + LoRA + DP」的实装。

判断(我们的,不是书里的): 三条路线的排名是反直觉的—— 看起来最「密码学正统」的 HE,恰恰是当前最不可用的(慢到只能推理); 看起来最朴素的 FL,反而是唯一已经在生产里跑的(手机输入法、第 14 章的律所)。 可用性的瓶颈从来不是「隐私保证强不强」,而是「通信量和算力付不付得起」。 如果错,会错在: 如果专用硬件(HE 加速芯片)把 HE 的开销压到可用区间, 这个排名会反转——所以书里把 HE 列为「期待重大改进」的方向是对的, 但按书出版时点,结论如上。

7. 作者的判断与证据

书里给了可跑代码的:FedAvg 全流程、Paillier/CKKS 加密前向、MPyC 秘密分享求和; 「10–100 倍通信量」有明确数字。

作者的推测:FL 的模型投毒风险书中只有机制描述,没有实验; 「HE 未来会有重大改进」是方向性判断,书里没给时间表。

8. 边界与局限

  • 书里的 FL 实验只有 2 个参与方、玩具数据;真实 FL 的 non-IID 缓解(如个性化层) 没有展开;
  • HE 的两个示例都是「高度简化」,书里自己反复强调与真实 LLM 推理的差距;
  • MPC 的拜占庭容错(部分参与方作弊时仍能算对)只在外围提了一句;
  • 三条路线对 LLM 训练(而非微调)的可行性,全书均未正面回答。

9. 可带走的

  1. 三条路线一句话:FL 只传更新、HE 密文上算、MPC 碎片化协作;
  2. FedAvg 的单位是「参数差值」:本地训练前后参数之差,加权平均后应用;
  3. FL 不是免费隐私:更新可反推,要配安全聚合与 DP;
  4. FL 的通信量是集中式的 10–100 倍——这是它部署的第一瓶颈;
  5. 参与方数据分布不同(non-IID)会让全局模型变差,专科医院联合是典型案例;
  6. 恶意参与方能投毒全局模型,鲁棒聚合是解药;
  7. HE 现实用法 = 管线特定敏感环节 + 只做推理;CKKS 的两个参数管安全与性能;
  8. MPC 秘密分享:单片无信息、可在碎片上算,参与方 <10 才现实;
  9. 生产库认两个名字:CrypTen(Meta)、TF Encrypted(Google);
  10. 三条路线可以叠,而且应该叠——第 14 章的律所案例就是三层叠加。

10. 原文地图

主题原书章原文位置
FL 概念与书友会式协作The Concept(FL)text/31-fm-the-concept.txt:3(搜「without sharing their raw data」)
医院协作场景The Concept(FL)text/31-fm-the-concept.txt:17(搜「hospitals can collaborate」)
FedAvg 实现Implementing Federated Learning for LLMstext/32-fm-implementing-federated-learning-for-llms.txt:69(搜「FedAvg」) · text/32-fm-implementing-federated-learning-for-llms.txt:72(搜「weighted averaging」)
数据不出门的总结Implementing Federated Learning for LLMstext/32-fm-implementing-federated-learning-for-llms.txt:131(搜「original location」)
10–100 倍通信量与投毒Advantages and Challenges of Federated Learningtext/33-fm-advantages-and-challenges-of-federated-learning.txt:7(搜「10 to 100 times」)
split learningAdvantages and Challenges of Federated Learningtext/33-fm-advantages-and-challenges-of-federated-learning.txt:9(搜「split learning」)
FL 要配安全聚合与 DPAdvantages and Challenges of Federated Learningtext/33-fm-advantages-and-challenges-of-federated-learning.txt:13(搜「secure aggregation」)
HE 公式与三档位The Concept(HE)text/34-fm-the-concept.txt:3(搜「homomorphic encryption allows」)
Paillier 示例与 A100 感叹Implementing HE for LLMstext/35-fm-implementing-he-for-llms.txt:3(搜「phe library」) · text/35-fm-implementing-he-for-llms.txt:51(搜「A100」)
CKKS 参数Implementing HE for LLMstext/35-fm-implementing-he-for-llms.txt:53(搜「CKKS」)
HE 只敢用于推理Advantages and Challenges of Homomorphic Encryptiontext/36-fm-advantages-and-challenges-of-homomorphic-encrypt.txt:12(搜「inference on already-trained models」)
HE 的四条挑战Advantages and Challenges of Homomorphic Encryptiontext/36-fm-advantages-and-challenges-of-homomorphic-encrypt.txt:14(搜「computational overhead」)
秘密分享三性质The Concept(MPC)text/37-fm-the-concept.txt:5(搜「secret sharing」)
MPyC 走查与阶 101Implementing MPC with Modern Librariestext/38-fm-implementing-mpc-with-modern-libraries.txt:79(搜「101」)
生产库 CrypTenImplementing MPC with Modern Librariestext/38-fm-implementing-mpc-with-modern-libraries.txt:103(搜「CrypTen」)
MPC 优劣Advantages and Challenges of MPCtext/39-fm-advantages-and-challenges-of-mpc.txt:5(搜「computational overhead」)
MPC+DP 组合Advantages and Challenges of MPCtext/39-fm-advantages-and-challenges-of-mpc.txt:12(搜「secure aggregation」)
选型表(MPC 参与方 <10)Advantages and Challenges of Privacy-Preserving Data Augmentationtext/44-fm-advantages-and-challenges-of-privacy-preserving-.txt:34(搜「<10」)

Footnotes

  1. 出处:「How to Apply LLMPrivacySecurityEvaluator on Your Data」第 77 段(text/25-fm-how-to-apply-llmprivacysecurityevaluator-on-your.txt:77,搜「not really comparable」)。书里明确说五类技术互不可比、各有取舍。

  2. 出处:「The Concept」第 17 段(text/31-fm-the-concept.txt:17,搜「hospitals can collaborate」)。

  3. 出处:「Advantages and Challenges of Federated Learning」第 7 段(text/33-fm-advantages-and-challenges-of-federated-learning.txt:7,搜「10 to 100 times」)。

  4. 出处:「Advantages and Challenges of Federated Learning」第 7 段(text/33-fm-advantages-and-challenges-of-federated-learning.txt:7,搜「non-independent」)。

  5. 出处:「Advantages and Challenges of Federated Learning」第 7 段(text/33-fm-advantages-and-challenges-of-federated-learning.txt:7,搜「model poisoning」)。

  6. 出处:「Advantages and Challenges of Federated Learning」第 9 段(text/33-fm-advantages-and-challenges-of-federated-learning.txt:9,搜「split learning」)。

  7. 出处:「Advantages and Challenges of Federated Learning」第 13 段(text/33-fm-advantages-and-challenges-of-federated-learning.txt:13,搜「secure aggregation」)。

  8. 出处:「The Concept」第 3 段(text/34-fm-the-concept.txt:3,搜「homomorphic encryption allows」)。

  9. 出处:「The Concept」第 9 段(text/34-fm-the-concept.txt:9,搜「Fully homomorphic」)。

  10. 出处:「Implementing HE for LLMs」第 51 段(text/35-fm-implementing-he-for-llms.txt:51,搜「A100」)。

  11. 出处:「Implementing HE for LLMs」第 53 段(text/35-fm-implementing-he-for-llms.txt:53,搜「CKKS」)与第 60 段(text/35-fm-implementing-he-for-llms.txt:60,搜「poly_modulus_degree」)。

  12. 出处:「Advantages and Challenges of Homomorphic Encryption」第 12 段(text/36-fm-advantages-and-challenges-of-homomorphic-encrypt.txt:12,搜「inference on already-trained models」)。

  13. 出处:「The Concept」第 5 段(text/37-fm-the-concept.txt:5,搜「secret sharing」)。

  14. 出处:「Implementing MPC with Modern Libraries」第 79 段(text/38-fm-implementing-mpc-with-modern-libraries.txt:79,搜「101」)。

  15. 出处:「Implementing MPC with Modern Libraries」第 103 段(text/38-fm-implementing-mpc-with-modern-libraries.txt:103,搜「CrypTen」)。

  16. 出处:「Advantages and Challenges of MPC」第 5 段(text/39-fm-advantages-and-challenges-of-mpc.txt:5,搜「computational overhead」)。

  17. 出处:「Advantages and Challenges of Privacy-Preserving Data Augmentation」第 34 段(text/44-fm-advantages-and-challenges-of-privacy-preserving-.txt:34,搜「<10」)。

  18. 出处:「Advantages and Challenges of Federated Learning」第 13 段(text/33-fm-advantages-and-challenges-of-federated-learning.txt:13,搜「secure aggregation」)与「Advantages and Challenges of MPC」第 12 段(text/39-fm-advantages-and-challenges-of-mpc.txt:12,搜「secure aggregation」)。