?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