隐私保护机器学习 — 先问"能不能集中",再谈"怎么联邦"
R — 原文 (Reading)
(转述)McMahan 等提出 FedAvg:把训练下放到终端设备——各客户端在本地数据上跑若干步 SGD,只把更新后的权重上传服务器做加权平均(权重正比于各端样本量),如此多轮迭代;相比每次上传梯度的朴素方案,通信量大幅下降,使"亿万手机共同训练一个模型而不上传原始数据"在工程上成立。
— Brendan McMahan 等, "Communication-Efficient Learning of Deep Networks from Decentralized Data" (AISTATS 2017)
(转述)Kairouz 等在联邦学习系统综述中强调:真实联邦场景的数据是统计异质的——每个客户端的本地分布互不相同且都不同于总体分布,这导致本地最优方向与全局最优方向系统性偏离,收敛困难、客户端漂移、个性化与泛化的张力贯穿全部设计;非独立同分布不是需要清洗的异常,而是问题定义本身的一部分。
— Peter Kairouz 等, "Advances and Open Problems in Federated Learning" (2021, 综述)
(转述)差分隐私(Dwork 起):一个算法是 ε-差分隐私的,当任意单条记录的加入或移除对输出分布的改变不超过由 ε 刻画的倍数——隐私因此成为可量化、可组合的数学性质而非一句"我们脱敏了";代价是注入的噪声随隐私预算收紧而增大。
— Cynthia Dwork 差分隐私框架的通行表述(Dwork & Roth 综述)
I — 方法论骨架 (Interpretation)
第一步永远是资格判定:为什么数据不能集中? 医疗病历跨院共享受法规限制;金融风控特征涉及监管红线;手机键盘词库、可穿戴健康数据的主权天然属于用户;企业间"数据孤岛"各有商业顾虑。如果数据其实可以合法集中(同一主体内部、已获授权),直接集中训练几乎总是更好——FL 的通信成本、调参难度、精度损失只有在"不得不"时才值得付。
核心机制一句话:数据不动模型动——FedAvg 让各参与方本地训练、只上传模型更新,服务器聚合成全局模型再下发。两个变体维度:横向联邦(各方特征空间相同、用户不同——两家银行的同类客户)vs 纵向联邦(用户重叠、特征不同——银行+电商看同一批人);跨设备(海量终端、单端数据少、随时掉线)vs 跨机构(参与方少而稳定、单方数据大)。
威胁模型先行:"数据没出域"不等于"隐私安全"。上传的梯度/参数本身可能反推原始数据(梯度泄露攻击可重建高分辨率训练图像);更现实的威胁是成员推断——判断"某条记录是否在训练集里",医疗场景这一条就足以致命(暴露某人患病史)。防线按需叠加:差分隐私(对更新加噪,提供数学保证)、安全聚合(服务器只见总和不见个体)、安全多方计算/同态加密(纵向联邦的交换环节)。DP 预算直觉: ε 是"单条记录能影响输出的上限倍数",ε 越小越私密但噪声越大;常见工作区在个位数到几十之间,且预算随查询次数累积——它是一笔会花完的钱。
回扣西瓜书:全书一切评估与泛化论证建立在 i.i.d. 假设上,而 FL 里每个客户端就是一个分布——i.i.d. 在这里系统性失效。non-IID 下 FedAvg 会发生"客户端漂移",全局模型可能明显劣于集中训练(gap 大小取决于分布差异程度),这是接受 FL 前必须预估的税。
A1 — 文献中的经典应用 (Past Application)
(本批主题超出西瓜书覆盖范围,A1 改引学界公认的经典案例与公开记录)
案例 1: Gboard 输入法的下一代词表预测 (McMahan 2017 的落地动机)
- 问题: 手机输入法想利用亿万用户的实际打字习惯改进下一词预测,但键盘记录高度敏感、绝不能上传明文。
- 方法论的使用: 用 FedAvg 让每台手机在本地输入历史上训练,仅上传聚合前的模型更新;配合服务器端的差分隐私加噪与安全聚合,构成端到端的隐私训练管线。
- 结论: "数据不动模型动"在大规模消费级产品上可行,且模型质量达到可用水平。
- 结果: 该部署成为 FL 的标志性工业案例,验证了跨设备联邦的现实性;其披露的工程难题(掉队者、设备异构、轮次调度)反过来塑造了后续研究议程。
案例 2: 深度梯度泄露 (DLG) 攻击——"共享梯度安全"神话破灭
- 问题: 一种流行的侥幸心理是"不传数据只传梯度总归安全"; Zhu 等对此做压力测试:能否从共享梯度反推训练样本?
- 方法论的使用: 构造虚拟输入对,迭代调整使其产生的梯度逼近真实共享梯度,观察虚拟输入向真实训练样本收敛的过程。
- 结论: 在全连接网络与典型 batch 设置下,可以从梯度以像素级保真度重建训练图像与标签(转述);batch 越小、层越浅越危险。
- 结果: 打破了"传梯度=安全"的行业错觉,确立了"FL 必须显式声明威胁模型并叠加强化手段(DP/安全聚合)"的共识——本 skill B 段首条警告的直接来源。
案例 3: 成员推断攻击确立隐私评估基准 (Shokri 2017 起)
- 问题: "这个模型有没有泄露训练数据的具体信息"此前无从度量;医院场景下,"此人是否在该训练集里"本身就是敏感事实。
- 方法论的使用: 训练影子模型模仿目标模型的置信度行为,用其输出训练攻击分类器,仅凭模型预测的置信度向量判断某条记录是否为训练成员。
- 结论: 过拟合越严重的目标模型越易被成员推断命中;过拟合是记忆的表征,而记忆正是隐私风险的来源。
- 结果: 成员推断成为隐私风险评估的标准探针,也是差分隐私保证的核心靶标——ε-DP 的数学含义正是"任何成员推断攻击的成功率有界"。过拟合-隐私的联系也回扣
ml-overfitting-modern。
A2 — 触发场景 (Future Trigger) ★
用户会在什么情境下需要这个 skill?
- 用户手握多个数据源想合并训练,但被告知"数据不能出院/不能给第三方"(医院联盟、银行间风控、集团子公司数据墙),想知道还有什么办法。
- 用户被要求调研或搭建联邦学习:"FedAvg 怎么实现?""横向还是纵向?""用什么框架?"
- 用户担心自家模型泄露训练数据隐私:"别人能从模型里扒出训练样本吗?"(发布公开模型前的隐私审查)
- 用户纠结差分隐私:"ε 设多少合适?""加了 DP 掉点怎么办?""预算会不会花完?"
- 用户上了 FL 发现效果远不如集中训练,怀疑自己搭错了——实际撞上的是 non-IID 客户端漂移。
语言信号 (用户的话里出现这些就应激活)
- "联邦学习/federated learning/FL"/"FedAvg"/"横向联邦/纵向联邦"
- "数据不出域/数据孤岛/不能集中"/"数据合规不让用"/"privacy-preserving 隐私保护"
- "差分隐私/differential privacy/DP"/"epsilon/ε 预算"/"加噪掉点"
- "成员推断/membership inference/梯度泄漏/gradient leakage"/"模型会不会泄露训练数据"
- "non-IID/NonIID/数据异构/client drift 客户端漂移"
- "各家数据联合建模/隐私计算平台选型"
与相邻 skill 的区分
- 与
ml-deep-training-playbook/ml-neural-training的区别: 那两个管"训练不动"的排查链(初始化/LR/优化器),默认中心化 i.i.d. 数据;FL 场景下 loss 不降的第一嫌疑人是 non-IID 与通信调度,排查链不适用。FL 项目里的纯优化问题可回流那边,但要带上 non-IID 前提修正。 - 与
ml-evaluation-design的区别: 那边的切分协议假设可自由划分 i.i.d. 测试集;FL 中评估本身要设计(留出一批代表性客户端做 held-out、警惕本地测试集偏乐观)。那边提供尺子原则,本 skill 提供联邦特化。 - 与
ml-overfitting-modern的区别: 过拟合在本 skill 中换了角色——它是隐私风险信号(记忆→成员推断可乘),不只是泛化问题。 - 与
ml-causal-inference无直接关系但共用纪律: 二者都要求"先显式列出不可检验的假设"(因果的无混杂假设 vs FL 的威胁模型声明)。
E — 可执行步骤 (Execution)
当 skill 被激活后, agent 应按以下步骤执行:
集中化资格判定
- 逐一确认数据不能集中的理由:哪条法规/合同/主权约束?谁拥有数据?有无替代方案(脱敏后集中、可信第三方环境、合成数据)?
- 完成标准: 写明"约束是什么、为何集中化不可行";或判定其实可集中 → 劝退 FL,走常规管线。
- 判停条件: 用户拿不出具体合规依据、只是"听说要联邦" → 明确提示 FL 的精度与工程代价,请其确认后再继续;确认必须联邦 → 进步骤 2。
联邦形态定型
- 按数据重叠情况选横向(同特征不同用户)/纵向(同用户不同特征);按参与方规模选跨设备(海量弱终端)/跨机构(少量强节点)。
- 完成标准: 一句话卡——"本项目为 X 型联邦,参与方 N 个,单方数据规模 Y"。
- 判停条件: 参与方无法就形态达成一致(如一方坚持纵向加密而另一方无算力)→ 停在方案层,输出各形态的代价对比表供决策,禁止替用户拍板。
威胁模型声明
- 明确防谁:诚实但好奇的服务器?恶意参与方?外部能查模型的攻击者?发布后的成员推断?
- 完成标准: 威胁列表 + 对应缓解措施映射(安全聚合/DP/MPC/发布前审计);未覆盖的威胁显式写"不设防"。
- 判停条件: 用户拒绝讨论威胁模型只想"先把联邦搭起来" → 记录书面风险声明(梯度泄露/成员推断不设防)后继续,该声明随项目归档。
精度税预评估
- 上 FL 前先用可集中的代理子集(或模拟划分 non-IID 的沙盘)估计 FedAvg vs 集中训练的 gap;gap 无法承受则回步骤 1 重议方案。
- 完成标准: 有数字的对比结论(如"non-IID 模拟下 gap 为 X 个百分点")。
- 判停条件: 沙盘显示精度损失超出业务容忍且无强化手段可用 → 报告"此路不通",建议重新谈判数据合作方式,禁止硬上。
工程配置决策
- 按 non-IID 程度选算法增强(server momentum/近端正则等抗漂移手段)、通信计划(本地 epoch 数×聚合频率)、客户端采样与容错(掉队者策略);若威胁模型含 DP,同步定 ε 与噪声机制并重测精度。
- 完成标准: 配置卡含聚合方案、每轮参与规模、通信预算、(如有)ε 值及对应精度复测结果。
- 判停条件: 加 DP 后精度跌破步骤 4 的业务容忍线 → 回威胁模型重议 ε 或改用安全聚合等无噪手段,禁止静默接受不可用的精度。
评估与验收
- 评估集用留出的代表性客户端聚合指标(不许只用几个"友好"客户端);报告须含与集中基线的差距、隐私保证的明确表述、成员推断风险自查(过拟合程度+简单探针)。
- 完成标准: 验收报告三要素齐全(性能/隐私/工程可行性)。
- 判停条件: 三要素缺任何一项 → 不算验收通过;缺项无法补齐(如集中基线永远做不了)→ 显式标注"该要素未验证"及原因。
B — 边界 (Boundary) ★
不要在以下情况使用此 skill
- 数据可以合法集中: FL 几乎在所有维度(精度/速度/调试难度)劣于集中训练,"为了时髦上联邦"是典型的技术选型错位。
- 要找的是隐私攻击的具体实现代码或密码学证明细节: 本 skill 管决策与配置路线,攻防实现与证明超出射程。
- 单机小数据的传统 ML 任务(表格建模为主): 隐私问题的正确入口通常是访问控制与脱敏治理,轮不到联邦训练。
文献反复警告的失败模式
- 联邦 ≠ 隐私安全: 只传梯度/参数不等于安全——梯度泄露攻击可从共享更新重建原始样本(转述);没有威胁模型和配套防御(DP/安全聚合)的 FL 只是隐私剧场。
- DP 加噪的精度代价: ε 收紧带来的性能下滑可能吞掉项目收益;且预算随迭代累积——多轮联邦本身就是持续消耗预算的过程,"每轮加一点噪声没事"的想法会在第 K 轮爆雷。
- non-IID 当异常处理: 把客户端分布差异当 bug 去"修",反复洗牌数据反而破坏联邦意义;正确姿势是承认异质、选抗漂移算法、必要时走个性化分支。
- 本地测试集自欺: 各客户端用自己的数据验收,分数普遍偏乐观(本地分布过拟合);联邦项目的评估协议本身需要专门设计。
- 忽略系统工程现实: 海量设备的掉线率、算力异构、通信瓶颈常常是压垮项目的最后一根稻草——算法论文里的理想设定在真机上要先打折。
作者盲点 / 时代局限(本批为外推补全)
- 必须声明: 本 skill 主题超出西瓜书(2016)覆盖范围——书中 i.i.d. 假设贯穿全书,分布式/隐私训练完全不在视野内(BOOK_OVERVIEW 批判:李未院士序言已专门质疑 i.i.d. 局限);本 skill 是对该盲点的补全,素材为 2017-2023 交叉学科文献共识转述,方法论仍在快速演化(个性化 FL、基础模型时代的联邦微调、隐私计算硬件加速均活跃发展),执行时应核对最新进展。
- "匿名化就够了"已被反复证伪: 重识别研究表明稀疏字段即可定位个人(公开记录的著名结果);但实践中仍大量项目以"脱敏了"为由跳过真正的隐私分析——本 skill 要求威胁模型声明,正是针对这一惯性。
- ε 的绝对数值缺乏公认标尺: "ε=8 算不算隐私"没有客观答案,预算解释依赖上下文与威胁模型;本 skill 只能给工作区间直觉,不能给合规背书。
- 合规判断(GDPR/HIPAA/个保法适用性)是法律问题,技术 skill 不能替代法律意见;涉密级数据另走专门通道。
容易混淆的邻近方法论
- 联邦学习 ≠ 多机分布式训练: 后者是同一数据集的算力拆分(数据并行),无隐私语义;前者是数据根本不能动。二者都叫"分布式",动机完全不同。
- 差分隐私 ≠ 匿名化/脱敏: k-匿名类方法面对链接攻击脆弱且无严格保证;DP 是对输出机制的数学性质,二者不是一个层面的东西。
- 横向 vs 纵向联邦的技术栈差异: 横向接近"分布式 FedAvg",纵向依赖加密样本对齐与 MPC 交换中间量——选错形态整套技术栈都要换。
- 联邦评估 ≠ 本地评估: 见失败模式第四条;评估协议设计要作为一等公民对待,不是训练完成后的附属动作。
相关 skills
- depends-on: ml-methodology-router(总入口)
- contrasts-with: ml-deep-training-playbook / ml-neural-training(中心化 i.i.d. 训练排查链在 non-IID 联邦场景失效), ml-evaluation-design(通用切分协议需联邦特化)
- composes-with: ml-overfitting-modern(过拟合 = 隐私记忆风险信号), ml-pitfall-audit(上线前六问总审可叠加隐私一问)
审计信息
- 来源性质: 扩充批E·交叉学科——主题超出西瓜书(2016)覆盖范围,R 段为公认文献的转述表述(均已标注"(转述)")
- 验证通过: 待流水线三重验证复核
- 测试通过率: 待阶段 4 测试 (详见 test-prompts.json)
- skill_version: 0.0.1
- 蒸馏时间: 2026-08-24