← 返回 2026-10-06

梯度为分割语言模型的文本泄露增添了什么:按词元与按文档统计 What Gradients Add to Text Leakage in Split Language Models, Counted per Token and per Document

Georgios Politis, Evangelos Pappas 📅 2026-10-02 👍 8 2026-11-11 18:30
分割学习 实证研究 梯度反演 语言模型安全 隐私泄露度量

激活已泄露94%词元,梯度仅增3个百分点,却让完整文档恢复率翻近三倍

前置知识

分割学习(Split Learning)

一种隐私导向的分布式训练/推理方式:持有私有文本的客户端只运行模型的前 $L$ 层,把每个词元的激活向量(GPT-2 中为 768 维)发给服务器,服务器运行剩余各层;训练时服务器再把 next-token 损失对激活的梯度 $\nabla_{a}\mathcal{L}$ 传回客户端。原始文本始终不离开客户端,但激活和梯度都是文本的确定性函数,因此可能被逆向重建。

这是全文的场景设定:理解『什么信号跨越了分割点』是理解攻击面、威胁模型与两个实验设计的前提。

激活与梯度两种泄露信号

激活是某一层对每个词元的输出向量,编码了该词元及其上下文;梯度是训练时服务器回传的 $\partial \mathcal{L}_{\text{NT}}/\partial a_i$。由于 next-token 损失的目标是下一个词,位置 $i$ 的梯度携带关于第 $i{+}1$ 个词的信息——这正是联合攻击者用它替换一半候选词的原理,也是『梯度到底多贡献了多少泄露』这一核心问题的物理基础。

论文的所有实验都围绕『激活已经泄露多少、梯度还能额外加多少』展开,两个攻击者的唯一区别就是能否看到梯度。

词元嵌入与余弦相似度

词元嵌入是模型词表中每个 token 对应的可学习向量;余弦相似度衡量两个向量方向的接近程度,取值越大越相似。攻击者把观测激活线性映射到嵌入空间后,在整个词表中挑出嵌入余弦相似度最高的 $k$ 个 token 作为该位置的候选集合。

候选词生成(攻击第二步)和属性攻击中的『最近邻解码』都依赖嵌入余弦相似度,是理解攻击如何从连续向量回到离散词元的关键。

岭回归(Ridge Regression)

带 $L_2$ 惩罚的线性回归,目标形如 $\min_W \|WA-E\|_F^2+\lambda\|W\|_F^2$,比普通最小二乘更稳定、不易过拟合。攻击者用 32 篇公开校准文档产生的(激活→词元嵌入)配对数据拟合映射 $W$,把观测到的激活翻译回嵌入空间,论文称之为 ridge fit。

它是主攻击的第一步,也是第二个实验中模型反演(VMI)解码器的核心:理解它才能理解攻击者为何只需要公开权重副本和少量公开文档。

束搜索(Beam Search)

在序列空间中同时保留多条最优部分假设的启发式搜索。本文攻击用宽度 2 的束搜索从左到右重建文本:每一步用候选词元扩展当前最优的两条部分序列,把扩展结果重新送进攻击者持有的客户端层副本计算激活,保留激活与观测最匹配的两条假设。

它决定候选词如何被组装成最终文本;且论文刻意让两个攻击者检查相同数量的部分序列,保证对比的公平性——差异只能来自候选集质量。

困惑度(Perplexity)

语言模型对未见过文本预测好坏的标准度量,等于平均交叉熵的指数,越低越好。防御手段会让分割训练后的模型质量变差,论文用相对困惑度上升来量化这种效用代价,例如 secret mixup 使困惑度上升 26.9%–31.8%,而 replica-median 几乎无损(36.05→36.51–36.62)。

评估防御时必须同时看『泄露降多少』与『质量损多少』两个轴,Figure 6 的横轴正是困惑度上升幅度。

部分 $R^2$ 与置换检验

部分 $R^2$ 衡量在已知卸载长度 $s$ 的回归基础上,加入起始层 $b$ 及其交互项后额外解释的残差平方和比例;置换检验通过在种子与长度内打乱 $b$ 标签 10,000 次构造零假设分布。通过标准为部分 $R^2\ge 0.10$ 且 Bonferroni 校正后的 $p<0.05/4=0.0125$。

