콘텐츠로 이동

Ch 12. GraphRAG 평가 — 무엇을, 어떻게 측정하나

이 챕터에서 배우는 것

  • GraphRAG를 두 층에서 평가하기 — 검색(retrieval)답변(answer)
  • 그래프 특유의 지표 — 멀티홉 정확도, 전역 질문의 커버리지, 추출 품질
  • LLM-as-Judge와 Ragas를 GraphRAG에 적용하는 법
  • 멀티홉·전역 질문의 골든셋을 반자동으로 만드는 현실적 방법

전제

Ch 11의 비교 실험. 평가 일반론은 AI Eval 가이드를 함께 보면 좋다.


1. 개념 — 두 층을 나눠 본다

Ch 11의 비교를 "느낌"이 아니라 체계로 만들려면, 평가를 두 층으로 나눠야 한다.

  • 검색 품질 — 그래프가 답에 필요한 컨텍스트를 실제로 가져왔나. 답이 틀렸을 때 "검색이 못 가져온 건지, LLM이 못 쓴 건지"를 가른다.
  • 답변 품질 — 최종 답이 정확하고, 근거가 있고, 완전한가.

이 분리가 중요한 이유는 디버깅이다. 답이 나쁠 때 두 층 중 어디가 범인인지 모르면 고칠 데를 못 찾는다.

2. 그래프 특유의 지표

벡터 RAG 평가에 더해, GraphRAG엔 고유한 측정 지점이 있다.

① 멀티홉 정확도. 관계를 따라가야 풀리는 질문에서, 그래프가 올바른 경로를 짚었나. 단순 정답 일치만 보지 말고, "몇 홉짜리 질문에서 정확도가 떨어지나"를 홉 수별로 쪼개 보면 약점이 드러난다.

② 전역 질문의 커버리지. "핵심 주제 5개"류 질문은 정답이 하나가 아니다. 정확도보다 완전성(coverage) — 중요한 주제를 빠뜨리지 않았나 —과 중복 없음이 핵심이다. 단일 정답 매칭으론 평가가 안 된다.

③ 추출 품질. GraphRAG의 품질 상한은 그래프의 품질이다. 인덱싱 단계의 엔티티·관계 추출이 부정확하면(Ch 7), 검색·답변이 아무리 좋아도 한계가 있다. 추출 정밀도/재현율을 골드 트리플 샘플로 따로 잰다.

3. 어떻게 — 도구와 방법

검색 평가. Ragas 같은 도구의 context precision/recall을 쓰되, GraphRAG에선 "가져온 컨텍스트"가 청크가 아니라 서브그래프 + 청크라는 점을 반영한다. 멀티홉 질문은 "필요한 모든 홉의 노드를 가져왔나"로 본다.

답변 평가. AI Eval 가이드의 3계층 그대로다 — 정답이 분명한 사실 질문은 자동 매칭, 전역·서술형은 LLM-as-Judge, 결정적 순간은 사람. judge 편향(position·verbosity)과 "judge를 골든셋으로 먼저 검증"하는 원칙도 그대로 적용된다.

eval_sketch.py
# 질문 유형별로 다른 평가기를 라우팅 (Eval 가이드의 피라미드)
def evaluate(q, answer, gold):
    if q.type == "factual":
        return exact_or_f1(answer, gold)          # 자동, 쌈
    elif q.type == "global":
        return judge_coverage(q, answer, gold)    # LLM-judge: 주제 누락/중복
    else:  # multihop
        return judge_correctness(q, answer, gold) # LLM-judge: 근거 경로 포함?

4. 골든셋 — 멀티홉·전역은 정답 만들기가 어렵다

평가의 발목을 잡는 건 골든셋이다. 단순 사실 질문은 정답을 적기 쉽지만, 멀티홉·전역 질문은 사람이 정답을 만드는 것 자체가 노동이다.

현실적 접근은 반자동이다. 그래프가 있으니, 그래프에서 멀티홉 질문을 역으로 생성할 수 있다 — "경로를 하나 뽑고, 그 경로가 답이 되는 질문을 LLM이 만든다". 이러면 정답(경로)을 이미 아는 상태로 질문이 생긴다. 사람은 생성된 질문·정답을 검수만 한다. Ch 11에서 실제 트래픽 분포를 반영하라고 한 것과 균형을 맞춰, 합성 질문에만 의존하지는 않는다.

5. 자주 깨지는 포인트

검색과 답변을 안 나눈다. 최종 답만 채점하면 "왜 틀렸는지"를 모른다. 검색 층을 따로 재야 그래프 문제인지 생성 문제인지 갈린다.

전역 질문에 단일 정답 매칭. "주제 5개"를 정답 문자열과 비교하면 의미가 없다. 커버리지·중복을 보는 judge가 필요하다.

추출 품질을 안 본다. 그래프가 틀렸는데 검색·답변만 튜닝하면 천장에 부딪힌다. 인덱싱 품질을 먼저 샘플로 점검하라.

6. 연습 & 다음 챕터

실습 과제

  1. Ch 11의 비교를 검색/답변 두 층으로 쪼개 각각 점수를 매겨라.
  2. 그래프에서 2홉 경로 10개를 뽑아 멀티홉 질문·정답을 반자동 생성하라.
  3. 전역 질문 하나에 커버리지 judge를 붙여, 주제 누락을 잡아내는지 보라.

다음

평가가 섰으니, 이제 운영이다 — 그래프 갱신·비용·지연을 어떻게 다루나 → Ch 13.


원전

  • Es et al. (2023). RAGAS: Automated Evaluation of Retrieval Augmented Generation. arXiv:2309.15217
  • Microsoft Research (2024). GraphRAG (claim/coverage 평가). arXiv:2404.16130