본문 바로가기

NLP/논문이해

[논문이해] Z-ICL: Zero-Shot In-Context Learning with Pseudo-Demonstrations

논문명:Z-ICL: Zero-Shot In-Context Learning with Pseudo-Demonstrations

논문링크: https://arxiv.org/abs/2212.09865

 

Z-ICL: Zero-Shot In-Context Learning with Pseudo-Demonstrations

Although large language models can be prompted for both zero- and few-shot learning, performance drops significantly when no demonstrations are available. In this paper, we introduce Z-ICL, a new zero-shot method that closes the gap by constructing pseudo-

arxiv.org

 

해당 논문의 핵심만 이야기하고자 한다.


목표

  • 이 논문의 결론에 따라, In Context Learning 에서 예제가 진짜인지 가짜인지 내용/의미상 중요하지 않다는 걸 알아냈다.
  • 그걸 토대로, 가짜(pseudo) 예제를 만들어서 성능을 올리고자 한다.

 

방법

  • external corpus (외부에서 가져온, dataset 과 관계 없는 문서)를 가져온다.
  • test 할 입력과 유사도를 구해서 유사한 문장을 K개 뽑는다.
  • 여기서 뽑은 문장을 바로 쓰는 게 아니라 그 문장의 앞뒤에 있는 문장 중 하나를 사용한다.
  • 그리고 정답은 randomly assigned, 무작위로 붙여서 예제처럼 쓴다.

 

번거롭게 문장을 선택하는 이유가 뭔가?

  • 의미적으로 가깝게 뽑는 이유: domain 을 유지하기 위해서다. 아예 벗어난 문장이 사용하지 않기 위해서다.
  • 물리적인 거리, 즉 앞뒤 문장을 선택하는 이유: domain 을 유지하되, test input 과 유사해선 안 되기 때문이다. 이 논문에서 copying effect 를 피하기 위해서라고 한다.
  • copying effect: 1 + 1 = 3 이라고 알려주고, 1 + 1 을 물어보면 당연히 3 이라고 할 것이다. test input 과 pseudo input 역시 너무 닮았으면, pseudo input 에 할당된 정답을 그대로 복사(copy)할 위험이 있다.

 

예제를 제공하는데 왜 zero shot 인가?

  • 세상에 없는 예제를 지어냈기 때문에, 이건 실제 예제를 준 거라고 볼 수 없으므로 zero shot 이라고 지칭한 것 같다.