1.Unilogit: Robust Machine Unlearning for LLMs Using Uniform-Target Self-Distillation
这张图非常清晰地展示了 Unilogit 框架的核心工作流程。下面我来结合图中的元素,逐步解释这个框架是如何运作的。
简单来说,Unilogit 的核心流程是:修改模型的输出,创建一个理想的“遗忘后”目标,然后让模型向这个目标学习。
逐步拆解(结合图片)
-
1. 起点:输入一个想要“忘记”的样本
图的上方以“Warren Buffett is an American investor”为例。假设出于隐私原因,我们希望模型忘记“沃伦·巴菲特是投资者”这个信息。我们将这句话(其中“investor”是我们要遗忘的目标词元)输入给当前的大语言模型(LLM),此时模型的参数是 $\theta$ (theta)。
-
2. 获取模型的原始输出(Logits)
模型在预测“investor”这个词的时候,会在内部生成一组分数,这组分数就是 Logits。图中展示了 Logits 的一个示例:对于下一个词可能是
human,investor,athlete,dog,businessman... 这几个词,模型给每个词都打了一个分。注意看:此时模型还没有遗忘,所以investor这个词的 Logit 分数可能仍然很高。 -
3. 核心操作:压暗目标 Logit (Diminish logit)
这是 Unilogit 最关键的一步。我们手动将目标词元(
investor)的 Logit 分数压得很低,甚至变为负无穷,使其在后续的计算中几乎不起作用。为什么要这么做?因为我们要构造一个“理想状态”:模型应该对investor这个词没有任何偏好。 -
4. 创造“均匀概率”目标 (Uniform Probability)
对修改后的 Logits 应用 Softmax 函数。由于
investor的 Logit 被压低了,它在 Softmax 之后产生的概率会变得非常小。Unilogit 的目标是让investor这个词的概率,变得和词汇表中其他所有词的平均概率一样。这被称为“均匀概率”(Uniform),在图中用 $\sim U_{|V|}$ 表示。这就意味着模型真正“忘记”了对这个词的特殊记忆。 -
5. 生成“软标签”(Soft Labels)
经过上述步骤,我们得到一个新的概率分布(图中的 Modified Distribution)。这个分布代表了我们希望模型达成的“理想遗忘状态”。这个新的分布,就被作为训练时的“软标签”。注意,它不是真实数据,而是由当前模型自身的输出修改而来的目标。
-
6. 蒸馏目标:反向KL散度 (Distill Reverse KL)
现在,我们有两个分布:一个是修改后的分布(作为教师目标);一个是原始模型的分布(当前模型自己的输出)。我们使用 反向KL散度 (Reverse KL Divergence) 作为损失函数。这个函数的作用是“强迫”模型的原始输出去模仿那个我们构造出来的、已经实现了遗忘的修改后分布。
图中底部的两个柱状图可以看作这个过程:Unilogit 通过反向KL散度,让右侧的分布逐渐向左侧靠拢。最终,当模型再看到相关句子时,它不再倾向于预测“investor”,这就实现了遗忘。
总结
Unilogit 的框架可以概括为:
- 破坏:故意降低目标词的分数。
- 构造:生成一个“遗忘后”的理想概率分布(均匀分布)。
- 模仿:用反向KL散度,让模型自己当前的输出,去学习模仿这个理想分布。
这个过程是自蒸馏的,因为目标(软标签)正是从模型自己的输出修改而来的。它也是动态的,因为这个目标会随着模型的更新而变化,从而实现了比固定目标更精准的遗忘效果。