인공지능/논문 리뷰 or 진행

GRG : Generator-Retriever-Generator Approach for Open-Domain Question Answering

이게될까 2025. 7. 6. 14:55
728x90
728x90

https://arxiv.org/abs/2307.11278

 

Generator-Retriever-Generator Approach for Open-Domain Question Answering

Open-domain question answering (QA) tasks usually require the retrieval of relevant information from a large corpus to generate accurate answers. We propose a novel approach called Generator-Retriever-Generator (GRG) that combines document retrieval techni

arxiv.org

 

앞선 논문과 마찬가지로 실험을 위해 사전조사로 진행하는 논문입니다..

 

검색된 문서들은 고정된 크기의 chunk기 때문에 노이즈가 있고, 질문과 깊은 의미적 연관성을 반영하지 못합니다.

생성한 문서는 현실과 맞지 않거나, 사실성이 떨어질 수 있어 정확도와 신뢰도가 낮으며 업데이트가 어렵습니다.

-> GRG를 사용해보자!

 

이전 논문은 문서를 생성해서 집어넣기만 했다면 이 논문은 검색한 문서도 함께 사용했습니다.

 

 

방법론의 구조를 잘 말해줍니다. 

구체화된 GRG의 구조입니다.

 

모델 두개를 활용하는 것은 GPU상으로도 불편하기에 굳이 이렇게 해야 하나 싶은 성능입니다.

비교 대상에 비해 모델 크기도 차이가 나서... 

 

📌 문제 상황 (Motivation) 기존 Open-Domain QA 시스템은 Retrieve-then-Read 구조에 의존 → 문서가 고정 크기 chunk로 구성되어 불필요한 정보 포함 + 질문-문서 간 상호작용이 얕음 + Retriever는 LLM의 추론 능력 미활용
🎯 제안 방법 (Method) GRG (Generator-Retriever-Generator) 구조 제안
Generator-1: InstructGPT로 질문 기반 배경 문서 생성
Retriever: EMDR (Dual Encoder)로 외부 문서 검색
Generator-2: LLaMA로 생성/검색 문서를 결합하여 최종 답변 생성
🧠 작동 방식 요약 질문 → 생성된 문서 + 검색된 문서 → 문서 필터링 (top-k) → LLaMA로 답변 생성
➡ 생성은 문맥 확장, 검색은 신뢰도 보완
🔍 주요 구성 요소 - 문서 생성: InstructGPT 기반 프롬프트 사용
- 문서 검색: GTR-T5 또는 MiniLM 기반 임베딩 + Vector Store Index
- 답변 생성: LLaMA 모델 사용 (Cosine loss로 학습)
📊 실험 결과 3개 QA 데이터셋 (TriviaQA, WebQ, NQ) 기준 SOTA 성능 달성
GRG (LLaMA-7B, top-5):
TriviaQA 76.8 (+5.2), WebQ 56.0 (+1.6), NQ 58.5 (+4.2)
→ 기존 FiD-xl, GenRead, COMBO 대비 모두 우수
📈 성능 향상 원인 - 생성 문서가 문맥 다양성 및 질문 초점 강화
- 검색 문서가 사실 기반 근거 제공
- 두 소스를 LLaMA에 결합하여 정답 정확도 향상
🧪 Ablation 결과 - Top-k 문서 수 ↑ → 성능 향상 (예: top-5 사용 시 EM 최대 +15%)
- LoRA vs Full model: LoRA는 효율적이나 Full model이 성능 우수
🎁 기여 (Contributions) 1. 문서 생성 + 검색을 통합한 새로운 GRG 구조 제안
2. Vector Index Retriever와 LLM 문서 생성 결합
3. TriviaQA, NQ, WebQ에서 SOTA 결과로 효과 검증
4. LoRA 및 다양한 실험을 통한 실용성/효율성 확보
⚠️ 한계 (Limitations) - 계산 비용: LLM 기반 생성 + LLaMA 사용 → 연산 자원 소모 큼
- 생성 문서 품질: 생성 문서의 정합성과 fact hallucination 이슈 존재
- 지식 업데이트 어려움: Retriever에 비해 동적 정보 반영 어려움
📌 향후 과제 (Future work) - 더 정확한 문서 생성 방식 개발
- Fact hallucination 방지
- 생성 + 검색 융합 최적화 및 domain adaptation 대응 방안 모색
더보기

논문 "Generator-Retriever-Generator Approach for Open-Domain Question Answering"은 Open-Domain QA 문제에서 생성(generation)과 검색(retrieval)의 장점을 통합한 새로운 구조인 GRG(Generator-Retriever-Generator)를 제안합니다. 논문의 핵심 내용을 다음과 같이 한글로 체계적으로 정리해 드립니다.


🔍 문제 정의