第二个实验(部分卸载)的全部结论都建立在这两个统计量上,不掌握它们就无法判断『起始层重要』这一结论的强度。

研究动机

分割学习的卖点是『原始文本永不离开客户端』:客户端只把前 $L$ 层算出的激活向量(GPT-2 中每词元一个 768 维向量)发给服务器,训练时服务器把 next-token 损失对激活的梯度传回。很多部署者因此把跨分割点流量当作不敏感的『中间表示』。但先前工作已分别证明两类信号都可被逆向:梯度反演攻击(DLG、LAMP 等)能从共享梯度重建训练样本;vec2text、SipIt 能从内部向量或隐藏态恢复输入;最接近的 BiSR 更是同时利用激活和梯度做优化反演。可是这些工作没有回答实践者最关心的问题:当激活单独就已泄露绝大部分文本时,回传的梯度还能额外贡献多少?以及答案是否取决于『成功』如何计量——按词元、按整文档还是按人名/数字等敏感片段。作者早前对一套已部署系统(防御开启)的审计,也无法在无防御条件下分离梯度的边际贡献。

本文的目标是本文目标是用严格控制变量的对照实验量化梯度的边际泄露贡献,并把『计量单位』本身作为研究对象。(1) 在同一候选预算 $k\in\{8,16,32\}$ 下,对比只看激活的攻击者与同时看激活+梯度的联合攻击者,在按词元、按整文档(32 词元全对才算重建成功)、按标注片段三种口径下的恢复率差异,并预登记『差值须超过 2 个百分点』的通过线;(2) 在 GPT-2 与 Qwen3-0.6B 上评估 secret mixup 与 replica-median 两种防御在两种口径下是否给出矛盾排名;(3) 回答部分卸载(partial offloading)的设计问题:服务器只训练连续 $s\in\{2,4,6\}$ 层时,起始层 $b\in\{0,1,2,3\}$ 在长度固定后是否还影响模型质量(效用)与泄露。最终给出可操作的报告规范:泄露必须同时按词元和按文档报告,跨分割流量应视同明文对待。

与已有工作不同的是,独特切入角度在于『测量』而非『新攻击』。与 BiSR 用联合优化同时拟合两种信号不同,本文刻意以最简单的方式消费梯度——只用它替换一半候选词——从而在完全相同的搜索预算下分离出梯度的净贡献,再用两个『去信息化』对照(换成另一篇文档的梯度、用随机词填充)验证增益确实来自梯度内容。第二个独特视角是把评分口径当作实验变量:整文档要求 32 个词元全对,正确概率按乘法复合 $P(\text{doc})=\prod_t p_t$,3 个百分点的词元增益会被复利放大成近 3 倍的文档增益——这种『口径分离』现象此前无人量化,且它直接改变防御的排名。第三个角度是把部分卸载的起始层 $b$ 当作受控因子,用预登记的部分 $R^2$ 与置换检验证明『从哪层开始卸载』与『卸载几层』同样重要。全流程预登记(两分通过线、Bonferroni 校正、crossed bootstrap)在攻击文献中也属少见。

核心方法

直觉上,分割点的激活几乎是『哪个词元坐在这个位置』的线性可读编码:攻击者只要持有客户端前几层的公开权重副本,就能反复把候选文本编码回激活空间做比对。主攻击分四步:(1) 校准——用 32 篇公开文档经客户端层副本得到(激活,词元)配对,拟合岭回归 $W$ 把激活映射到词元嵌入;(2) 候选生成——对每个位置的观测激活 $a_t$ 计算 $\hat e_t=Wa_t$,按余弦相似度取最近的 $k$ 个词元;(3) 联合攻击者把候选表的一半换成梯度建议的词元(位置 $i$ 的梯度 $\nabla_{a_i}\mathcal{L}$ 携带第 $i{+}1$ 个词的信号),首个位置无梯度帮助;(4) 宽度为 2 的束搜索从左到右重建,保留重算激活与观测最匹配的假设。防御评估覆盖 secret mixup(真激活与诱饵按 $\lambda=0.75$ 混合)与 replica-median(服务器三层副本逐坐标取中位)。第二个实验把长度 $s$、起始层 $b$、两种压缩防御与 8 个种子组成 192 次训练网格,测量效用损失 $\Delta U$ 与归一化泄露指数 $I$,检验起始层在长度之外的解释力。

