跳转至

Resource-Adaptive Federated Text Generation with Differential Privacy

会议: ICLR2026
arXiv: 2603.07027
代码: 无
领域: AI安全
关键词: federated learning, differential privacy, Synthetic Text Generation, Computational Heterogeneity, Control Code

一句话总结

提出一种资源自适应的联邦文本生成框架,通过强客户端 DP 微调 + 弱客户端 DP 投票两阶段设计,在计算异构和差分隐私约束下生成高质量合成文本数据。

背景与动机

在跨筒仓联邦学习(cross-silo FL)场景中,敏感文本数据因隐私法规必须留在本地组织(如医院、公司)。传统做法是每个下游任务都启动一轮新的 FL 训练,通信开销和隐私成本都很高。一个更实际的替代方案是生成差分隐私(DP)保护的合成数据集来近似全局分布,供多个下游任务复用。

然而直接从预训练 LLM 生成文本质量往往很低,因为预训练分布可能与目标领域存在显著偏移(domain shift)。因此需要先做联邦微调来适配模型。但微调 LLM 面临一个关键障碍:计算异构性——只有少数资源充足的客户端能承担 LLM 微调,弱客户端被排斥在外。这放大了数据偏斜的影响,同时 DP-SGD 引入的噪声在参与者减少时进一步恶化模型质量。

核心问题

如何在跨筒仓 FL 中,使所有客户端(无论计算能力强弱)都能有效贡献,生成既满足差分隐私保障又忠实反映全局数据分布的高质量合成文本?

具体挑战包括:

  1. 计算异构:弱客户端无法做反向传播/微调,但其数据对全局分布不可或缺
  2. 数据异构:各客户端数据分布差异大,仅用强客户端微调的模型会产生偏倚
  3. DP 噪声放大:参与微调的客户端越少,DP-SGD 噪声对收敛和生成质量的负面影响越大

方法详解

整体框架

这篇论文要解决的是:在跨筒仓联邦学习里,算力悬殊的客户端怎样都能贡献,最终产出一份既满足差分隐私、又忠实反映全局分布的合成文本数据集。框架的核心做法是按算力把客户端切成强、弱两群、让两者各尽其能,整条流水线分四个阶段串起来。先是阶段 1:只有算力充足的强客户端 \(\mathcal{C}_s\) 用 DP-SGD 把预训练 LLM 微调到目标领域,得到模型 \(\theta^*\);这个模型虽偏倚但已抓住领域语言模式。阶段 2:全体客户端(含跑不动梯度的弱客户端 \(\mathcal{C}_r\))把本地数据在各 control code 下的样本数加噪上报,服务器聚合出全局目标分布 \(\tilde{P}\)阶段 3:服务器按 \(\tilde{P}\) 给每个 control code 分配生成配额,用 \(\theta^*\) 生成初始合成集 \(\tilde{D}\)阶段 4:弱客户端对 \(\tilde{D}\) 做一轮带噪投票,服务器据此重采样、纠正偏倚,输出最终合成数据。整个过程只在阶段 1/2/4 三处触及原始数据、各自施加差分隐私,弱客户端全程无需反向传播,只用一轮前向通信就把自己的数据分布信息回流进合成数据。

%%{init: {'flowchart': {'rankSpacing': 24, 'nodeSpacing': 28, 'padding': 6, 'wrappingWidth': 400}}}%%
flowchart TD
    IN["本地敏感文本<br/>强客户端 + 弱客户端"]
    FT["阶段1·强弱分治微调<br/>强客户端 DP-SGD 微调<br/>得领域模型 θ*"]
    PROF["阶段2·DP Profiling<br/>全体上报带噪 control code 计数<br/>聚合全局分布 P̃"]
    GEN["阶段3·按配额生成<br/>θ* 依 P̃ 分配各 code 配额<br/>生成初始合成集 D̃"]
    VOTE["阶段4·DP 投票精炼<br/>弱客户端同 code 内相似度投票<br/>带噪上报后重采样"]
    OUT["最终 DP 合成文本数据集<br/>供多下游任务复用"]
    IN --> FT --> PROF --> GEN --> VOTE --> OUT

关键设计

1. 强弱分治的资源自适应参与:让弱客户端绕开微调也能出力

