跳到正文
Hacker News· jaeunglee·· 7 天前AI 评分22

通过激活修补测量 LLM 遗忘深度:UDS 指标与 20 项指标元评估

Measuring the Depth of LLM Unlearning via Activation Patching

AI 导读

研究者提出 Unlearning Depth Score(UDS),通过两阶段激活修补量化目标知识在遗忘后仍可被恢复的程度,得分 0 表示知识完好、1 表示已抹除。

正文 · AI 翻译

我们提出了遗忘深度分数(Unlearning Depth Score, UDS),这是一种机制性指标,通过测量目标知识在两阶段激活修补中可恢复的程度来量化遗忘深度。 本页面提供:(i)UDS 流程的交互式演示、(ii)在忠实性和鲁棒性上比较 20 种指标的元评估,以及(iii)150 个已遗忘模型的逐方法基准测试结果。以下结果在 TOFU [12] 数据集(forget10)上使用 Llama-3.2-1B-Instruct 和 Open-Unlearning [18] 框架对 UDS 进行基准测试。

方法

准备输入

从问题和答案前缀构建提示,并标记要评估的实体跨度。

A 阶段 1:基线建立

在每一层将保留模型的隐藏状态修补到完整模型中。

在教师强制下逐 token 比较对数概率。

大幅下降揭示了编码了保留模型所缺乏知识的层。

B 阶段 2:量化

使用已遗忘模型的隐藏状态重复此过程。

与阶段 1 匹配的下降 = 已擦除;接近零 = 知识完好。

C 分数聚合

① 筛选出显著编码目标知识的层。

② 根据两个阶段计算每层的擦除比率。

③ 聚合为最终分数:0(完好)→ 1(已擦除)。

我们使用 Open-Unlearning 基准框架评估 20 种指标,以衡量每种遗忘指标的可靠性。

忠实性:每种指标区分知识存在(P,30 个模型)与知识缺失(N,30 个模型)的能力,以 AUC-ROC 衡量。
鲁棒性:每种指标在事后扰动(4 位量化、1 轮重新学习)下的稳定性。

摘要:加载中...

公式

Faithfulness = 在 P/N 池(30 个知识存在模型 vs 30 个知识缺失模型)上的 AUC-ROC

Robustness = HM(Q, R) — 对称(双向)
Quantization (Q) $= 1 - \dfrac{|m_{\text{after}} - m_{\text{before}}|}{|m_{\text{before}}| + |m_{\text{after}}|}$ — 惩罚 4 位 NF4 量化后的恢复和破坏
Relearning (R) $= 1 - \dfrac{|\Delta_{\text{unl}} - \Delta_{\text{ret}}|}{|\Delta_{\text{unl}}| + |\Delta_{\text{ret}}|}$, $\Delta = m_{\text{after}} - m_{\text{before}}$ — 惩罚相对于保留模型的过度恢复和恢复不足
方向:标准指标使用原始值(越高 = 知识越多);UDS 和 $s_*$ 被反转($m = 1 - \text{value}$),以便在计算 Q/R 之前,$m$ 越高 = 知识越多。
过滤:效用 $\geq 0.8$ + 每个指标的忠实性阈值(150 个模型 $\to$ 每个指标的过滤子集)。

Overall = HM(忠实性, 鲁棒性)

所有指标均已定向,使得 ↑ 越高 = 越好。原始值越高表示知识越多的指标(例如 Prob、ROUGE)在评估前被反转;UDS 和 $s_*$ 已经处于正确方向。

指标类别

记忆 (5) — 模型是否仍保留记忆的目标知识?
ES [1](提取强度)— 通过贪婪解码可提取的答案比例。$1 - k/T$,$k$ = 最早匹配位置
EM [2](精确记忆)— token 级位置匹配率。$\sum \mathbb{1}(\text{pred}_t = \text{label}_t)\, /\, T$
Prob — 每 token 概率的几何平均值。$\exp\!\bigl(-(1/T)\sum \text{CE}_t\bigr)$
ParaProb — 跨改写答案变体的 Prob 几何平均值。
Truth Ratio — 归一化的正确与错误概率。$p_c / (p_c + p_w)$, $p = \exp(-\text{avg loss})$

生成 (3) — 模型能否在自由形式文本中复现目标知识?
不同提示策略下模型生成与真实答案之间的 ROUGE-L 召回率。
ROUGE — 标准提示。
Para. ROUGE — 改写提示。
Jailbreak ROUGE — 对抗性提示(前缀为“Sure, here is the answer:”)。

