REPLUG: Retrieval-Augmented Black-Box Language Models

이두현·2024년 3월 17일
0

abstract

LM을 black box로 보고 retrieved document를 input으로 넣는다

LM을 retreival model의 supervisor로 삼는다

previous retrieval augmented language models

  • LM을 white box로 봐야함
    • training 내지는 datastore index로 사용하기 위해서
    • 이 방식은 아주 큰 LLM에 대해서는 힘듦 + api 접근 비용

intro

방식

  • 관련 document를 먼저 retrieve (off-the-shelf retrieval model 이용해서)
  • 이렇게 얻어진 document가 input context와 같이 묶어 black box LLM의 인풋으로 들어가 최종 결정을 한다

background

LLM 자체에 대한 fine-tuning cost 너무 높아 black-box setting 선호

language model에 다양한 knoweledge store에서 얻은 정보를 추가제공할 때 NLP task에서 성능이 올라감을 확인

더 세부적으로 input을 query삼아 set of document를 모으고

이 정보를 최종 결정을 내기 위한 input에 concat 시켜 결과를 얻는다

  • encoder-decoder, decoder only model에서 둘다 가능

Method(REPLUG)

retriever weight fixed

먼저 document retrieval 수행

dual encoder architecture 사용 : input context와 document를 encode

  • encoder는 last hidden state에 대한 mean pooling을 수행
  • cosine similarity를 측정해 가장 가까운 k개의 document를 얻음

input reformulation 수행

이렇게 얻어진 retrieval data들의 활용방법

  • input에 k document concat
    • k 개수에 영향, context window size의 한계

대안으로 ensemble 방식

각각의 k document에 대해 x(query) + k(document) 를 LLM에 넣음

  • document와 query cosine similarity에 비례해 next token의 weighted probablity를 계산

REPLUG LSR 도 제안

trainable retriever weight

retrieval likelihood와 LM likelihood 계산해서 KL loss 최소화로 retriever를 훈련시킨다

retriever가 계속 update되기 때문에 embedding 결과가 계속 변함

  • search index를 T Training step마다 update
profile
0100101

0개의 댓글