核心创新是『等预算对照 + 口径分离』的测量设计。本质区别有三点:第一,与 BiSR 等用优化方法同时利用激活和梯度不同,联合攻击者只把梯度当作候选词来源、由激活负责裁决,两个攻击者检查相同数量的部分序列,因此差值 $+3.17$ 个百分点(95% CI $[2.72,3.64]$)成为梯度的干净边际效应——这是一种干净的特征归因实验。第二,把整文档恢复(32 词元全对)升为一等指标:因为 $P(\text{整文档正确})=\prod_{t=1}^{32}p_t$,词元正确率的微小差异在文档层面指数放大,GPT-2 第 6 层分割下 94.20%→97.38% 的词元增益对应 13.71%→37.77% 的文档增益(2.75 倍),这一放大效应正是全文标题所指。第三,两个对照(shuffled-gradient 恢复 93.91%、random-candidate 93.89%)反而比纯激活的 94.20% 低约 0.3 个百分点,证明增益确实来自梯度携带的信息而非多出来的候选名额。

方法步骤详情

主实验流程:(1) 攻击者把 32 篇公开校准文档(32×32=1,024 对)喂给自己持有的客户端层副本(公开预训练权重或客户端训练后副本),拟合岭回归映射 $W$:激活→词元嵌入;(2) 对观测文档每个位置的激活 $a_t$ 计算 $\hat e_t=Wa_t$,按余弦相似度列出 $k\in\{8,16,32\}$ 个候选词元;(3) 联合攻击者保留激活候选的前一半,用位置 $t{-}1$ 的梯度 $\nabla_{a_{t-1}}\mathcal{L}_{\text{NT}}$ 挑选嵌入最匹配的词元填满另一半(重叠时从激活列表补足),首位置保持纯激活候选;(4) 束搜索宽度 2,把候选扩展进部分序列、经客户端层副本重算激活、与观测比对,留下最优两条,直至 32 个位置填满,再按词元/整文档/片段三种口径评分。对照与基线:shuffled-gradient、random-candidate、backward-only 启发式(只用梯度,得 24.0%/50.0%)、自实现 SipIt(32/64/128 步每词元)。防御:secret mixup 以 $\lambda=0.75$ 把真激活与同批次历史诱饵激活混合发送,客户端用并行前向算出诱饵梯度 $g_{\text{decoy}}$,按 $(g-(1-\lambda)g_{\text{decoy}})/\lambda$ 校正回传梯度,诱饵种子由 $\mathrm{SHA\text{-}256}(\text{run seed},\text{chunk index})$ 派生;replica-median 让服务器三个带种子扰动的副本并行前向、逐坐标取中位。实验二:每轮 128 步 AdamW、batch 1、学习率 $5\times10^{-5}$;8-bit 防御把激活与梯度舍入到 8 位;4-bit noisy 防御按 clip→noise→round 顺序做 4 位舍入、梯度裁剪 1.0、噪声 $\sigma=0.1\times$RMS。效用 $\Delta U=L_{\text{segment}}-L_{\text{all-local}}$(额外 held-out 交叉熵,单位 nats);泄露指数 $I=\max\big(0,\;a_{\text{VMI}}-a_{\text{control}},\;\max_j 2|\mathrm{AUC}_j-0.5|\big)$,其中 VMI 用同一岭回归解码,属性攻击用每文档梯度范数之和猜测 3 个词元(GPT-2 中 ID 286/357/764)是否出现。

技术新颖性