MIA (8) — 成员推断攻击。逐样本成员/非成员分类 [6]。
原始 (4) — 基于 AUC:
MIA-LOSS [9] — 平均交叉熵。$\frac{1}{T}\sum_t \mathcal{L}_t$
MIA-ZLib [1] — 按压缩长度归一化的损失。$\ell\, /\, |\texttt{zlib}(x)|$, $\ell = \frac{1}{T}\sum_t \mathcal{L}_t$
MIA-Min-K [7] — 最低 $k$% 对数概率的均值。$-\frac{1}{\lceil kT\rceil}\sum_{t \in \mathcal{B}_k} \log p_t,\;\; k{=}0.4$
MIA-Min-K++ [8] — 标准化 Min-K。$z_t = (\log p_t - \mu_t) / \sigma_t$,然后对 $z_t$ 求 Min-K
归一化 (4,记为 $s_*$) — 使用 retain 作为锚点的 MUSE PrivLeak 风格重缩放 [10]:
$\text{normalized}_* = |\text{AUC}_{\text{model}} - \text{AUC}_{\text{retain}}|\, /\, \text{AUC}_{\text{retain}}$
$s_* = 1 - \min(\text{normalized}_*,\; 1)$ (反转;1.0 = 已擦除,0.0 = 与 retain 偏差大)
sLOSS · sZLib · sMin-K · sMin-K++

表示(4)——在表示层面衡量知识擦除。全部以 retain 模型作为参考。
CKA [3] —— 通过核对齐衡量表示相似度,按层针对 full–retain 锚点进行归一化。
$\text{erasure}_l=\text{clip}\!\left(\dfrac{\text{CKA}(H_{\text{unl}},H_{\text{ret}})_l-\text{CKA}(H_{\text{full}},H_{\text{ret}})_l}{1-\text{CKA}(H_{\text{full}},H_{\text{ret}})_l+\epsilon},\,0,\,1\right),\;\;w_l=1-\text{CKA}(H_{\text{full}},H_{\text{ret}})_l,\;\;\text{score}=\dfrac{\sum_l w_l\cdot \text{erasure}_l}{\sum_l w_l}$  
Logit Lens [4] —— 通过 full 模型冻结的解码器(LayerNorm + lm_head)解码每一层的隐藏状态,以衡量每层可解码的知识。
$k_{m,l} = \text{logprob}(\text{entity}\mid H^l_m \to \text{decoder}_{\text{full}})$,   $d_{m,l} = k_{\text{full},l} - k_{m,l}$
Fisher Masked [5] —— 对角 Fisher 信息,配合 top-$p$% 参数掩码。聚焦于在遗忘集上 retain 比 full 敏感度更高的参数。$p$ ∈ {0.01%, 0.1%, 1%}。
$a_i = \max(F_{\text{ret},i} - F_{\text{full},i},\; 0)$,   $M_l$ = top $p$% of $a_i$,   $\text{erasure}_l = 1 - \text{clip}(\text{excess}_{\text{unl}} / \text{excess}_{\text{full}},\; 0,\; 1)$
UDS (Ours) —— 衡量知识是否可通过激活补丁恢复。
符号: $x$ = 输入提示,$y = (y_1,\dots,y_T)$ = 实体跨度 token,$M_{\text{full}}$ = full 模型,$M_S$ = 源模型($S1$=retain,$S2$=unlearned)。
$s^{\text{full}}_t = \log p_{M_{\text{full}}}(y_t \mid x, y_{1:t{-}1})$  (full 模型对实体 token $y_t$ 的对数概率)
$s^{S}_t = \log p^{\text{patch}(M_S)}_{M_{\text{full}}}(y_t \mid x, y_{1:t{-}1})$  (用源激活对第 $l$ 层打补丁后的对数概率)
$\Delta^{S}_{l} = \frac{1}{T}\sum_{t} (s^{\text{full}}_t - s^{S}_t)$  (第 $l$ 层的平均对数概率下降;越大 = 源模型缺失的知识越多)
$\text{FT}_i = \{l : \Delta^{S1}_{i,l} > \tau\}$  ($\tau{=}0.05$,过滤噪声:retain 确实缺失目标知识的层)
$\text{UDS}_i = \dfrac{\sum_{l\in\text{FT}} \Delta^{S1}_{i,l} \cdot \text{clip}(\Delta^{S2}_{i,l} / \Delta^{S1}_{i,l},\; 0,\; 1)}{\sum_{l\in\text{FT}} \Delta^{S1}_{i,l}}$  (按 $\Delta^{S1}$ 加权的逐层擦除比例平均值)
$\text{UDS} = \frac{1}{N}\sum_i \text{UDS}_i$

