ALPHAEDIT:NULL-SPACE CONSTRAINED KNOWLEDGE EDITING FOR LANGUAGE MODELS

(ICLR 2025 outstanding paper)

准备知识

自回归LLM

模型可以写为:

$$
\begin{align}
h^i&=h^{i-1}+a^i+m^i
\\
m^i&=W_{out}^i\sigma(W_{in}\gamma(h^{l-1}+a^l))
\end{align}
$$

LLM 中的模型编辑

我们会用“键-值”(key-value)对来描述。 Wout 在 FFN 层中通常被解释为一个线性的联想记忆,充当信息检索的关键-值存储。(可以适当联想一下上篇博客)。

只关注更新知识时:
$$
\Delta=argmin_{\tilde \Delta}||(W+\tilde\Delta)K_1-V_1||^2
$$
即关注新知识,又注重原知识:
$$
\Delta=argmin_{\tilde \Delta}||(W+\tilde\Delta)K_1-V_1||^2+||(W+\tilde\Delta)K_0-V_0||^2
$$
上式的闭式解为:$\Delta=(V_1-WK_1)K_1^T(K_0K_0^T+K_1K_1^T)^{-1}$

由于$WK_0=V_0$,$||(W+\tilde\Delta)K_0-V_0||^2=||\tilde\Delta K_0||^2$

故等价于
$$
\begin{align}
\Delta&=argmin_{\tilde \Delta}||(W+\tilde\Delta)K_1-V_1||^2+||\tilde\Delta K_0||^2
\\
&=argmin_{\tilde \Delta}||\tilde\Delta K_1-(V_1-WK_1)||^2+||\tilde\Delta K_0||^2
\end{align}
$$
记$J(\tilde \Delta)=||\tilde\Delta K_1-(V_1-WK_1)||^2+||\tilde\Delta K_0||^2$
$$
\begin{align}
\frac{\partial J}{\partial \Delta}&=\frac{\partial }{\partial \Delta}||\Delta K_1-(V_1-WK_1)||^2+||\Delta K_0||^2=0
\\
&\Leftrightarrow2(\Delta K_1-(V_1-WK_1))K_1^T+2(\Delta K_0)K_0^T=0
\\
&\Leftrightarrow \Delta(K_1K_1^T+K_0K_0^T)=(V_1-WK_1)K_1^T
\\
&\Leftrightarrow\Delta=(V_1-WK_1)K_1^T(K_0K_0^T+K_1K_1^T)^{-1}
\end{align}
$$

零空间

BA=0,则B属于A的(左)零空间。

故对于扰动$\Delta$,则有$(W+\Delta)K_0=WK_0=V_0$。这正是我们所需要的性质。

我们可以把扰动投影到K0的零空间从而将K0从损失函数中消去,这样我们可以不用去权衡新旧知识损失函数的比率。

算法

由于$K_0\in R^{d_0\times 100000}$具有高维度,而$K_0$和$K_0(K_0)^T$具有相同的零空间,故我们对$K_0K_0^T$进行分析。

对$K_0K_0^T$进行SVD:$U,\Lambda, U^T=SVD(K_0K_0^T)$.

U的每一列是特征向量,移除非0(由于实际上特征值很难为0,故移除的是大于$10^{-2}$的)的特征值,得到$\hat U$。

故投影矩阵P定义为:$P=\hat U(\hat U)^T$

故$(W+\Delta P)K_0=WK_0=V_0$.

最终的优化函数为:
$$
\Delta=argmin_{\tilde \Delta}||(W+\tilde\Delta P)K_1-V_1||^2+||\tilde \Delta P||^2
$$
在顺序编辑任务中,在当前编辑过程中,我们需要在目标中添加一项以防止扰动破坏先前编辑中更新的知识。令$K_p$ 和$V_p$表示之前更新知识的关键和值矩阵。即$||(W+\tilde\Delta P)K_p-V_p||^2$最小化,而其可以简化为$||\tilde \Delta PK_p||^2$。

优化函数为:
$$
\Delta=argmin_{\tilde \Delta}||(W+\tilde\Delta P)K_1-V_1||^2+||\tilde \Delta P||^2+||\tilde \Delta PK_p||^2
$$

为了方便求导,我们首先定义残差来简化:$R=V_1-WK_1$

同样记$J(\tilde\Delta)=||(W+\tilde\Delta P)K_1-V_1||^2+||\tilde \Delta P||^2+||\tilde \Delta PK_p||^2$.

则:
$$
\begin{align}
J(\tilde\Delta)&=||(W+\tilde\Delta P)K_1-V_1||^2+||\tilde \Delta P||^2+||\tilde \Delta PK_p||^2
\\&=||\tilde\Delta PK_1-R||^2+||\tilde \Delta P||^2+||\tilde \Delta PK_p||^2
\end{align}
$$
求导有,注意对称和幂等:$P=P^T,P^2=P$:
$$
\begin{align}
&2(\tilde\Delta PK_1-R)(PK_1)^T+2(\tilde \Delta P)(P^T)+2(\tilde \Delta PK_p)(PK_p)^T=0
\\
&\Leftrightarrow \tilde\Delta PK_1K_1^TP-RK_1^TP+\tilde\Delta P+\tilde\Delta PK_pK_p^TP=0
\\
&\Leftrightarrow (\tilde\Delta PK_1-R)K_1^TP+\tilde\Delta P+\tilde\Delta PK_pK_p^TP=0
\\
&\Leftrightarrow \tilde\Delta PK_1K_1^TP+\tilde\Delta P+\tilde\Delta PK_pK_p^TP=RK_1^TP
\\
&\Leftrightarrow \tilde\Delta P(K_1K_1^TP+I+K_pK_p^TP)=RK_1^TP
\\
&\Leftrightarrow \tilde\Delta P=RK_1^TP(K_1K_1^TP+I+K_pK_p^TP)^{-1}
\end{align}
$$
而和现有方法(MEMIT)比较可以发现只需修改一行代码就能得到更好的效果:
$$
\Delta_{MEMIT}=RK_1^T(K_pK_p^T+K_1K_1^T+K_0K_0^T)^{-1}
$$


ALPHAEDIT:NULL-SPACE CONSTRAINED KNOWLEDGE EDITING FOR LANGUAGE MODELS
https://lijianxiong.space/2025/20250903/
作者
LJX
发布于
2025年9月3日
许可协议