결과 품질 평가하기

결과 품질 평가하기 (Evaluating)

LLM 애플리케이션(RAG, 에이전트)의 성능을 개선하려면 반드시 측정부터 할 수 있어야 해요. 평가(Evaluation)와 벤치마킹은 LLM 개발에서 가장 중요한 개념 중 하나예요. 개선하기 전에 "지금 어느 정도인지"를 모른다면 무엇이 나아졌는지도 알 수 없으니까요. LlamaIndex는 생성 결과의 품질을 측정하는 모듈과 검색(retrieval) 품질을 측정하는 모듈을 함께 제공해요.

출처: 공식문서

개념

  • 응답 평가(Response Evaluation): 생성된 응답이 검색된 컨텍스트와 일치하는가? 쿼리와도 일치하는가? 정답(reference)이나 가이드라인과도 일치하는가?
  • 검색 평가(Retrieval Evaluation): 검색된 소스들이 쿼리와 관련 있는가?

응답 평가

생성 결과의 평가는 전통적인 머신러닝과 달라서 어려워요. 예측 결과가 단일 숫자가 아니기 때문에 정량적 지표를 정의하기 어렵거든요. LlamaIndex는 LLM 기반 평가 모듈을 제공하는데, "gold" LLM(예: GPT-4)이 다양한 방식으로 예측 답이 맞는지 판단하게 해요.

중요한 점은 현재 대부분의 평가 모듈이 정답 라벨(ground-truth)을 요구하지 않는다는 거예요. 쿼리·컨텍스트·응답을 적절히 조합해 LLM 호출로 평가를 진행할 수 있어요.

평가 모듈의 형태는 다음과 같아요.

  • Correctness(정확성): 쿼리가 주어졌을 때 생성 답이 정답과 일치하는지 (라벨 필요)
  • Semantic Similarity(의미 유사도): 예측 답이 정답과 의미적으로 유사한지 (라벨 필요)
  • Faithfulness(충실성): 답이 검색된 컨텍스트에 충실한지, 즉 환각(hallucination)이 있는지 평가
  • Context Relevancy(컨텍스트 관련성): 검색된 컨텍스트가 쿼리와 관련 있는지
  • Answer Relevancy(답변 관련성): 생성 답이 쿼리와 관련 있는지
  • Guideline Adherence(가이드라인 준수): 예측 답이 특정 가이드라인을 따르는지

질문 생성 (Question Generation)

쿼리를 평가하는 것에 더해 LlamaIndex는 내 데이터를 활용해 평가용 질문을 자동 생성할 수도 있어요. 즉 질문을 자동 생성한 뒤, LLM이 내 데이터로 질문에 정확히 답할 수 있는지 평가 흐름을 돌리는 거죠.

검색 평가

검색을 독립적으로 평가하는 모듈도 제공해요. 질문과 정답 순위 데이터셋이 주어지면 MRR(평균 역순위), hit-rate, 정밀도 같은 순위 지표로 리트리버를 평가할 수 있어요.

핵심 단계는 두 가지예요.

  • 데이터셋 생성: 비정형 텍스트 말뭉치에서 (질문, 컨텍스트) 쌍을 합성 생성
  • 검색 평가: 리트리버와 질문 세트가 주어지면 순위 지표로 검색 결과를 평가

커뮤니티 통합

커뮤니티 평가 도구와도 통합돼요.

더 알아보기