Editing Factual Knowledge in Language Models

김동하·2023년 12월 11일

paper_review

목록 보기
4/11

https://arxiv.org/abs/2104.08164

언어 모델에 저장된 지식 중 일부를 수정하고 나머지 지식을 보존할 수 있는 KnowledgeEditor방법론을 제안했습니다.

Introduction

지식을 외부에 저장했던 기존의 Knowledge Bases (KBs)와는 달리, 신경망 모델이 파라미터에 지식을 저장하는 접근방법이 더 많이 사용되고 있습니다. 하지만, 이러한 방식으로 모델 내부에 저장된 지식을 수정하는 것은 매우 어렵습니다.

저자들은 이러한 문제를 해결하는데에 있어 세가지의 목표를 설정하였습니다.

  • Generality (일반성) : 모델이 특별히 수정가능하도록 학습되지 않아도 수정가능한 방법이어야 합니다. 즉, 특수한 pre-training 방법을 쓸 필요가 없어야합니다.
  • Reliability (의존성) : 특정 사실을 성공적으로 업데이트할 수 있는 동시에 나머지 지식들에 영향이 가면 안됩니다.
  • Consistency (일관성) : 지식의 동등한 표현에 대해서 수정이 일관성 있어야 합니다. 즉, 한 질문에 대한 답변을 업데이트하라는 요청이 있을 때, 그 질문과 동일한 표현의 다른 문장들에 대한 답변도 그에 따라 변경되어야 함을 의미합니다.

선행 연구들에서 이 세가지를 모두 만족하는 연구들은 없었습니다. 하지만 이 논문에서 제안된 방법은 기존 연구들의 한계점을 모두 극복하였습니다.

저자들은 모델에 저장되어있는 메모리를 수정하는 것을 “learning-to-update” (업데이트를 위한 학습)의 문제로 보았습니다. 언어 모델의 파라미터를 업데이트하기 위해 학습된 hyper-network에 효율적인 파라미터를 설정하였습니다. 또한 학습을 위해 constrained optimization을 사용하여 수정된 모델이 기존 모델과 동일한 예측을 유지할 수 있게 하였습니다.

img

제안된 hyper-network gg는 네트워크의 어떤 부분이 지식을 조정하기 위해 변해야하는지 “probe”으로 간주됩니다.

이 논문의 기여점은 다음과 같습니다.

  • 저자들은 knowledge editing의 문제를 정의하고 다양한 평가지표를 제안했습니다.
  • 저자들은 언어 모델의 기억을 효율적으로 수정함과 동시에 일관성 있는 예측을 유지하는 KnowledgeEditor을 제안했습니다.
  • 저자들은 제안된 방법이 fact-checking과 open-domain question answer에서 그들이 정의한 목표들을 충족하는 것을 증명했습니다.

2. Task

모델의 기억이 수정되었다면, 특정 입력이 주어졌을 때 출력이 수정된 정보를 반영하고 있어야합니다. 따라서, 저자들은 특정 입력에 대한 모델의 예측에 영향을 주는 파라미터들을 바꾸는 방향을 고려하였습니다.

2.1 Definition

모델 xf(x;θ)x \rightarrow f(x;\theta)와 수정이 필요한 데이터셋 <x,y,a>D<x,y,a>\in \mathcal{D}이 있을 때, yyf(x,θ)f(x,\theta)의 예측이라면, aaxx에 대한 수정된 모델의 예측입니다. 여기서 모델 구조 ff는 동일하게 두고 수정된 파라미터 θ\theta'를 찾는 문제로 정의될 수 있습니다. 저자들은 예측이 변하면 안되는 입력,출력 pair <x,y><x', y'>를 유한 데이터셋 Ox\mathcal{O}^x로 근사했습니다. 또한, (출력을 수정해야하는) 입력 xx와 의미적으로 동일한 입력들의 집합 Px\mathcal{P}^x에 대해서도 평가하였습니다.

