[Paper Review] Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks

김까치·2023년 11월 22일

parameterizing
knowledge intensive task
MIPS: maximum inner product search
query와 정보의 내적

PLM: 지식 학습은 잘하지만, 수정/확장은 아직 잘못함
기존: parametric memory(=PLM)과 non-parametric memory(=retrieval-based)로 나누어 대처

  1. question을 BERT에 태워서 [CLS] Token을 빼와서 query vector 만듦
    wikipedia의 각 document를 BERT에 태워서 [CLS] Token을 빼와서 DB 구축
  2. query vector와의 내적이 큰 k 개 document retrieve
  3. retrieve된 document와 question을 concat해 seq2seq의 encoder 입력에 넣은 후, decoder가 answer을 generate하도록 훈련

RAG는 크게 2가지 모델로 나누어짐
1. Retriever
question x와 유사한 document z를 retrieve p(z|x)
2. Seq2Seq Generator
Retriever가 반환한 x와 z를 encoder에 넣고 decoder가 answer y를 generate 하도록 훈련 p(y_i|x,z,y_1:i-1)

k개의 document를 어떤 식으로 concat할 건지?
1. RAG-Sequence Model
각 document와 x를 concat해 총 k개의 forwarding 진행한 후 가중평균(marginalize)
2. RAG-Token Model
매 time step마다 k개의 document가 각각 x와 concat해서 next token 예측한 후 가중평균(marginalize)

profile
개발자 연습생

0개의 댓글