0 和post training的区别


- 直接用post training的方法是有挑战的,因为通常训练资料只有一笔
- 而且之后不管问什么问题,都有可能只是这个答案了
1 模型编辑的评估方案

- reliability——同样的问题,需要是目标答案
- generalization——问题(输入)有一些改变,输出应该根据目标改变
- locality——其他无关的问题结果不应该有改变

不同论文不同设定
取决于考量
现在大部分只能paraphrase

2 不动参数的方法

直接in context 编辑的话,llm可能会不相信提供的新知识

Can We Edit Factual Knowledge by In-Context Learning?
需要给模型一些范例,告诉模型怎么使用新知识

3 改变参数的方法

- 编辑模型的模型
- 接受指令后,输出e,e的大小和待编辑模型的参数一样
- e加到待编辑模型的参数中

那怎么知道e呢?

训练的时候拼在一起当作一个神经网络
e看作中间某一层的hidden representation

u1是无关的 locality的问题

- 实际上的做法大多是
- 根据问题和我们要编辑的知识,计算一个loss和待编辑模型各个参数的梯度g
- 然后计算一个梯度g到e的神经网络

但是对于这个问题,假设即使只有一层,那么这个neural network'的参数也是1024^4个
没办法做这么大的neural network

这里利用了gradient des的一个特征
假设一个矩阵他的graident是一个1024*1024的矩阵,那么这个matrix的rank是1
将大矩阵拆分成两个向量u和v,分别通过neural network学习对应的u‘,v’,拼起来就是e