Backgrounds
- Retrieval-Augmented Generation(RAG)
- 외부 지식 소스에서 질문과 관련된 정보를 검색하여 맥락으로써 결합
→ LLM이 학습 당시 보지 못한 질문에 답변할 수 있게 만듦
- 하지만, 생성 프로세스 전에 단 한번의 검색만 수행
→ 사람으로 따지면 글을 작성하다가 모르는 부분이 하나만 있다고 가정하고 검색하는 꼴
생성 과정 전반에 걸쳐 언제 무엇을 검색할지 능동적으로 결정할 수는 없을까?
또한, 다양한 질문 생성 과제에 적용 가능한 간단하고 범용적인 RALM을 만들 수는 없을까?
FLARE(Forward-Looking Active REtrieval augmented generation)
생성 과정 전반에 걸쳐 언제 그리고 무엇을 검색할지 결정할 수 있는 프레임워크
검색과 생성이 교차하는 형태
- 종류
- FLARE with Retrieval Instructions
- 언어 모델이 모르는 부분이 있으면 [Search(query)]를 생성하여 관련 문서를 찾아 검색하여 입력으로 넣음
- 하지만, instruction을 활용한 방법은 신뢰하기가 좀 어려움
- Direct FLARE
- 그래서 저자들은 아래와 같이 신뢰도를 활용하여 언제, 어떻게 검색할지를 결정할 수 있게 함
- 과정
- 임시로 다음 문장을 생성
- 임시 문장의 모든 토큰의 신뢰도가 정해진 임계값보다 높다면 다음 문장 생성.
임시 문장이 낮은 신뢰도(=확률)의 토큰을 포함할 경우 이를 질의로 사용해 관련 문서를 검색
- 신뢰도가 낮은 토큰을 마스킹하는 방법
- 신뢰도가 낮은 토큰 구간에 대해서 GPT와 같은 LLM을 사용하여 해당 구간을 답변으로 하는 질문을 생성하도록 프롬프트를 작성 및 요청하는 방법
- 위 과정을 생성 종료 시까지 반복

Experiments
- 베이스 언어 모델
- 문서 코퍼스
- Retriever
c.f Bing Search Engine을 활용하여 오픈 웹 지식 기반 데이터셋을 활용하기도 함
