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