https://arxiv.org/abs/2104.08164
언어 모델에 저장된 지식 중 일부를 수정하고 나머지 지식을 보존할 수 있는 KnowledgeEditor방법론을 제안했습니다.
지식을 외부에 저장했던 기존의 Knowledge Bases (KBs)와는 달리, 신경망 모델이 파라미터에 지식을 저장하는 접근방법이 더 많이 사용되고 있습니다. 하지만, 이러한 방식으로 모델 내부에 저장된 지식을 수정하는 것은 매우 어렵습니다.
저자들은 이러한 문제를 해결하는데에 있어 세가지의 목표를 설정하였습니다.
선행 연구들에서 이 세가지를 모두 만족하는 연구들은 없었습니다. 하지만 이 논문에서 제안된 방법은 기존 연구들의 한계점을 모두 극복하였습니다.
저자들은 모델에 저장되어있는 메모리를 수정하는 것을 “learning-to-update” (업데이트를 위한 학습)의 문제로 보았습니다. 언어 모델의 파라미터를 업데이트하기 위해 학습된 hyper-network에 효율적인 파라미터를 설정하였습니다. 또한 학습을 위해 constrained optimization을 사용하여 수정된 모델이 기존 모델과 동일한 예측을 유지할 수 있게 하였습니다.
제안된 hyper-network 는 네트워크의 어떤 부분이 지식을 조정하기 위해 변해야하는지 “probe”으로 간주됩니다.
이 논문의 기여점은 다음과 같습니다.
모델의 기억이 수정되었다면, 특정 입력이 주어졌을 때 출력이 수정된 정보를 반영하고 있어야합니다. 따라서, 저자들은 특정 입력에 대한 모델의 예측에 영향을 주는 파라미터들을 바꾸는 방향을 고려하였습니다.
모델 와 수정이 필요한 데이터셋 이 있을 때, 가 의 예측이라면, 는 에 대한 수정된 모델의 예측입니다. 여기서 모델 구조 는 동일하게 두고 수정된 파라미터 를 찾는 문제로 정의될 수 있습니다. 저자들은 예측이 변하면 안되는 입력,출력 pair 를 유한 데이터셋 로 근사했습니다. 또한, (출력을 수정해야하는) 입력 와 의미적으로 동일한 입력들의 집합 에 대해서도 평가하였습니다.
모델에 저장된 메모리를 수정하기 위해서, 저자들은 수정을 하려는 사실에 조건화된 를 예측하는 모델인 KnowledgeEditor을 학습하였습니다. KnowledgeEditor 는 를 파라미터로 가진 hyper-netowkr로, 다른 네트워크의 파라미터를 예측합니다. 다른 예측에 대해서는 동일하게 유지하면서 특정 예측만 수정하기를 원하므로, constrained optimization 문제로 정의될 수 있습니다.
여기서 \theta'=\theta+g(x,y,a;\phi)이며, \mathcal{C}는 margin m을 하이퍼파라미터로 가지며, x'들에 대해서는 모델을 수정하지 않게 하는 제약조건입니다. 여기서 이 제약식은 \theta와 \theta'의 KL-Divergence로 계산됩니다.
하지만 이러한 비선형 constrained optimization은 intractable하므로, Lagrangian relaxation을 도입하였습니다. 또한, 제약조건 계산에서 모든 데이터에 대해 KLD를 학습단계마다 계산하는 것은 너무 많은 계산을 필요로 하므로, Monte Carlo 샘플링을 통해 근사했습니다. 마지막으로, seq-to-seq 모델의 경우 한 데이터에 대해서도 KLD를 계산하는데 많은 비용이 드므로, 빔 서치를 통해 샘플 공간의 부분집합의 계산을 근사하는 방법을 택했습니다.
의 파라미터를 직접적으로 예측하는 것 대신, hyper-parameter 는 shift ()를 예측합니다. 또한 계산의 효율성을 위해 는 gradient 정보 를 이용합니다.
먼저 를 인코딩한 후 특수 seperator와 concat후 bidirectional-LSTM에 입력합니다. 그리고, 마지막 LSTM의 hidden state를 Fully-connected layer에 넣어 하나의 벡터 를 출력하도록 합니다.
의 shift를 예측하기 위해서, 5개의 에 조건화된 FCN를 사용하여 를 출력합니다.
이러한 구조를 사용한다면, hyper-network 의 사이즈 증가는 의 사이즈에 따라 선형적으로 증가합니다.
본 연구에서는 두 가지 베이스라인인 fine-tuning과 Zhu et al (2020)의 방법을 비교하였습니다. Fine-tuning은 표준 경사 하강법을 사용하여 loss를 최소화하고, Zhu 등의 방법은 fine-tuning에 L∞ 제약 조건을 추가하는 방법입니다.
Fact-checking과 Closed-book question answering 태스크에서 BERT 및 BART 기반 모델을 fine-tune하여 평가하였습니다. Fact-checking은 FEVER 데이터셋을 사용하며, question answering은 Zero-Shot Relation Extraction 데이터셋을 사용하였습니다. 이 작업에서는 모델이 의미적으로 동일한 입력에 대해 robust한지 측정할 수 있도록, fact cheking에서는 label을 뒤집고, question answering에서는 빔 서치를 통해 상위 1개를 제외한 모든 가설을 선택하였습니다.


