Unlearn What You Want to Forget Efficient Unlearning for LLMs

Chen J. and Yang D. Unlearn what you want to forget: efficient unlearning for llms. 2024.

本文提出一种 Unlearning layer 去帮助 LLMs '遗忘' 一些数据.

符号说明

  • F(), large language model (LLM):
  • F(), updated model;
  • D={(x,y)}, training dataset;
  • Df={(xf,yf)}, data to be forgot;
  • Dr=DDf={(xr,yr)}.

Unlearning Layers

  • 作者希望通过微调 Unlearning Layer f 来使得模型能够忘掉数据 Df, 如上图所示, 就是加载每个 block 中, 它的结构式一个简单的线性层.

  • 为了达到这个目标作者首先引入 KL 散度:

    LKL=αxrKL(F(xr)F(xr))xfKL(F(xf)F(xf)),

    即对于一般的数据点, F 的输出要和原来的 F 靠近, 对于需要遗忘的数据点, 则需要和原来的数据点原理 (难道远离就是遗忘吗? 我感觉比较均匀分布会不会更好一点?)

  • 其次为了保证下游任务的性能, 引入 task loss:

    LTask=xrl(F(x),yr).

  • 最后是 LM 的预训练损失, 确保 LM 本身也忘掉数据 Df,

    LLM=xfl(F(Xf)).

  • 最后总的损失为:

    LEUL=LKL+λLTASK+γLLM.

Fusing Unlearning Layers

  • 作者还讨论了, 假如我们依次遗忘了 m 次数据, 即有 f1,f2,,fm, 如何将这些 unlearning layers 综合起来呢? 作者选择求解如下的 W:

    minWmiWmTXifWiTXif2,

    它有显式解如下:

    Wm=(iXifTXif)1i(XifTXifWi).

代码

[official-code]

posted @   馒头and花卷  阅读(113)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
历史上的今天:
2023-06-02 Self-Supervised Hypergraph Convolutional Networks for Session-based Recommendation
2020-06-02 Adversarially Robust Generalization Requires More Data
点击右上角即可分享
微信分享提示