每列:最佳、次佳、最差、次差。  Output = 基于模型输出  Retain = 以 retain 为参考  Internal = 内部表示。

指标 总体 ↑ 忠实度 ↑ 鲁棒性
综合 ↑ 量化 ↑ 再学习 ↑
加载中……

忠实度:P/N 池直方图

Faithfulness histograms

鲁棒性:量化散点图

效用 + 忠实度过滤

Quantization robustness scatter (usable)

仅效用过滤

Quantization robustness scatter (utility only)

鲁棒性:再学习散点图

效用 + 忠实度过滤

Relearning robustness scatter (usable)

仅效用过滤

Relearning robustness scatter (utility only)

基准

我们沿三个维度评估了 152 个模型(8 种方法 × 不同超参数 × 2 个 epoch + full + retain)。 所有 unlearned 模型检查点均来自 Open-Unlearning 框架。

记忆:目标知识被遗忘的程度。(↑ 越高 = 遗忘越多)
隐私:遗忘集中的敏感信息被保护、免于被提取的程度。(↑ 越高 = 保护越好)
效用:模型在非目标知识上保留通用能力的程度。(↑ 越高 = 保留越好)
总体:三个维度的调和平均数。(↑ 越高 = 越好)

UDS 作为 Privacy = HM(MIA, UDS) 被纳入隐私维度,同时涵盖统计层面(MIA)和机制层面(UDS)。

公式

记忆:
Mem. $= \text{HM}(1{-}\text{ES},\; 1{-}\text{EM},\; 1{-}\text{ParaProb},\; 1{-}\text{TruthRatio})$
ES=提取强度,EM=精确记忆,ParaProb=改写概率,TruthRatio=真实比率

隐私:
MIA $= \text{HM}(s_{\text{LOSS}},\; s_{\text{ZLib}},\; s_{\text{Min-K}},\; s_{\text{Min-K++}})$
$s_* = 1 - \min(|\text{AUC} - \text{AUC}_{\text{ret}}|\, /\, \text{AUC}_{\text{ret}},\; 1)$
Privacy = HM(MIA, UDS)

效用:
ModelUtility (MU) = HM(retain_Prob, retain_ROUGE, retain_TruthRatio, ra_Prob, ra_ROUGE, ra_TruthRatio, wf_Prob, wf_ROUGE, wf_TruthRatio)
retain=保留集,ra=真实作者,wf=世界事实
Fluency = 生成流畅度得分
Utility = HM(MU, Fluency),然后归一化:$\text{Utility}_{\text{rel}} = \text{Utility}\, /\, \text{Utility}_{\text{full(epoch)}}$

总体:
Overall $= \text{HM}(\text{Mem.},\; \text{Privacy},\; \text{Utility}_{\text{rel}})$

超参数扫描

方法 学习率 扫描的超参数 固定 轮数 模型
GradDiff [12], IdkNLL [12], IdkDPO [12], NPO [13], AltPO [14] {1e-5, 2e-5, 5e-5} $\alpha$ ∈ {1, 2, 5} β = 0.1 {5, 10} 5 × 3 × 3 × 2 = 90
SimNPO [15] {1e-5, 2e-5, 5e-5} $\beta$ ∈ {3.5, 4.5}, $\gamma$ ∈ {0.125, 0.25} δ = 1, α = 1 {5, 10} 1 × 3 × 4 × 2 = 24
RMU [16] {1e-5, 2e-5, 5e-5} layer ∈ {5, 10, 15} steering coeff = 10 {5, 10} 1 × 3 × 3 × 2 = 18
UNDIAL [17] {1e-5, 1e-4, 3e-4} $\alpha$ ∈ {1, 2, 5} β = 10 {5, 10} 1 × 3 × 3 × 2 = 18
总计:150 个未学习 + full + retain 152

查看

轮数

方法

总计:加载中...

模型 总体w/o UDS ↑ 总体w/ UDS ↑ 记忆 ↑ 隐私 ↑ 效用 ↑ LL ↑ UDS ↑
加载中...

来源:Hacker News · gnueaj.github.io