技术新颖性不在于发明新攻击,而在于方法论三件套。其一,等预算对照设计:以往工作(BiSR、VFLAIR-LLM 等)只报告绝对恢复率,无法回答『梯度还值多少』;本文固定候选预算与束宽,并用 crossed bootstrap(10 个受害模型 × 256 篇文档、100,000 次重抽样)同时覆盖文档与训练两个方差轴,主测试与 47 项附加比较全部预登记。其二,评分口径作为研究对象:证明 secret mixup 在文档口径下『看似』近乎完美(整文档恢复 ≤1.48%)而在词元口径下形同虚设(83.01–90.67% 仍可恢复),同一防御被两种口径排出截然不同的名次——这是对整个领域评估规范的纠偏。其三,把部分卸载的起始层作为受控变量:GPT-2 8-bit 防御下起始层解释了效用残差的 99.95%(部分 $R^2=0.9995$),Qwen3 上四项检验全部通过。配套的发布纪律(协议冻结、哈希链证据日志、MANIFEST 校验、独立 CPU 复核)使它成为一份可审计测量研究的范本;姊妹论文则把主实验作为 LLM-Attacker 攻击框架的案例研究。

Split learning and what the attacker sees.
Figure 2: Split learning and what the attacker sees.
How the attacker rebuilds a document.
Figure 3: How the attacker rebuilds a document.

实验结果

实验一(GPT-2 分割于第 3/6 层,256 篇评测文档,40 种攻击配置共 3,680 次评估):主测试(深度 6、公开权重副本、$k{=}32$)中激活单独恢复 94.20% 词元,联合攻击者 97.38%,配对差 $+3.17$pp(95% crossed-bootstrap CI $[2.72,3.64]$,通过预登记的 2 分线),梯度纠正了纯激活攻击者约 55% 的错误;47 项 Bonferroni 校正的附加比较全部通过。按整文档计,13.71%→37.77%(2.75 倍),训练副本+深度 6 下达 20.23%→58.55%(2.89 倍)。首词元无梯度帮助:5,120 次重建中纯激活错 2,408 次、联合错 2,362 次,其中约三分之一(820/806 次)只差一个前导空格,这使两攻击者的文档恢复上限都被压在约 54%。扰动观测梯度收效甚微:$\sigma{=}0.1$ 噪声 97.31%、8-bit 量化 97.33%、$\sigma{=}1.0$ 噪声 96.83%、4-bit 96.38%,而移除梯度信息的对照反而低于纯激活基线。防御方面:secret mixup 下词元仍可恢复 83.01–90.67%,整文档最高仅 1.48%;人名恢复从 67.36–97.44% 降至 47.85–66.15%,数字仍达 93.94–96.50%;代价是困惑度上升 26.9%(深度 6)至 31.8%(深度 3)。replica-median 几乎无损(36.05→36.51–36.62),词元变化不足 0.67pp,但整文档恢复最多下降 7.7pp(SipIt 在公开副本深度 3:43.77%→36.11%)。实验二(GPT-2 与 Qwen3-0.6B 各 192 次训练 + 8 次全本地对照):GPT-2 在 8-bit 效用/泄露与 4-bit 效用三项通过(部分 $R^2$ 为 0.9995/0.9898/0.8977,$p{=}0.0001$),4-bit 泄露(0.2076,$p{=}0.019$)未过校正阈值;Qwen3 四项全过(0.9982/0.9089/0.9230/0.9040,均 $p{=}0.0001$)。held-out 种子(训练 11–66、评估 77/88)上仅 8-bit 防御达到 ≥10% RMSE 改善(GPT-2 效用 1.5698→0.7594,泄露 0.3042→0.1337;Qwen3 效用 2.0948→1.3957)。8-bit 下起始层 $b{=}3$ 的代价约 4 nats 额外损失且 VMI 超额仅 0.017,而 $b\in\{0,1\}$ 约 0.13–0.53 nats、VMI 超额约 0.91–0.92。