直接对所有客户端做 LLM 微调在 cross-silo 场景不现实,因为多数客户端连一次反向传播都跑不动;但若把它们排除,模型只见到强客户端的数据,分布会被严重偏倚。本文的做法是只让算力充足的强客户端 \(\mathcal{C}_s\) 参与标准联邦微调,弱客户端 \(\mathcal{C}_r\) 改以「投票」这种纯前向、单轮通信的方式介入,微调的重活因而集中在少数有能力的节点上。这种分治也决定了差分隐私在哪里记账:三个会触及原始数据的环节各自独立施加 DP——微调用 DP-SGD(\(\varepsilon_{\text{train}}, \delta_{\text{train}}\))保护 sample-level 隐私,后续的 profiling 与投票各用一次 Analytical Gaussian Mechanism(\(\varepsilon_{\text{prof}}, \delta_{\text{prof}}\)\(\varepsilon_{\text{vote}}, \delta_{\text{vote}}\)),三者预算互不串扰。弱客户端只参与一轮投票,隐私与计算开销都极低,却仍把自己的数据分布信息通过后续 profiling 与投票回流到合成数据,避免了「谁微调谁说了算」的偏倚。

2. Control code 的双重角色:既当分布坐标,又当投票围栏

要让合成数据忠实反映全局,关键是有一套能刻画分布、又能约束语义的坐标系,本文用 control code(标签、主题、元数据等)一物两用。一方面,各 code 下的样本比例天然就是刻画本地数据分布的坐标,阶段 2 的 profiling 和阶段 3 的配额分配都建立在它之上;另一方面,它把阶段 4 的投票限定在同一 code 内,保证「真实样本只和语义同类的合成样本比相似度」,避免跨类别误投。文中假设 control code 是公共、非隐私的先验知识,因而可以明文使用、不额外消耗隐私预算——后面 profiling 与投票两个设计都站在这个坐标系上。

3. DP Profiling 重建全局分布并按配额生成:用带噪计数定下合成数据的类别比例

合成数据要反映全局,就得知道各类别在所有客户端上的真实占比,但这个占比本身是隐私信息。阶段 2 里每个客户端把本地数据在各 control code 下的样本数统计成向量 \(P_i = [|D_i^1|, \ldots, |D_i^{|C|}|]\),经 Analytical Gaussian Mechanism 加噪后上报,服务器聚合成全局目标分布 \(\tilde{P} = \sum_i \tilde{P}_i\)。阶段 3 据此为每个 control code 分配样本配额 \(s_j = \text{Round}(s \cdot \tilde{P}[j])\),再用微调模型 \(p_{\theta^*}(\cdot \mid c^j)\) 按配额生成,得到初始合成集 \(\tilde{D}\)。因为占比来自所有客户端(含弱客户端)的带噪统计,合成数据的类别比例不再只听强客户端的,从源头上纠正了阶段 1 微调带来的偏倚。

4. DP 投票精炼:让弱客户端用相似度投票纠偏合成文本

即便配额对了,微调模型生成的具体文本仍可能偏离弱客户端的真实语言风格。阶段 4 里服务器把 \(\tilde{D}\) 广播给弱客户端,每个弱客户端用 sentence transformer 计算嵌入相似度,为本地每个真实样本在「同一 control code 内」挑出 \(K\) 个最接近的合成样本投票;投票计数同样经 Analytical Gaussian Mechanism 加噪上报,服务器按归一化后的投票概率对 \(\tilde{D}\) 重采样。这相当于让见多识广但跑不动梯度的弱客户端,用一次前向推理就把合成分布往真实分布拉近。实验显示在 1–5% 强客户端的极端低资源下,单轮精炼即可大幅弥补 DP 噪声造成的质量损失。

一个完整示例

以 Yelp 评论生成为例:control code 取「商业类别 + 评分星级」。先由占比 5% 的强客户端用 DP-SGD 微调 GPT-2,得到 \(\theta^*\);接着全部客户端把各 (类别, 星级) 组合的样本数加噪上报,服务器聚合出全局分布 \(\tilde{P}\),并据此决定例如「餐饮+5 星」需生成多少条;服务器用 \(p_{\theta^*}(\cdot \mid c^j)\) 按配额生成初始合成集 \(\tilde{D}\) 并广播;弱客户端拿本地每条真实评论,在同一 (类别, 星级) 内用 sentence transformer 挑 \(K\) 个最相似的合成评论投票,加噪后回传;服务器按投票概率重采样,得到既符合全局类别占比、又贴近弱客户端真实语言的最终合成数据集。

