본문 바로가기

NLP/논문이해

[논문이해] Active Retrieval Augmented Generation

논문명: Active Retrieval Augmented Generation

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

 

Active Retrieval Augmented Generation

Despite the remarkable ability of large language models (LMs) to comprehend and generate language, they have a tendency to hallucinate and create factually inaccurate output. Augmenting LMs by retrieving information from external knowledge resources is one

arxiv.org

 

아이디어만 정리합니다.


핵심 아이디어

  • LLM에게 프롬프트로 검색기를 사용할 수 있게 해서
  • 인간처럼 잘 모르겠으면 검색해서 생성할 수 있는 방법론을 제시하자

 

 

아래 그림은 검색 스킬을 알려주는 프롬프트다.

 

 

아래 그림은 조 바이든 대통령이 어떤 대학교를 나왔는지 불확실하자, 언어모델이 [Search(Joe Biden University)] 라는 쿼리를 만들었다. 저렇게 특수한 형태로 검색 요청이 들어온 경우, Retriever 를 통해 관련 문서를 찾아 생성할 때 함께 입력으로 넣는다.

 

 

 

그렇다면, 언제 검색을 해야 하고, 어떻게 관련 문서를 찾을까? 답은 아래 그림에 있다.

  • 언제 검색하는가: 모델이 생성할 때, 확률이 일정 threshold 보다 낮으면 해당 문구가 불확실하다고 간주한다
  • 위 그림에선 펜실베니아 대학교인지 아닌지 확실하지 않다. 그래서 확률이 낮은 경우를 밑줄을 쳐놨다.
  • 어떻게 검색하는가: 검색은 결국 검색어(query)를 날려야 한다. 쿼리는 크게 2가지로 나뉜다.
  • implicit query: 자신 없는 문구가 있는 문장에서, 자신 없는 부분을 제외하고 쿼리로 사용한다
  • explicit query:  자신 없는 문구가 있는 문장을 바탕으로 거대 모델에게 부탁하여 질문형태로 바꾼 다음 검색한다

 

 

이 모든 과정을 전체적으로 표현한 그림이 아래에 있다

  • 실제 인간이 글을 쓰는 과정과 유사하다
  • 조 바이든에 대한 글을 쓰다가, 불확실하면 검색해서 찾아보고 다시 쓰고. 그리고 다음 문장 쓰고. 또 애매하면 검색하고. 인간이 글을 작성하는 과정과 닮아있다. 물론 속도는 인간을 압도한다.

 

이제 논문 제목이 이해가 된다

  • Active Retrieval: 모르면 바로 검색기를 돌려서 관련 문서를 찾아온다
  • Augmented Generation: 관련 문서가 생성 과정을 돕는다