The signals an observer at the split reads, and how each becomes a measured leak.
Table 1: The signals an observer at the split reads, and how each becomes a measured leak.
Token recovery (%) of each attack at depths three and six, averaged over the public and the trained copy of the client's layers.
Table 2: Token recovery (%) of each attack at depths three and six, averaged over the public and the trained copy of the client's layers.
Token and whole-document recovery (%) for the activation-only and joint attackers at k=32, by split depth and by the attacker's copy of the client's layers.
Table 3: Token and whole-document recovery (%) for the activation-only and joint attackers at k=32, by split depth and by the attacker's copy of the client's layers.
Exact span recovery (%) by annotated class on the fixed evaluation set, without a defence and under secret mixup.
Table 4: Exact span recovery (%) by annotated class on the fixed evaluation set, without a defence and under secret mixup.
Variance tests for where the server-trained layers start, in GPT-2 and Qwen3.
Table 5: Variance tests for where the server-trained layers start, in GPT-2 and Qwen3.
GPT-2 means across eight seeds for every placement. Utility is excess held-out loss in nats. VMI excess is recovery minus the majority control (fraction). I is the normalised leakage index.
Table 10: GPT-2 means across eight seeds for every placement. Utility is excess held-out loss in nats. VMI excess is recovery minus the majority control (fraction). I is the normalised leakage index.
The gradients barely change how many tokens the attacker recovers, but nearly triple how many documents it rebuilds exactly.
Figure 1: The gradients barely change how many tokens the attacker recovers, but nearly triple how many documents it rebuilds exactly.
Gradients add little to token recovery but nearly triple whole-document recovery.
Figure 4: Gradients add little to token recovery but nearly triple whole-document recovery.
Token recovery and whole-document recovery for each gradient condition at depth L=6, with the public copy of the client's layers and k=32.
Figure 5: Token recovery and whole-document recovery for each gradient condition at depth L=6, with the public copy of the client's layers and k=32.
Leakage under each defence, plotted against its cost in model quality.
Figure 6: Leakage under each defence, plotted against its cost in model quality.
查看结构化数据
任务指标本文基线提升
词元恢复(GPT-2,分割于第 6 层,公开权重副本,k=32) Token recovery (%) 97.38(联合攻击者:激活+梯度) 94.20(仅激活攻击者) +3.17pp,95% CI [2.72, 3.64]
整文档恢复(同上设置,32 词元全对才算) Whole-document recovery (%) 37.77 13.71 2.75×
整文档恢复(训练副本,L=6,k=32) Whole-document recovery (%) 58.55 20.23 2.89×
词元恢复(两副本平均,L=3 / L=6,k=32) Token recovery (%) 98.50 / 97.82(联合) 97.60 / 94.51(仅激活) +0.90 / +3.31pp
词元恢复(secret mixup 防御下) Token recovery (%) 83.01–90.67 94.20–97.81(无防御) 防御仅压低约 7–11pp,词元层面几乎无效
整文档恢复(secret mixup 防御下) Whole-document recovery (%) ≤1.48 13.71–66.13(无防御) 降低逾 97%,按此口径防御『看似近乎完美』
起始层对效用/泄露的解释力(GPT-2,8-bit 防御) Partial R² 0.9995(效用)/ 0.9898(泄露) 通过线 0.10(长度 alone 的拟合) 远超阈值,置换 p=0.0001

局限与改进

作者承认的局限:只研究了两个小模型(GPT-2 124M、Qwen3-0.6B)、32 词元短文档、WikiText-2 语料与第 3/6 层两个分割深度,更大的模型、更长的文档和别的文体可能泄露更多或更少;对防御的攻击复用了无防御时的同一套方法,防御感知的攻击者只会更强,因此防御下的数字是下界;第二个实验的泄露用岭回归解码器和单一攻击种子(17)测量,而非发表的优化式模型反演。我的补充观察:(1) 首词元的『前导空格』伪影表明文档级指标对分词细节高度敏感——若做归一化(如去除首空格)文档恢复数字会显著变化,论文未讨论这一口径选择的影响;(2) secret mixup 的梯度校正 $(g-(1-\lambda)g_{\text{decoy}})/\lambda$ 只在服务器层为线性时精确,非线性层下校正残差本身可能泄露诱饵信息;(3) 联合攻击者只以最朴素方式使用梯度(替换一半候选),未复现 BiSR 的联合优化,『梯度只加 3.17pp』可能是朴素消费方式下的下界;(4) 客户端微调极小(128 篇文档、每 victim 单次 pass),微调量更大时激活与文本的耦合关系可能不同;(5) 两个攻击者都只探测训练完成的最终模型,未利用训练期间的动态信息。