기존 Open-Domain QA 시스템은 보통 다음 두 방식 중 하나를 사용합니다:

  • Retrieve-then-Read: 외부 문서에서 관련 정보를 검색 후 답변
  • Generate-then-Read: 질문으로부터 문서를 생성 후 읽기

하지만 각각의 방식은 다음과 같은 한계를 가집니다:

  • 검색 문서는 고정 길이로 chunking되어 불필요한 정보가 포함될 수 있음
  • 생성 기반 방식은 높은 연산 비용신뢰성 부족 문제 존재

✅ 제안 방법: Generator-Retriever-Generator (GRG)

① 문서 생성 InstructGPT를 사용해 질문으로부터 관련 문서를 생성
② 문서 검색 Dense Retriever(EMDR, GTR-T5, MiniLM-L6 등)를 사용해 외부 문서에서 관련 문서 검색
③ 답변 생성 LLaMA 모델을 활용해 생성 + 검색된 문서를 기반으로 답변 생성

⚙️ 방법론 요약

📄 1. 문서 생성 (InstructGPT 활용)

  • 질문 기반 프롬프트: "Generate a background document to answer the given question: [질문]"
  • 최대 50개 생성, Vector Store Index에 임베딩 저장

📚 2. 문서 검색 (EMDR, GTR-T5 등)

  • Dual-Encoder 방식으로 질문과 문서를 각각 인코딩 후 유사도(dot product) 계산
  • Top-k 문서를 선택하여 활용 (k=2 or 5)

✍️ 3. 답변 생성 (LLaMA 사용)

  • 입력 구성: question + [retrieved doc] + [generated doc] + </s>
  • Cosine Loss 사용하여 유사 단어 구분 능력 강화

🧪 실험 설정

데이터셋  목적  크기 (Train / Dev / Test)
TriviaQA 퀴즈 기반 QA 78,785 / 8,837 / 11,313
Natural Questions 검색 기반 질문 79,168 / 8,757 / 3,610
WebQ 웹 검색 질문 3,417 / 361 / 2,032
  • 성능 지표: Exact Match(EM), F1
  • 실험 환경: LLaMA-7B, DeepSpeed, LoRA 실험 포함

📊 주요 결과 (Table 4 요약)

모델 TriviaQA  WebQ  NQ
GRG (7B, 5 docs) 76.8 56.0 58.5
GenRead (FiD-xl) 71.6 54.4 45.6
RFiD-large 72.6 - 54.3
COMBO (3B) 74.6 54.2 53.0
 NQ

→ GRG가 모든 데이터셋에서 기존 SOTA 대비 +1.6 ~ +5.2 정확도 향상


🔬 Ablation & 추가 분석

항목  실험 결과
Zero-shot QA (LLaMA) 7B로도 FLAN, GPT-3 수준 성능
LoRA vs Full Model LoRA는 계산 효율성 확보, Full은 성능 더 우수
Top-k 증가 Top-5 사용 시 정확도 최대 16% 향상
문서 수 증가 2개 → 5개로 증가 시 성능 향상 확인

⚠️ 한계점

  1. 문서 생성 품질: LLM 기반 문서 생성이 항상 정확하지 않음
  2. 계산 비용: 생성 및 LLaMA 기반 모델은 연산량이 큼

📌 기여 요약표

항목 내용
해결 과제 Open-domain QA에서 검색 노이즈와 문맥 부족 문제
주요 아이디어 질문 기반 문서 생성 + 외부 문서 검색 통합
모델 구성 InstructGPT + Dense Retriever(EMDR 등) + LLaMA
주요 성능 SOTA 대비 평균 3~5 EM 향상 (TriviaQA, WebQ, NQ)
기여 생성-검색 통합 구조의 성능과 효율성 검증
한계 생성 문서의 신뢰성, 연산 비용

 

논문 "Generator-Retriever-Generator (GRG) Approach for Open-Domain Question Answering"은 기존 Open-Domain QA 시스템의 한계를 극복하기 위해 등장했습니다. 아래에서는 이 논문이 제안된 배경을 이해하기 위해, 관련된 주요 선행 연구들과 GRG가 이들과 어떻게 다른지를 비교 정리해 드리겠습니다.


🔍 관련 연구 및 GRG와의 차이점 비교