Table 1에서는 fact cheking 및 question answering 작업에 대한 주요 결과가 보고되었습니다. 전반적으로, Knowledge Editor은 모든 지표에서 높은 성능을 보입니다. 다른 몇 가지 방법들도 일부 지표에서 높은 정확도를 보이지만, 다른 지표에서 성능이 하락하는 것을 보입니다. FC와 QA 모두에서 제안된 전체 방법들이 다른 베이스라인을 능가할 확률이 매우 높다는 것을 보였습니다(각각 약 97%와 약 88%).
Knowledge Editor는 closed-book fact-checking과 question answering에서 모든 desiderata를 충족시키며 높은 성능을 보입니다. fine-tuning 방법은 QA에서 거의 완벽한 점수를 얻지만, retain accuracy가 희생되는 것이 문제입니다. 이는 sequence-to-sequence 모델이 작은 parameter shift에 민감하기 때문입니다. 하지만 Knowledge Editor는 이러한 문제를 성공적으로 해결하고 있습니다.
Knowledge Editor는 뛰어난 성능을 보이며 파라미터 업데이트 방식 중 최적의 방법이라는 것을 입증하였습니다. 방법과 fine-tuning 방법은 각각 성능 저하와 catastrophic forgetting 문제를 발생시켰습니다. 또한 fine-tuning all layers와 fine-tuning a single layer는 각각 장단점이 있으며, Zhu et al.의 방법은 retain accuracy를 높이지만 성공률이 낮은 문제가 있었습니다. FC에서 paraphrase에 대한 일반화 능력이 부족한 점도 지적되었습니다.
Knowledge Editor을 생성된 paraphrase와 함께 사용하면, FC와 QA 모두에서 성능이 크게 향상됩니다. FC에서는 하나의 layer를 fine-tuning하는 것이 success rate와 retain accuracy면에서 성능이 높았지만, paraphrase 대해 약한 성능을 보입니다. QA에서도 Zhu et al.방법은 저자들의 방법이나 다른 방법과 비교하여 결과가 좋지 않았습니다. 다른 방법들이 저자들의 방법보다 성능이 좋거나 비슷할 때, retain accuracy가 좋지 않습니다.

그림 3에서는 서로 다른 방법에 대한 fact cheking(Logistic regression, Fine-tuning all layers, Fine-tuning single layer, Zhu et al., \mathcal{C}{L_2}, Knowledge Editor) logit의 분포를 비교합니다. 그림에서 볼 수 있듯이, 모든 레이어를 finetuning하는 경우 많은 데이터 포인트가 의사 결정 경계를 넘어가고 원래 예측에서 확률이 변경되는 영향을 받습니다. \mathcal{C}{L_2}의 실패는 이전 예측을 거의 보존하지 않기 때문에 그림 3b에서 확인할 수 있습니다. Knowledge Editor는 대부분의 예측 라벨과 해당 확률을 보존하기 때문에 (그림 3c) 대각선에 머무르는 데이터 포인트가 대부분입니다.

그림 4에서는 QA 실험을 위한 평균 가중치 업데이트의 시각화를 보고 있습니다. 첫 번째 인코더 레이어와 마지막 디코더 레이어에 대한 기울기가 주로 집중되며, fine-tuning은 gradient 크기를 보존하지 않고 전체 모델을 거의 균등하게 업데이트합니다. Knowledge Editor는 gradient를 의미 있는 방식으로 사용하는 것으로 보이며, 적극적으로 일부 방향을 무시하거나 그 크기를 조절함으로써 gradient를 조작합니다. 이를 통해 모델이 지식을 인코딩하는 메커니즘에 대한 통찰력을 제공할 수 있습니다.
본 연구에서는 언어 모델 파라미터에 저장된 지식을 편집하는 태스크를 탐구했습니다. 이를 위해, 저자들은 목표와 여러 방법의 효과를 측정하기 위한 metric을 정의하고, closed-book fact-checking 및 question answering을 기반으로 하는 두 가지 벤치마크에서 구체적으로 평가했습니다. Knowledge Editor라는 hyper-network 기반의 방법을 제안하며, 이 방법은 LM 파라미터 내부에 저장된 지식을 효율적으로 수정하도록 학습합니다. 저자들은 모델을 다양한 fine-tuning 변형에 대해 종합적으로 평가하여 접근 방식의 이점을 입증하였습니다. 제안된 방법에서 예측된 업데이트의 크기를 통해 LM이 지식을 인코딩하는 메커니즘을 확인하였습니다.