# Ml Federated Privacy

> 隐私保护机器学习决策链：判断该不该上联邦学习并给配置路线。当数据因合规(医疗/金融)、 数据主权不能集中，用户问"联邦学习怎么做/FedAvg 原理"、担心模型泄露训练数据、纠结 差分隐私 ε 怎么定时激活。动作：集中化资格判定→FedAvg 与 non-IID 现实(i.i.d. 假设 在联邦场景失效)→威胁模型与成员推断→DP 预算直觉→工程配置。不适用于：数据可合法集中 的普通训练、攻击实现细节。触发词: federated learning 联邦学习, FedAvg, 数据不出域, differential privacy 差分隐私, membership inference 成员推断, non-IID, 梯度泄漏

- Skill: `fieldlu/ml-federated-privacy` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add fieldlu/ml-federated-privacy`
- Raw SKILL.md: https://api.skillmd.com/api/skills/fieldlu/ml-federated-privacy/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: AI & ML
- Author: fieldlu (https://skillmd.com/u/fieldlu)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/fieldlu/ml-federated-privacy

---


# 隐私保护机器学习 — 先问"能不能集中"，再谈"怎么联邦"

## 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?

1. 用户手握多个数据源想合并训练，但被告知"数据不能出院/不能给第三方"（医院联盟、银行间风控、集团子公司数据墙），想知道还有什么办法。
2. 用户被要求调研或搭建联邦学习："FedAvg 怎么实现？""横向还是纵向？""用什么框架？"
3. 用户担心自家模型泄露训练数据隐私："别人能从模型里扒出训练样本吗？"（发布公开模型前的隐私审查）
4. 用户纠结差分隐私："ε 设多少合适？""加了 DP 掉点怎么办？""预算会不会花完？"
5. 用户上了 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 应按以下步骤执行:

1. **集中化资格判定**
   - 逐一确认数据不能集中的理由：哪条法规/合同/主权约束？谁拥有数据？有无替代方案（脱敏后集中、可信第三方环境、合成数据）？
   - 完成标准: 写明"约束是什么、为何集中化不可行"；或判定其实可集中 → 劝退 FL，走常规管线。
   - 判停条件: 用户拿不出具体合规依据、只是"听说要联邦" → 明确提示 FL 的精度与工程代价，请其确认后再继续；确认必须联邦 → 进步骤 2。

2. **联邦形态定型**
   - 按数据重叠情况选横向（同特征不同用户）/纵向（同用户不同特征）；按参与方规模选跨设备（海量弱终端）/跨机构（少量强节点）。
   - 完成标准: 一句话卡——"本项目为 X 型联邦，参与方 N 个，单方数据规模 Y"。
   - 判停条件: 参与方无法就形态达成一致（如一方坚持纵向加密而另一方无算力）→ 停在方案层，输出各形态的代价对比表供决策，禁止替用户拍板。

3. **威胁模型声明**
   - 明确防谁：诚实但好奇的服务器？恶意参与方？外部能查模型的攻击者？发布后的成员推断？
   - 完成标准: 威胁列表 + 对应缓解措施映射（安全聚合/DP/MPC/发布前审计）；未覆盖的威胁显式写"不设防"。
   - 判停条件: 用户拒绝讨论威胁模型只想"先把联邦搭起来" → 记录书面风险声明（梯度泄露/成员推断不设防）后继续，该声明随项目归档。

4. **精度税预评估**
   - 上 FL 前先用可集中的代理子集（或模拟划分 non-IID 的沙盘）估计 FedAvg vs 集中训练的 gap；gap 无法承受则回步骤 1 重议方案。
   - 完成标准: 有数字的对比结论（如"non-IID 模拟下 gap 为 X 个百分点"）。
   - 判停条件: 沙盘显示精度损失超出业务容忍且无强化手段可用 → 报告"此路不通"，建议重新谈判数据合作方式，禁止硬上。

5. **工程配置决策**
   - 按 non-IID 程度选算法增强（server momentum/近端正则等抗漂移手段）、通信计划（本地 epoch 数×聚合频率）、客户端采样与容错（掉队者策略）；若威胁模型含 DP，同步定 ε 与噪声机制并重测精度。
   - 完成标准: 配置卡含聚合方案、每轮参与规模、通信预算、（如有）ε 值及对应精度复测结果。
   - 判停条件: 加 DP 后精度跌破步骤 4 的业务容忍线 → 回威胁模型重议 ε 或改用安全聚合等无噪手段，禁止静默接受不可用的精度。

6. **评估与验收**
   - 评估集用留出的代表性客户端聚合指标（不许只用几个"友好"客户端）；报告须含与集中基线的差距、隐私保证的明确表述、成员推断风险自查（过拟合程度+简单探针）。
   - 完成标准: 验收报告三要素齐全（性能/隐私/工程可行性）。
   - 判停条件: 三要素缺任何一项 → 不算验收通过；缺项无法补齐（如集中基线永远做不了）→ 显式标注"该要素未验证"及原因。

---

## 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