접근 방식 대표 논문 / 모델 구조 장점 한계 GRG와의 차이점
1. Retriever-Reader DrQA, DPR 문서 검색 → 읽기 외부 지식 기반, 신뢰도 높음 검색 정확도에 의존, 문맥 부족 GRG는 검색 외에 문서도 생성하여 더 풍부한 문맥 제공
2. Generator-Reader GenRead  문서 생성 → 읽기 자유로운 생성, 다양한 표현 현실성 낮은 문서 생성 가능성, 계산 비용 큼 GRG는 생성 문서 외에 실제 문서도 같이 사용하여 신뢰도 향상
3. Retriever-Generator FiD, RAG 문서 검색 → 답변 생성 검색 정확도 + 생성 유연성 검색 오류 시 영향 큼 GRG는 생성 문서를 추가해 검색만으로 부족한 문맥 보완
4. Retriever-Only DensePhrases  문서 또는 구문 검색 빠름, 단순 복잡 질문 처리 어려움 GRG는 생성된 문서로 다양한 질의 대응 가능
5. Generator-Retriever-Generator (GRG) 본 논문 문서 생성 + 검색 → 답변 생성 생성/검색 융합, 다양성 + 신뢰성 계산 자원 소모 큼 위 모든 방식의 장점을 통합

📈 왜 GRG가 필요했는가?

기존 방식들의 한계가 명확했기 때문에 GRG가 제안되었습니다.

📌 기존 방식의 주요 한계

  1. Retriever-Reader 방식
    • 고정 크기 문서 chunk로 인해 불필요한 정보 포함
    • 질문과 문서 간의 상호작용 부족
    • 문맥 불충분으로 인해 답변 정확도 저하
  2. Generator 기반 방식
    • 자유롭게 문서를 생성할 수 있으나, 현실과 동떨어진 문서가 생성될 수 있음
    • 신뢰도 문제 + 고비용
  3. 단일 접근 방식의 한계
    • 검색만 하거나, 생성만 하는 시스템은 복잡하고 다의적인 질문을 처리하기 어려움

✅ GRG의 핵심 아이디어와 발전점

핵심 아이디어 질문에 대해 생성한 문서와 실제 검색 문서를 함께 활용해, LLM이 더 풍부하고 정답에 가까운 정보를 얻도록 함
발전된 점 - 생성 문서로 문맥 강화- 검색 문서로 신뢰도 확보
- 두 문서의 융합으로 SOTA 성능 달성
선택 이유 질문 하나로는 적절한 문서를 찾기 어려운 경우가 많기 때문에,
생성 문서로 semantic context를 확장시켜 검색 품질도 높이고, 최종 답변의 정확도도 높임
기술적 구성 InstructGPT → 문서 생성Dense Retriever (EMDR 등) → 문서 검색LLaMA → 답변 생성

🔬 GRG가 보여준 개선 성과

  • 정확도 향상: 기존 GenRead 대비 최대 +5.2 EM 향상
  • 다양성 확보: 생성 문서 덕분에 유연한 표현 가능
  • 신뢰성 확보: 검색 문서 병용으로 사실 기반 근거 확보
  • 확장성 확보: LoRA 등을 통해 계산 효율적으로 구성 가능

📌 요약 정리

왜 이 논문이 등장했는가? 기존 QA 방식이 문맥 부족, 검색 오류, 생성 품질 문제 등 한계를 가졌기 때문
GRG는 어떤 방식인가? 문서 생성 + 검색 → 함께 입력하여 답변 생성
기존 방식과의 차이점은? 단일 방식이 아닌 생성과 검색을 동시에 활용해 문맥과 신뢰도를 모두 확보
무엇이 발전되었는가? 다양한 질문에 대한 높은 정확도, 유연한 문서 생성, 검색 신뢰도 모두 향상
계산 비용은? 증가하지만, LoRA 등 효율적 방식으로 완화 가능

이 논문은 단순히 성능을 높인 것이 아니라, 기존 QA 접근법의 단점을 근본적으로 보완한 설계라는 점에서 중요한 연구입니다. 이후 연구에서는 GRG 구조에 강화학습, 더 강력한 Retriever 또는 프롬프트 최적화 등을 접목하여 더욱 발전된 QA 시스템을 기대할 수 있습니다.

 

논문 "Generator-Retriever-Generator (GRG) Approach for Open-Domain Question Answering"의 방법론은 기존의 retriever-only, generator-only, 또는 retrieve-then-read 구조의 한계를 극복하기 위한 복합 구조입니다. 여기서는 인공지능 연구자의 시각에서 구성 요소별로 step-by-step으로 구조를 설명하고, 예시와 함께 작동 방식을 상세하게 풀어드리겠습니다.


🧠 GRG: Generator → Retriever → Generator 구조 개요

GRG는 크게 세 개의 단계로 구성됩니다.

  1. Generator-1 (문서 생성)
  2. Retriever (문서 검색)
  3. Generator-2 (답변 생성)

💡 핵심 아이디어: 질문 하나에 대해 문서 생성과 문서 검색을 병행하여, 문맥적 다양성과 정확성을 모두 확보한 후, 이를 기반으로 정답을 생성합니다.


1️⃣ 문서 생성 (Generator-1)