2.2 Evaluation

  • success rate : ggθ\theta'의 지식을 얼마나 효과적으로 업데이트했는지 보여주는 지표입니다. D\mathcal{D}의 입력 에 대한 수정된 예측값의 정확도로 계산합니다.
  • retain accuracy : θ\theta'가 기존 ff의 예측을 얼마나 잘 유지하고 있는지 보여주며, 데이터셋 Ox\mathcal{O}^x의 정확도로 계산합니다.
  • equivalence accuracy : 의미적으로 동일한 입력에 대해 θ\theta'의 예측이 얼마나 일관성이 있는지 보여주며, 전체 Px\mathcal{P}^x에 대한 수정된 예측의 정확도로 계산합니다.
  • performance deterioration : 업데이트된 모델의 성능이 전보다 얼마나 떨어졌는지 계산합니다.

3. Method

모델에 저장된 메모리를 수정하기 위해서, 저자들은 수정을 하려는 사실에 조건화된 θ\theta'를 예측하는 모델인 KnowledgeEditor을 학습하였습니다. KnowledgeEditor ggϕ\phi를 파라미터로 가진 hyper-netowkr로, 다른 네트워크의 파라미터를 예측합니다. 다른 예측에 대해서는 동일하게 유지하면서 특정 예측만 수정하기를 원하므로, constrained optimization 문제로 정의될 수 있습니다.

img

여기서 \theta'=\theta+g(x,y,a;\phi)이며, \mathcal{C}는 margin m을 하이퍼파라미터로 가지며, x'들에 대해서는 모델을 수정하지 않게 하는 제약조건입니다. 여기서 이 제약식은 \theta와 \theta'의 KL-Divergence로 계산됩니다.

img

하지만 이러한 비선형 constrained optimization은 intractable하므로, Lagrangian relaxation을 도입하였습니다. 또한, 제약조건 계산에서 모든 데이터에 대해 KLD를 학습단계마다 계산하는 것은 너무 많은 계산을 필요로 하므로, Monte Carlo 샘플링을 통해 근사했습니다. 마지막으로, seq-to-seq 모델의 경우 한 데이터에 대해서도 KLD를 계산하는데 많은 비용이 드므로, 빔 서치를 통해 샘플 공간의 부분집합의 계산을 근사하는 방법을 택했습니다.

θ\theta'의 파라미터를 직접적으로 예측하는 것 대신, hyper-parameter gg는 shift Δθ\Delta\theta (θ=θ+Δθ\theta'=\theta+\Delta\theta)를 예측합니다. 또한 계산의 효율성을 위해 gg는 gradient 정보 L(θ;x,a)\nabla \mathcal{L}(\theta;x,a)를 이용합니다.

먼저 <x,y,a><x,y,a>를 인코딩한 후 특수 seperator와 concat후 bidirectional-LSTM에 입력합니다. 그리고, 마지막 LSTM의 hidden state를 Fully-connected layer에 넣어 하나의 벡터 hh를 출력하도록 합니다.

Wn×mθW^{n\times m}\in\theta 의 shift를 예측하기 위해서, 5개의 hh에 조건화된 FCN를 사용하여 α,βRm,r,δRn,ηR\alpha, \beta \in\R^m, r,\delta \in \R^n, \eta\in\R를 출력합니다.

img

이러한 구조를 사용한다면, hyper-network ϕ\phi의 사이즈 증가는 θ\theta의 사이즈에 따라 선형적으로 증가합니다.

4. Experimental Setting

본 연구에서는 두 가지 베이스라인인 fine-tuning과 Zhu et al (2020)의 방법을 비교하였습니다. Fine-tuning은 표준 경사 하강법을 사용하여 loss를 최소화하고, Zhu 등의 방법은 fine-tuning에 L∞ 제약 조건을 추가하는 방법입니다.

4.2 Models and Data

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개를 제외한 모든 가설을 선택하였습니다.

5. Result

img

img

