1day_1paper icon indicating copy to clipboard operation
1day_1paper copied to clipboard

[15] An Empirical Study on Few-shot Knowledge Probing for Pretrained Language Models (TREx-2p data)

Open dhkim0225 opened this issue 3 years ago • 0 comments

조경현 교수님 ...! paper code

기존 LAMA dataset 은 1-hop (subject, relation, object) 성능만을 예측했다. LAMA dataset paper review blog - KR 아래 이미지는 LAMA 의 예시다. LM 도 과연 진짜 DB 정보에 있는 정보들을 잘 뽑아낼까? 하는 것. image

LAMA 를 간략하게 정리하면,

  1. BERT-large는 relation knowledge 겁나 잘 뽑아냄.
  2. factual knowledge는 pre-trained language model 에서 잘 뽑아내는데, 일부관계(N-to-M 관계)의 성능은 매우 낮음.
  3. BERT-large는 factual, common sense를 회복하는 동시에 다른 언어모델보다 성능이 뛰어나면서 동시에 쿼리 구문에 더욱 강력함.
  4. BERT-large는 task-specific supervised relation extraction을 사용하여 구축된 지식기반의 성능에 비해 더 높은 결과를 달성.

image <요 이미지는 Improving Multi-hop Question Answering over Knowledge Graphs using Knowledge Base Embeddings - ACL20 논문에서 가져왔다. 3-hop 의 예시이다.>

슬프게도, T-REx dataset 에서 BERT-large 모델의 zero-shot performance 는 처참했다. accuracy 30% 정도. 대부분 틀리는 이유는 object type이 달라서 였음. finetuning 좀 해주니까 성능 확 좋아짐. 아래 그림이 틀리는 예시와, finetuning 예시. image

해당 논문은 10~20 개의 데이터만을 갖고 finetune 을 해서 few-shot knowledge probing을 수행한다.

  1. 사람도 직관적으로 몇 개의 데이터만을 갖고 정확한 relation-type을 유추할 수 있음
  2. 새로운 relation 과 rare relation type에 대한 성능측정이 가능

contribution 은 3가지임.

  1. 2-hop 데이터셋인 TREx-2p 를 만들었음
  2. few-shot finetune 이 knowledge probing에서 효과적인 것을 보여줌
  3. bias vector 를 효과적으로 finetuning 시켜서 prompt-engineering 성능 압살

image

Few-shot Knowledge Probing

notation 부터 정리한다.

  1. : pretrained model
  2. : Vocabulary
  3. : probing dataset. subject x, relation y, object z 로 이루어짐
  4. : fewshot 용으로 에서 일부분 가져온 데이터 (10~20 개 sample)
  5. : 에서 split 함 (train)
  6. : 에서 split 함 (일종의 validation. parameter tuning 용으로 사용함)
  7. : test-set

아래 그림은 앞으로 설명할 개념들을 이해하는데 도움이 되는 input 예시들이다. image

Template Options

masked language 모델의 template 도 여러가지로 줄 수 있다. LAMA 논문에서 했던 것 처럼 manual 하게 주는 방법이 있고, () How Can We Know What Language Models Know? 에서 처럼 자동으로 alternative template 을 찾기위한 mining 방법이 될 수 있다. relation r이 있을 때 에서 가장 잘 동작하는 template을 찾아내는 방법을 () 로 하자. manT 든 mineT 든 human effort가 들어가는 건 마찬가지다. GPT-3 에서처럼 [X] => [Y] template을 만들 수 있다. 요 녀석은 defT라 하자.

In-context Learning

GPT-3 에서 봤듯이, input에 포함된 example로도 LM 은 학습된다. 이 효과를 보기 위해서, 에서 데이터를 뽑아서 long-prefix 로 input에 함께 넣는다. 요런 녀석을 로 두자.

Optimized Prompts

prompt 를 자동으로 찾는 것은 흥미로운 주제이다. AutoPromptBERTese 는 training set을 이용해서 discrete token 들에 대해 gradient-based search를 수행했었다. OptiPrompt 는 continuous vector 로 AutoPrompt를 확장했다. 여기서 input 에 추가적으로 5개의 정보가 들어간다 (subject 와 mask token 사이의 relation). 이 5개의 relation token은 learnable 하게 학습된다. 실험에서 initialize는 많이 사용된 10000개 토큰 값을 평균내서 썼다.

이런실험들은 1000 개 sample에 대해서 finetune 을 실행했었지, 이렇게 10~20개의 few shot에서 사용된 적은 없다. ~1000개 짜리 scale 실험에서도 BitFit이 효과가 있는 지 report 해주지 이건 또 실험 안했음. BitFit은 아래에서 설명함~

Model Bias Finetuning

BitFit 에서는 encoder의 bias 만 finetune 할 것을 제안했다. GLUE 에서도 성능 좋았음. bias vector 절반만 학습하는 variant를 사용했음. 좀 더 상세하게 말하면, 각 transformer layer에 대해 요렇게만 finetune 함

  1. the bias for the attention query (of length 1024)
  2. the bias for the intermediate layer (of length 4096) image

Results

image Few-shot 에서는 BitFit을 섞어주는게 무조건 좋다.

dhkim0225 avatar Oct 22 '21 01:10 dhkim0225