【李宏毅机器学习2025春】笔记——8.模型编辑(Model Editing)
08 模型编辑
目录
- 1.Model Editing与Post-training区别
- 2.评估Model Editing的三个维度
- 2.1 Generalization的界定
- 3.Model Editing常见方法
- 3.1 不改参数(
IKE) - 3.2 修改参数
- 3.2.1 人类决定的编辑(
ROME) - 3.2.2 人工智能学习如何编辑
- 3.2.1 人类决定的编辑(
- 3.1 不改参数(
1. Model Editing与Post-training区别
- Model Editing一般是把某个特定的知识植入给模型,而Post-training则是让模型学会某项技能.理论上可以把Model Editing当作是Post-training,但存在的挑战是数据过少,Model Editing通常只需要一条数据.

2. 评估Model Editing的三个维度
Reliability:即达成编辑目标,所需问题有所需答案Generalization:在输入有细微的改变(语义完全不变)时,输出结果也应按照目标改变.Locality:其他无关输入不应因编辑而答案被修改.

2.1 Generalization的界定
Generalization由可以分为三方面:
-
Paraphrase:即细微改动的同义句
-
Reverse:通常是该知识的主客反问,如编辑A是B,则看能否由B再推出A.
-
Portability:即模型编辑后能否把新知识迁移到其他任务中,如编辑A是B,则看能否在B相关的句子中代入A.

-
用下图来总结:

3. Model Editing常见方法
常见方法分为不改参数和改变参数:
3.1 不改参数(IKE)
直接告诉模型新知识会与模型掌握知识相悖,导致模型不相信.需要通过IKE(In-context Knowledge Editing)的方法,即给模型示例新知识使用方法.

3.2 修改参数
3.2.1 人类决定的编辑(ROME)
-
可以采用
Rank-One Model Editing的方法,大致内容为找出类神经网络中与需编辑知识相关部分,再手动修改该部分的参数.

-
那如何找出类神经网络中与知识相关的部分呢?以图示为例:把“The Space Needle”部分的token遮住(在token embedding中加入noise或者置为zero vector)由于输入改变,每一层的embedding都发生改变,把原先的embedding置换到遮挡后相同位置的embedding,观察模型的输出,如果输出原有答案则说明该embedding与知识有关联.

-
接下来便是修改:在一个Transformer里面的FeedForward(MLP)的最后一层layer的参数进行编辑,就会改变加入residual stream的输入,从而改变该layer的输出

-
除了给定输入k∗k^*k∗(考虑多个输入k的平均,可以增加generalization能力),把原有的输出由vvv修改为v∗v^*v∗外(实现Reliability),我们还希望增加编辑后的Locality能力.

-
如下是写成数学形式的过程,其中矩阵K为不希望被修改的知识.

3.2.2 人工智能学习如何编辑
-
利用人工智能来代替人类角色,实际上是让另一个人工智能来决定如何编辑.引入编辑模型(
Hypernetwork),记作ϕ\phiϕ,待编辑模型记作θ\thetaθ,编辑模型在接收到指令后,会输出与待编辑模型参数大小一致的向量eee传递给待编辑模型.

-
那如何训练Hypernetwork呢?我们希望编辑模型能输出参数向量eee,但我们往往不能知道其实际是什么样的.因而有另一种训练方式,即把两个模型合并看作一个类神经网络,此时参数向量e就是类神经网络中某一层hidden state的输出,我们只需要训练模型,让模型达到输出目标就行.

-
该方法训练和测试流程如下:训练时提供实现Reliability和Generalization的资料(x)和Locality的资料(u).在测试时只需关注输出,不需担心参数向量e对其他问题造成影响,因为在大量训练资料情况下,模型可能自动学会了Locality的能力.

-
但上述方法的训练其实是困难的,因为需要参数量巨大的模型.可以考虑利用Loss计算出Gradient Descent,再通过一个神经网络来输出参数向量e

-
可以利用
MEND方法对Gradient Desent(g)的大小问题进行进一步优化,即把g分解为uuu和vTv^TvT,再把它们传给一个类神经网络得到u^\hat{u}u^和vT^\hat{v^T}vT^,把得到的二者相乘得到一个矩阵,把该矩阵当作参数向量e来更新待编辑模型.

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)