🔧 방법: InstructGPT 등 LLM 사용

  • 프롬프트:
  • "Generate a background document to answer the given question: [question]"
  • 이 프롬프트를 InstructGPT에 입력하면, 질문의 맥락을 담은 가상의 배경 문서가 생성됩니다.
  • 문서 수: 질문당 10~50개 문서 생성

🧪 예시

질문: "Who invented the telephone?"

생성된 문서 예시:

"The telephone was developed during the late 19th century. Alexander Graham Bell is widely credited with the invention of the first practical telephone. In 1876, he was granted a patent for the device..."

➡ 이 문서는 실제 위키 문서가 아니지만, LLM이 생성한 요약 기반의 문맥 제공 자료입니다.

✨ 목적

  • 문서가 없는 zero-shot 질문이라도, 의미망을 넓혀주는 배경 문맥 생성
  • 이 문서들을 나중에 retriever의 벡터 인덱스로 활용

2️⃣ 문서 검색 (Retriever)

🔧 방법: Dense Retriever (EMDR, GTR-T5, MiniLM-L6 등)

  • 질문과 생성된/실제 문서를 동일한 임베딩 공간에 매핑한 후, 질문-문서 간 코사인 유사도 기반 top-k 문서 선택

벡터 인덱스 구성 순서

  1. 생성된 문서 각각을 embedding (예: GTR-T5-large 사용 시 768차원 벡터)
  2. 이 임베딩들을 **Vector Store Index (LlamaIndex)**에 저장
  3. 질문을 동일한 encoder로 벡터화 후, 질문과 유사한 문서 top-k 선택

수식:

Similarity(q,di)=q⋅di∥q∥∥di∥\text{Similarity}(q, d_i) = \frac{q \cdot d_i}{\|q\|\|d_i\|}
→ top-5 문서를 선택 (cosine similarity > 0.7 기준)

🧪 예시 계속

  • 질문: "Who invented the telephone?"
  • 생성 문서 벡터들과 질문 벡터 간 유사도 비교
  • 가장 유사한 5개 문서 선택: 3개는 생성문서, 2개는 위키피디아에서 검색된 실제 문서

3️⃣ 답변 생성 (Generator-2)

🔧 방법: LLaMA 모델 (7B)

  • 입력: 질문 + 선택된 생성/검색 문서들
  • 입력 구성:
  • [질문] \n [retrieved_doc_1] \n [generated_doc_1] \n ... </s>
  • 이들을 하나의 입력으로 묶어 seq2seq 방식으로 정답 생성

💡 학습 목적 함수: Cosine Loss

Lcos=−1N∑i=1Nlog⁡exp⁡(cos⁡(hi,ti)/τ)∑j=1Nexp⁡(cos⁡(hi,tj)/τ)\mathcal{L}_{cos} = -\frac{1}{N} \sum_{i=1}^N \log \frac{\exp(\cos(h_i, t_i)/\tau)}{\sum_{j=1}^N \exp(\cos(h_i, t_j)/\tau)}

→ Token-level 예측 시 유사한 단어 간 미세한 구분이 가능하도록 설계됨


전체 예시 플로우 (전체 시스템)

단계 입력 출력
1. 문서 생성 "Who invented the telephone?" 생성된 문서 10~50개
2. 문서 임베딩 및 검색 질문 + 생성 문서 생성 + 검색 문서 중 top-5 선택
3. 답변 생성 질문 + top-5 문서들 "Alexander Graham Bell"

📈 왜 이 방식이 효과적인가?

요소 효과
Generator-1 질문의 의미를 LLM이 직접 확장, retriever가 실패할 문맥도 커버
Retriever 실제 corpus 기반 사실적 근거 제공 (정답 포함 가능)
Generator-2 두 문서 유형을 모두 활용해 정답을 생성 → 다양성과 정확성 동시 확보

🔬 성능 비교 요약 (TriviaQA 기준, Exact Match)

모델 EM Score
GenRead (FiD-xl) 71.6
COMBO (3B) 74.6
GRG (7B) 76.8

✅ 요약

  • GRG는 문서 생성문서 검색을 모두 사용해 질문의 문맥을 확장하고, 신뢰도 있는 근거를 수집하며, 이를 종합해 답변을 생성하는 구조입니다.
  • 기존 방식들과 달리 단일 소스에 의존하지 않고, 생성과 검색의 상호 보완적 특성을 결합한 것이 GRG의 핵심 강점입니다.
  • 인공지능 응용 관점에서, semantic augmentation + retrieval grounding + generative reasoning이라는 세 가지 핵심 기능을 하나의 파이프라인에 융합한 모델입니다.

필요하시면 이 방법론을 기반으로 한 코드 재현, 구조 다이어그램 작성, 또는 실험 시나리오도 도와드릴 수 있습니다.

 

 

 

728x90