首页 > 其他分享 >MachineUnlearn 的一种方法

MachineUnlearn 的一种方法

时间:2024-05-27 15:37:13浏览次数:15  
标签:frac unlearning MachineUnlearn arXiv 一种 Big 方法 sum left

Machine Unlearn Method

半白盒攻击

image-20240424152946459

LLM unlearning [1] [2] 可以视为RLHF的替代方案, 用于消除LLM的幻觉, 删除受版权保护的内容等, 也可以视为事后防御策略, 用于防止JailBreak

Eraser: Jailbreaking Defense [2:1]文章中, 作者直观地认为同一个问题的多个答案应当有相似之处, 所以数据集的构建上 , 作者使用其他未经审查的模型获取有害回答以构建有害内容数据集\(D_f\)

\[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 T(x),y_{<i}\right)\right) \]

针对我们使用的半白盒攻击, 我们并不是使用对抗性后缀触发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\)尽可能相似

\[L_r=\frac{1}{|D_r|}\sum_{(x,y)\in D_r}\sum_{i=1}^{|y|}KL\Big(h\Big(x,y_{<i}\Big) | |f\Big(x,y_{<i}\Big)\Big) \]

这一步的对概率求解: 我们可以在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


  1. Yao Y, Xu X, Liu Y. Large language model unlearning[J]. arXiv preprint arXiv:2310.10683, 2023.MLA ↩︎

  2. 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. ↩︎ ↩︎

  3. 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 ↩︎

标签:frac,unlearning,MachineUnlearn,arXiv,一种,Big,方法,sum,left
From: https://www.cnblogs.com/Mintisn/p/18215571

相关文章

  • 无位置编码 (NoPE) 也有长度泛化问题?首个针对NoPE的长度外推方法
    前言 无位置编码(NoPE)的Transformer已经被证明在自回归语言模型任务上和Transformer+RoPE效果相当,但是NoPE的长度泛化问题并没有改善,和RoPE一样严重。华师、复旦、上海AILab联合团队基于NoPE,在排除位置编码影响下,研究长度泛化失败的表现和原因,并首次提出适用于NoPE......
  • 更适合国内的远程访问方法:自建根服务器&基于节点小宝虚拟内网
    网盘限速?异地出差忘文件?出差异地办公,访问公司OA、ERP、CRM系统、文件服务器等,快速组建个人局域网,家庭影院共享,享受高质量的视听体验。等等这样的场景,稳定靠谱的远程访问能力显得就更加至关重要了。总的来说,从外网访问内网的服务大致有三种方案:1、获取公网IP+DDNS解析2、......
  • 方法引用(进一步简化Lambda)
    静态方法的引用格式:类名::静态方法。场景:如果某个Lambda表达式里只是调用一个静态方法,并且前后参数的形式一致,就可以使用静态方法引用。//静态方法的引用Arrays.sort(cooking,CompareByData::compareByPrice);publicclassCompareByData{publicstaticintcompar......
  • java 实现递归方法
    递归是一种通过调用自身的函数来解决问题的方法。在Java中,编写递归可以按照以下步骤进行:确定基本情况:首先确定递归函数的基本情况,即递归终止条件。通常,这是一个简单的情况,无需进一步递归调用即可解决。定义递归方法:编写一个方法来解决问题,并在方法中判断是否需要进行递归调......
  • (十)计算机数值方法之Gauss_Seidel迭代法
    数学问题:用Gauss_Seidel迭代法求解方程组:初始迭代向量均设为零向量,二范数误差小于1e-4。解决代码:#include<iostream>#include<math.h>#include<iomanip>usingnamespacestd;#definesize10voidGauss_Seidel(doubleA[size][size],doubleB[size],intn,dou......
  • 后端数据校验之Validator的使用方法
    https://blog.csdn.net/m0_72167535/article/details/1281733261.使用场景2.常用注解3.非空校验注解@NotNull、@NotEmpty、@NotBlank的区别和运用4.使用示例1.使用场景方法体在根据参数进行逻辑处理时,尝尝需要对参数进行校验,一些简单的校验可以使用Validator校验方法。2.常......
  • java方法重写的语法要求
    ​ /* *重写要遵循"两同两小一大"原则: *1)两同: * 1.1)方法名相同 * 1.2)参数列表相同 *2)两小: * 2.1)子类方法的返回值类型小于或等于父类的 *   2.1.1)void时,必须相同 *   2.1.2)基本类型时,必须相同 *   2.1.3)引用类型时,小于或......
  • 【强化学习】强化学习基础教程:基本概念、强化学习的定义,要素,方法分类 以及 Rollout、e
    【强化学习】强化学习基础教程:基本概念、强化学习的定义,要素,方法分类以及Rollout、episode回合、transition转移、trajectory轨迹的概念1.基础概念1.1强化学习的定义1.2强化学习的基本要素2.强化学习分类2.1根据agent学习方式分为基于策略的强化学习PolicybasedR......
  • 什么是方法
    目录一、流程控制关键字1.1break1.2continue二、方法设计[重点]2.1方法说明什么是方法?为什么需要方法?2.2无参无返回值2.3有参数无返回值2.4有参数有返回值返回值,就是方法执行后返回的数据2.5方法设计总结2.6方法调用三、递归[熟悉]四.总结一、流程......
  • String常用方法(4)及补充方法
    publicStringreplace(charoldChar,charnewChar)------将旧字符串替换成新的字符串publicString[]split(Stringstr)------根据str作拆分代码详情:publicclassDemo05{publicstaticvoidmain(String[]args){Stringcontent="java是世界上最好的java编程语......