Machine Unlearn Method
半白盒攻击
LLM unlearning [1] [2] 可以视为RLHF的替代方案, 用于消除LLM的幻觉, 删除受版权保护的内容等, 也可以视为事后防御策略, 用于防止JailBreak
在Eraser: Jailbreaking Defense
[2:1]文章中, 作者直观地认为同一个问题的多个答案应当有相似之处, 所以数据集的构建上 , 作者使用其他未经审查的模型获取有害回答以构建有害内容数据集\(D_f\)
针对我们使用的半白盒攻击, 我们并不是使用对抗性后缀触发Jailbreak, 因此我们的训练目标应该改成:
\[L^*_f=\frac{1}{\left|D_f\right|}\sum_{(x,y)\in D_f}\sum_{i=1}^{|y|}-\log\left(p\left(y_i\mid y^*_{<i}\right)\right) \]其中\(y^*\)是白盒攻击下我们设定的模型response的前缀(诸如 "here is", "1."等等)
数据集\(D_h\) : 为了保留与实体相关的一般性知识创建的数据集
\[L_h=\frac{1}{|D_h|}\sum_{(x,y)\in D_h }\sum_{i=1}^{|y|}KL\Big(h\Big(x,y_{<i}\Big) | |f\Big(x,y_{<i}\Big)\Big) \]数据集\(D_r\):为了鼓励模型具备相似拒绝能力而创建的数据集
最小化\(L_r\)以期望模型\(f\)和微调后的\(h\)尽可能相似
这一步的对概率求解: 我们可以在LLaMa中使用之前提出的半白盒实现
我们的训练目标变为
\[L=\text{Min}\left(\begin{array}{c}0,L^*_f-\gamma\end{array}\right)+L_h+L_r \]基于原论文所提到的[3], 我们也为\(L_f\)提供一个阈值.
数据集 | 内容 |
---|---|
D_f | 一个有害内容的数据集 |
D_h | 保留一般性知识而创建的数据集, 使用类似 {实体}的定义,作用,应用场景,优缺点 的prompt ,通过LLM得到 |
D_r | 为了鼓励模型具备相似拒绝能力而创建的数据集, 使用原始的有害问题创建 |
ref
Yao Y, Xu X, Liu Y. Large language model unlearning[J]. arXiv preprint arXiv:2310.10683, 2023.MLA ↩︎
Lu W, Zeng Z, Wang J, et al. Eraser: Jailbreaking Defense in Large Language Models via Unlearning Harmful Knowledge[J]. arXiv preprint arXiv:2404.05880, 2024. ↩︎ ↩︎
we observe that prolonged unlearning training can have a detrimental effect on the model’s performance over time. Therefore, we aim to set a constraint for the unlearning objective and focus on optimizing the remaining two objectives after sufficient unlearning training ↩︎