论文笔记:AlphaEdit: Null-Space Constrained Knowledge Editing for Language Models(AlphaEdit)

  论文发表于人工智能顶会ICLR(原文链接)。基于定位和修改的模型编辑方法(针对ROMEMEMIT等)会破坏LLM中最初保存的知识,特别是在顺序编辑场景。为此,本文提出AlphaEdit:

  1、在将保留知识应用于参数之前,将扰动投影到保留知识的零空间上。

  2、从理论上证明,这种预测确保了在查询保留的知识时,编辑后的LLM的输出保持不变,从而减轻中断问题。

  3、对各种LLM(包括LLaMA3、GPT2XL和GPT-J)的广泛实验表明,AlphaEdit只需一行额外的投影代码,即可将大多数定位编辑方法的性能平均提高36.4%。

  阅读本文请同时参考原始论文图表。

1  AlphaEdit#

1.1  零空间#

  基于前面ROME/MEMIT的工作,对于LLM中的MLP矩阵W W ,可被表示为关于已有知识(K0,V0)的优化结果:

W=argmin~W~WK0V02 W = arg ⁡ min W ~ ‖ W ~ K 0 − V 0 ‖ 2

  其中矩阵K0Rd0×n,V0Rd0×n K 0 ∈ R d 0 × n , V 0 ∈ R d 0 × n n n 表示已有知识数量。对于新增知识(K1,V1),MEMIT的做法为优化扰动Δ Δ 来更新W W

Δ=argminΔ~((W+Δ~)K1V12+(W+Δ~)K0V02)

  上式为二次优化,可通过求导直接获得闭式解。然而,耦合的优化不可避免会是扰动量对原始知识产生影响,从而在终身编辑场景中鲁棒性不强。文中通过将中间token表示映射到二维空间的分布偏移来表明这一观点:如图1be所示,MEMIT在编辑后token表示的分布产生了较大偏移,而AlphaEdit则没有。

  因此,AlphaEdit期望找到K0 K 0 的零空间,把Δ Δ 映射到其上,从而权重更新将对这些知识不产生影响。矩阵B B 在矩阵A的零空间内,当且仅当BA=0 B A = 0 。也就是说,期望找到Δ Δ 有:

(W+Δ)K0=WK0=V0 ( W + Δ ) K 0 = W K 0 = V 0

  那么如何将Δ Δ 映射到K0 K 0 的零空间呢?

1.2  SVD分解获取零空间映射#

  考虑对称方阵K0KT0Rd0×d0 K 0 K 0 T ∈ R d 0 × d 0 ,对其进行奇异值分解(SVD),得到:

{U,Λ,UT}=SVD(K0KT0) { U , Λ , U T } = SVD ( K 0 K 0 T )

  其中U U 为正交矩阵(UUT=I),Λ Λ 对角矩阵,主对角线为奇异值。将奇异值在主对角线降序排序:

Λ=[Λ100Λ2] Λ = [ Λ 1 0 0 Λ 2 ]

  取其中为零的部分Λ2 Λ 2 (假设Λ2 Λ 2 都很小几乎为0,文中取小于0.01的值)在U U 中对应的特征向量矩阵U^Rd0×m。则P=^U^UT P = U ^ U ^ T 为将任意矩阵映射到K0KT0 K 0 K 0 T 零空间的矩阵。这是由于,对于任意矩阵Δ Δ ,有:

ΔPK0KT0=Δ^U^UTK0KT0=Δ^U^UTUΛUT Δ P K 0 K 0 T = Δ U ^ U ^ T K 0 K 0 T = Δ U ^ U ^ T U Λ U T

  由于其中^UTUΛ=0 U ^ T U Λ = 0 ,上式为零。P P K0K0T的零空间映射矩阵,同时也K0 K 0 的零空间映射矩阵,这是由于:

PK0KT0=0PK0KTPT=0PK0(KP)T=0PK0=0 P K 0 K 0 T = 0 ⇒ P K 0 K T P T = 0 ⇒ P K 0 ( K P ) T = 0 ⇒ P K 0 = 0

1.3  AlphaEdit优化#

  基于ROME/EMMIT工作,K0KT0 K 0 K 0 T 可通过计算10万条数据获得,即可进一步获得映射矩阵P P 。有了P,优化就无需再考虑原有知识K0 K 0 ,则AlphaEdit将优化式改为:

Δ=argmin~Δ((W+~ΔP)K1V12+~ΔP2+~ΔPKp2) Δ = arg ⁡ min Δ ~ ( ‖ ( W + Δ ~ P ) K 1 − V 1 ‖ 2 + ‖ Δ ~ P ‖ 2 + ‖ Δ ~ P K p ‖ 2 )

  其中第二项控制Δ Δ 的范数,避免数值过大,第三项额外考虑终身编辑场景中已编辑的知识(Kp,Vp) ( K p , V p ) 。原始MEMIT没有考虑第三项。求导得到方程:

(ΔPK1R)KT1P+ΔP+ΔPKpKTpP=0 ( Δ P K 1 − R ) K 1 T P + Δ P + Δ P K p K p T P = 0

  其中R=V1WK1 R = V 1 − W K 1 表示新值V1 V 1 与原始矩阵在新键下的残差。可得AlphaEdit的矩阵变化量ΔAlphaEdit Δ AlphaEdit 为:

ΔAlphaEdit=ΔP=RKT1P(KpKTpP+K1KT1P+I)1 Δ AlphaEdit = Δ P = R K 1 T P ( K p K p T P + K 1 K 1 T P + I ) − 1

  MEMIT的原始闭式解如下所示(额外考虑了已编辑知识),文中表明,仅仅这里改动一行代码,产生较好的编辑性能。

ΔMEMIT=RKT1(KpKTpP+K1KT1+K0KT0)1 Δ MEMIT = R K 1 T ( K p K p T P + K 1 K 1 T + K 0 K 0 T ) − 1

2  实验#

  表1:2000条知识的编辑实验,AlphaEdit的编辑批量为100,编辑20次。

  图5:token表示分布偏移对比。

  其它图表:一些对比和增强效果。

原创作者: qizhou 转载于: https://www.cnblogs.com/qizhou/p/18974434
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值