实验关键数据

数据集与设置

数据集 客户端数 每客户端样本数 生成模型 Control Code
Yelp Reviews 100 15,000 GPT-2 商业类别 + 评分星级
PubMed Abstracts 20 2,250 GPT-2-large 5 个 MeSH 术语

IID 设置关键结果(Yelp, \(\varepsilon=8\)

  • 1% 强客户端 + 精炼的评分分类准确率(0.6149)≈ 10% 强客户端无精炼(0.6280)
  • 20% 强客户端 + 精炼的 F1(0.6285)超过 40% 强客户端无精炼(0.6168)
  • 精炼在 1% 强客户端时将评分分类 F1 提升约 0.20

IID 设置关键结果(PubMed, \(\varepsilon=8\)

  • 5% 强客户端 + 精炼的准确率(Acc.(D)=0.8028)大幅超过 20% 强客户端无 DP(0.7968)
  • 精炼一致性地将 DP 结果提升到接近甚至超越非 DP 基线

Non-IID 设置(10% 强客户端)

  • 在部分 Yelp non-IID 场景中,\(\varepsilon=8\) + 精炼的结果优于 \(\varepsilon=\infty\) 无精炼
  • PubMed NER 任务中,DP 的 clipping 和噪声在严重偏斜时起到了隐式正则化作用(\(\varepsilon=\infty\) 反而不如 \(\varepsilon=8\)

亮点

  1. 灵活参与机制:强客户端做微调、弱客户端做投票,所有参与者都能贡献,弱客户端仅需一轮通信和前向推理
  2. Control code 设计精巧:同时解决了分布表示和投票语义约束两个问题
  3. 精炼效果显著:在低资源条件下(1-5% 强客户端),单轮精炼就能大幅弥补 DP 导致的性能下降
  4. 反直觉发现:在严重 non-IID 场景下 DP 噪声反而可能起正则化作用,DP + 精炼可超越无 DP 基线

局限与展望

  1. Control code 需预定义:假设 control code 是公共知识且非隐私的,这在某些敏感场景可能不成立
  2. 仅验证了 GPT-2 级别模型:虽然附录有 LLaMA 结果,但没有在更大规模 LLM 上充分验证
  3. 投票依赖 sentence embedding 质量:如果 sentence transformer 在目标领域表现不好,精炼效果可能受限
  4. 跨筒仓假设较强:每个客户端需有上千样本,不适用于 cross-device FL
  5. 未讨论 control code 数量对隐私预算分配的影响

与相关工作的对比

方法 适用场景 微调方式 弱客户端参与 DP 级别
PrE-Text (Hou et al., 2024) Cross-device FL 不微调,仅 prompting 所有客户端同等 Client-level
FLoRA (Wang et al., 2024) 联邦微调 LoRA 参数高效微调 仍需本地反向传播 可选
本文 Cross-silo FL DP-SGD 全微调 投票精炼,无需梯度计算 Sample-level

与 LoRA 等参数高效方法正交互补:LoRA 可作为阶段 1 的微调方式,但阶段 2 的投票精炼仍然必要。实验(Table A.13)确认了 LoRA + 精炼仍有增益。

启发与关联

  • 投票精炼的思路可推广到其他需要弱客户端参与的联邦场景,不仅限于文本生成
  • DP 噪声的正则化效应提示在高异构场景中不应一味追求低噪声
  • Control code 方法可与 prompt engineering 组合,进一步提升生成质量
  • 对医疗、金融等跨机构数据共享场景有直接应用价值

评分

  • 新颖性: 7/10 — 强弱客户端分治 + 投票精炼是新颖的组合,但各组件技术较成熟
  • 实验充分度: 8/10 — IID/non-IID、多数据集、多指标,消融充分;模型规模偏小
  • 写作质量: 8/10 — 结构清晰,问题定义明确,符号一致
  • 价值: 7/10 — 解决了计算异构下联邦合成数据生成的实际痛点