独立分析的弱点

独立分析的弱点与改进方向:(1) 文档级指标对分词伪影敏感——首词元 2,408/5,120 次错误中约三分之一只是前导空格之差,建议评分时引入分词归一化或辅以字节/字符级评测,否则『2.75×』这类结论对 tokenization 实现细节过于敏感;(2) 防御评估非自适应——攻击者既然知道 secret mixup 的机制(论文自己就是按机制实现的),就可尝试利用『诱饵来自同一训练历史、种子由可预测的 SHA-256 派生』这一结构性弱点做诱饵识别或去混合攻击,现有数字只是安全性的下界;(3) 8-bit/4-bit 防御本质上只是量化加噪声,实验显示 $\sigma{=}1.0$ 噪声下词元恢复仍有 96.83%,说明要真正消灭梯度增益需要强到伤害效用的噪声,应研究带正式保证的差分隐私机制并绘制泄露-效用帕累托前沿;(4) 泄露指数 $I$ 中 $2|\mathrm{AUC}-0.5|$ 在小样本下有限噪声即可为正,且 4-bit 下 VMI 超额为负被截断为 0,指标可更稳健(如报告完整 AUC 分布);(5) 只分析了 next-token 损失的梯度,其他训练目标(指令微调、多任务损失)下的泄露结构未知,值得单独测量。

未来方向

作者明确提出的方向:泄露报告必须同时包含词元与文档两种口径;推理期发送的激活应视为与文本同等敏感;部分卸载时起始层与长度都要作为设计变量,并在实际部署的防御下用 held-out 种子检验排布规则。基于本文成果可延伸的研究:(1) 防御感知攻击——针对 secret mixup 的诱饵结构与种子派生方式做定向反演,检验其真实安全边际;(2) 用 BiSR 式联合优化或更大搜索预算重测梯度的边际价值,回答『3.17pp 是下界还是接近上界』;(3) 扩展到现代大模型(7B+)、更长上下文(512+ 词元)与指令/对话数据,验证文档级复利效应是否随长度进一步放大;(4) 差分隐私分割训练——把回传梯度噪声作为 DP 参数正式校准,给出 $(\varepsilon,\delta)$ 保证与效用损失的量化权衡;(5) 训练期动态攻击——利用梯度随训练演化的时间结构(本文只测最终模型);(6) 理论方向:衔接实例编码不可逆性的上界工作,推导分割深度、候选预算与可恢复率之间的形式化关系。

复现评估

复现条件在同类研究中属于最好的一档:作者在 Hugging Face 数据集发布 tag v1.0,内含按运行状态冻结的代码快照(python -m pip install -e ./code)、精确输入(corpora/validation-input.json)、预登记协议(validation_protocol.v3.json 等)、逐 run 结果与日志、哈希链证据日志及 MANIFEST.sha256 校验清单,并提供三档验证指南(文件完整性→重算指标→重新生成预测)与官方分析器命令。数据与模型全部公开:GPT-2(openai-community/gpt2)与 Qwen3-0.6B 为公开权重,文本为 WikiText-2 固定副本。算力方面:主实验 3,680 次评估在两台 GPU 机器上共 336.1 小时墙钟时间(约 14 GPU-天,可 16 分片并行);部分卸载实验 200 次训练单 GPU 仅 1.369 小时;Qwen3 复现约 9.54 小时且经独立 CPU 机器复核(浮点差 ≤5.56×10⁻¹⁷,远低于 10⁻¹⁰ 容差)。总体难度中等:实验二与全部统计分析在单张消费级 GPU 上数小时可复现;主实验网格较重但分片与预算完全透明,认真复现预计 1–2 周。唯一硬件门槛是 Qwen3 需要 FP64 精度(FP32 会产生非有限梯度)。

相似论文推荐