Table 1에서는 fact cheking 및 question answering 작업에 대한 주요 결과가 보고되었습니다. 전반적으로, Knowledge Editor은 모든 지표에서 높은 성능을 보입니다. 다른 몇 가지 방법들도 일부 지표에서 높은 정확도를 보이지만, 다른 지표에서 성능이 하락하는 것을 보입니다. FC와 QA 모두에서 제안된 전체 방법들이 다른 베이스라인을 능가할 확률이 매우 높다는 것을 보였습니다(각각 약 97%와 약 88%).

6.1 Success rate

Knowledge Editor는 closed-book fact-checking과 question answering에서 모든 desiderata를 충족시키며 높은 성능을 보입니다. fine-tuning 방법은 QA에서 거의 완벽한 점수를 얻지만, retain accuracy가 희생되는 것이 문제입니다. 이는 sequence-to-sequence 모델이 작은 parameter shift에 민감하기 때문입니다. 하지만 Knowledge Editor는 이러한 문제를 성공적으로 해결하고 있습니다.

6.2 Retaining previous knowledge

Knowledge Editor는 뛰어난 성능을 보이며 파라미터 업데이트 방식 중 최적의 방법이라는 것을 입증하였습니다. CL2\mathcal{C}_{L_2}방법과 fine-tuning 방법은 각각 성능 저하와 catastrophic forgetting 문제를 발생시켰습니다. 또한 fine-tuning all layers와 fine-tuning a single layer는 각각 장단점이 있으며, Zhu et al.의 방법은 retain accuracy를 높이지만 성공률이 낮은 문제가 있었습니다. FC에서 paraphrase에 대한 일반화 능력이 부족한 점도 지적되었습니다.

6.3 Accuracy on paraphrases

Knowledge Editor을 생성된 paraphrase와 함께 사용하면, FC와 QA 모두에서 성능이 크게 향상됩니다. FC에서는 하나의 layer를 fine-tuning하는 것이 success rate와 retain accuracy면에서 성능이 높았지만, paraphrase 대해 약한 성능을 보입니다. QA에서도 Zhu et al.방법은 저자들의 방법이나 다른 방법과 비교하여 결과가 좋지 않았습니다. 다른 방법들이 저자들의 방법보다 성능이 좋거나 비슷할 때, retain accuracy가 좋지 않습니다.

6.4 Analysis of model updates

img

그림 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) 대각선에 머무르는 데이터 포인트가 대부분입니다.

img

그림 4에서는 QA 실험을 위한 평균 가중치 업데이트의 시각화를 보고 있습니다. 첫 번째 인코더 레이어와 마지막 디코더 레이어에 대한 기울기가 주로 집중되며, fine-tuning은 gradient 크기를 보존하지 않고 전체 모델을 거의 균등하게 업데이트합니다. Knowledge Editor는 gradient를 의미 있는 방식으로 사용하는 것으로 보이며, 적극적으로 일부 방향을 무시하거나 그 크기를 조절함으로써 gradient를 조작합니다. 이를 통해 모델이 지식을 인코딩하는 메커니즘에 대한 통찰력을 제공할 수 있습니다.

7. Conclusions

본 연구에서는 언어 모델 파라미터에 저장된 지식을 편집하는 태스크를 탐구했습니다. 이를 위해, 저자들은 목표와 여러 방법의 효과를 측정하기 위한 metric을 정의하고, closed-book fact-checking 및 question answering을 기반으로 하는 두 가지 벤치마크에서 구체적으로 평가했습니다. Knowledge Editor라는 hyper-network 기반의 방법을 제안하며, 이 방법은 LM 파라미터 내부에 저장된 지식을 효율적으로 수정하도록 학습합니다. 저자들은 모델을 다양한 fine-tuning 변형에 대해 종합적으로 평가하여 접근 방식의 이점을 입증하였습니다. 제안된 방법에서 예측된 업데이트의 크기를 통해 LM이 지식을 인코딩하는 메커니즘을 확인하였습니다.

0개의 댓글