AI VIDEO BRIEFING

FLARE 논문 정리 — LLM이 확신 없을 때만 스스로 검색하는 능동 검색 증강 생성

첫 질문에 한 번만 검색하는 기존 RAG는 긴 글에서 환각을 막지 못한다. 모델이 자기 확신도를 보고 검색 시점을 스스로 정하고, 앞으로 쓸 문장을 미리 만들어 질의로 삼는 FLARE의 구조와 실험 결과를 정리했다.

확신이 없을 때만 검색한다: 환각을 줄이는 능동 검색 방식 FLARE 영상 대표 이미지

핵심 메시지

  • 기존 RAG는 사용자의 첫 질문으로 한 번만 검색하기 때문에, 요약이나 장문 생성처럼 도중에 새로운 정보가 필요해지는 작업에서 환각을 막지 못한다.
  • FLARE는 생성 중 단어 확률이 임계값보다 낮아질 때, 즉 모델이 스스로 확신이 없을 때만 검색을 실행한다.
  • 무엇을 검색할지는 '앞으로 쓸 문장'을 임시로 만들어 질의로 삼아 해결하며, 과거 문장으로 검색하던 방식보다 정확도가 높았다.
  • 확신 없는 단어를 가리거나 그 부분을 묻는 질문을 모델이 직접 만들어 검색 질의의 오염을 줄인다.
  • 문장마다 무조건 검색하면 오히려 성능이 떨어졌고, 전체 문장의 40~80% 정도만 선별적으로 검색할 때 결과가 가장 좋았다.

쉽게 이해하기

이 영상은 카네기멜런대와 메타 등 연구진이 발표한 '능동 검색 증강 생성(Active Retrieval Augmented Generation)' 논문을 두 진행자의 대담 형식으로 풀어낸다. 출발점은 익숙한 문제다. 대형 언어 모델은 짧은 답변은 잘하지만, 길고 복잡한 글을 쓰게 하면 그럴듯한 거짓을 지어내는 환각이 나타난다.

환각을 줄이려고 도입된 것이 외부 지식을 가져오는 검색 증강 생성이지만, 기존 방식은 첫 질문에 대해 딱 한 번 검색하고 끝난다. 영상은 이를 '긴 에세이를 쓰기 전에 검색을 한 번만 하고 인터넷을 끊는 것'에 비유한다. 프랑스의 수도 같은 단답형에는 충분하지만, 특정 인물에 대한 요약문을 쓰다가 학력이나 특정 날짜 같은 세부 정보가 필요해지는 순간에는 모델이 불완전한 기억으로 내용을 지어내기 시작한다.

과거 연구도 생성 도중 여러 번 검색하려 했지만 방식이 수동적이었다. 15토큰마다, 혹은 문장이 끝날 때마다 기계적으로 검색하니 이미 확실히 아는 구간에서도 연산이 낭비됐고, 방금 쓴 문장으로 다음에 쓸 내용을 검색하다 보니 주제가 바뀌는 지점에서는 엉뚱한 문서를 가져왔다. 질문을 여러 하위 질문으로 쪼개는 접근은 논리는 좋지만 작업과 도메인마다 사람이 프롬프트를 설계해야 해 확장이 어려웠다.

FLARE의 해법은 두 가지다. 첫째, 검색 시점을 모델의 확신도로 정한다. 생성 중인 단어의 확률이 정해 둔 임계값보다 낮으면 그때만 검색을 실행한다. 둘째, 검색어를 '앞으로 쓸 문장'에서 뽑는다. 다음 문장을 임시로 만들어 보고 그 안에 확신 없는 단어가 있으면 그 문장을 질의로 삼아 문서를 찾은 뒤 문장을 다시 쓴다.

임시 문장에 틀린 정보가 섞이면 검색까지 오염된다는 문제는 두 가지 장치로 다룬다. 하나는 확신이 낮은 단어를 가려낸 뒤 남은 문맥으로만 검색하는 방식이고, 다른 하나는 확신 없는 부분에 대해 모델이 직접 의문문을 만들어 검색 엔진에 던지는 방식이다. 후자는 사람이 프롬프트를 짜 주지 않아도 모델 내부 메커니즘만으로 질문을 만들어낸다는 점에서 이전 방식과 구별된다.

주요 인사이트

  • 검색을 많이 할수록 좋아진다는 직관은 틀렸다. 모든 문장마다 검색하게 한 실험에서는 오히려 점수가 떨어졌는데, 이미 아는 내용에 외부 문서를 밀어 넣으면 문서에 섞인 잡음이 모델을 혼란스럽게 만들기 때문이다.
  • 핵심은 검색 횟수가 아니라 타이밍이다. 실험에서 전체 문장의 40~80% 구간, 즉 정말 확신이 없을 때만 선별적으로 검색할 때 잡음이 최소화되고 성능이 가장 높았다.
  • '과거 문장'이 아니라 '쓰려는 문장'으로 검색한다는 발상 전환이 성능 차이를 만들었다. 글을 쓰다 보면 방금 쓴 문장과 다음 문장의 주제가 달라지는 일이 잦기 때문이다.
  • 이 방법은 모델을 다시 학습시킬 필요가 없다. 추론 단계에서 플러그인처럼 얹을 수 있어 범용성이 높다는 점이 실무 관점의 가장 큰 장점이다.
  • 대신 비용과 지연이 늘어난다. 생성을 멈추고 임시 문장을 만들고 마스킹한 뒤 외부 검색을 호출하는 과정을 여러 번 반복하므로, 즉답이 필요한 실시간 대화 서비스에는 그대로 적용하기 어렵다.

자주 묻는 질문

FLARE는 언제 검색할지를 어떻게 판단하나요?

모델이 단어를 생성할 때 계산하는 확률값을 사용합니다. 생성 중인 단어의 확률이 미리 정한 임계값보다 낮아지면 모델이 그 부분에 확신이 없다고 보고 그 시점에만 능동적으로 검색을 실행합니다.

검색어는 어떻게 만들어지나요?

앞으로 쓸 문장을 임시로 생성한 뒤 그것을 질의로 씁니다. 임시 문장에 틀린 정보가 섞일 수 있으므로, 확신이 낮은 단어를 가리고 남은 문맥만 사용하거나, 그 부분을 묻는 의문문을 모델이 스스로 만들어 검색하는 두 가지 방식을 씁니다.

실험 결과는 어땠나요?

GPT-3.5 계열 모델로 네 개의 장문 생성 데이터셋에서 평가했고 기존 방식들을 모두 앞섰습니다. 두 단계 추론이 필요한 데이터셋의 예시에서는 한 번만 검색하는 방식이 39.4점에 그친 반면 FLARE는 51.0점을 기록했습니다.

이 방법이 잘 통하지 않는 경우도 있나요?

출력이 아주 짧은 대화형 데이터셋이나 정답이 정해져 있지 않은 지나치게 개방적인 질문에서는 뚜렷한 성능 향상이 없었습니다. 또한 검색을 반복하면서 연산 비용과 응답 지연이 커지는 점도 한계로 지적됩니다.

원문과 출처

이 글은 원본 영상의 자막을 바탕으로 한국어 독자를 위해 요약했습니다. 전체 맥락과 최신 정보는 원문에서 확인하세요.

YouTube 원본 영상 보기 ↗

관련 AI 소식