평가

평가 (Evaluation)

Haystack에서 파이프라인이나 컴포넌트를 평가하는 방법을 전부 알아봐요.

Haystack에는 전체 파이프라인이나 Retriever·Reader·Generator 같은 개별 컴포넌트를 평가하는 데 필요한 도구가 모두 갖춰져 있어요. 이 가이드에서는 다양한 시나리오에서 파이프라인을 평가하는 방법과 지표(metric)를 해석하는 방법을 설명할게요.

평가와 그 결과를 활용해서:

  • 특정 도메인에서 시스템이 얼마나 잘 작동하는지 판단하고,
  • 서로 다른 모델의 성능을 비교하고,
  • 파이프라인에서 성능이 떨어지는 컴포넌트를 찾아낼 수 있어요.

출처: 공식문서

평가 옵션 (Evaluation Options)

개별 컴포넌트 평가 또는 엔드투엔드 평가.

개별 컴포넌트를 평가하면 성능 병목을 이해하고, 한 번에 하나의 컴포넌트(예: Retriever, Generator에 쓰는 프롬프트)를 최적화하는 데 도움이 돼요.

엔드투엔드(end-to-end) 평가는 파이프라인이 실제로 어떻게 사용되는지 확인하고 최종 출력만 평가합니다. 파이프라인을 블랙박스로 취급하죠.

정답 라벨을 쓰거나 아예 라벨 없이.

대부분의 통계 기반(statistical) 평가자는 쿼리에 관련된 문서나 예상 답변 같은 **정답 라벨(ground truth labels)**을 요구해요. 반면 대부분의 모델 기반(model-based) 평가자는 라벨 없이도 프롬프트 지시만 따르며 동작합니다. 다만 프롬프트에 몇 개의 few-shot 라벨을 넣으면 평가자가 더 좋아질 수 있어요.

언어 모델을 쓰는 모델 기반 평가 또는 통계 기반 평가.

모델 기반 평가는 프롬프트 지시가 있는 LLM이나 더 작은 fine-tuned 모델을 써서 파이프라인 출력의 여러 측면을 점수화해요. 통계 기반 평가는 모델이 필요 없어서 파이프라인 출력을 점수화하는 더 가벼운 방법이죠. 자세한 내용은 모델 기반 평가와 통계 기반 평가 문서를 참고하세요.

평가자 컴포넌트 (Evaluator Components)

평가자 답변(Answers) 또는 문서(Documents) 평가 모델 기반/통계 기반 라벨 필요
AnswerExactMatchEvaluator Answers Statistical Yes
ContextRelevanceEvaluator Documents Model-based No
DocumentMRREvaluator Documents Statistical Yes
DocumentMAPEvaluator Documents Statistical Yes
DocumentNDCGEvaluator Documents Statistical Yes
DocumentRecallEvaluator Documents Statistical Yes
FaithfulnessEvaluator Answers Model-based No
LLMEvaluator User-defined Model-based No
SASEvaluator Answers Model-based Yes

평가자 통합 (Evaluator Integrations)

Ragas와 DeepEval 평가 프레임워크와의 통합에 대해 더 알고 싶다면 RagasEvaluatorDeepEvalEvaluator 컴포넌트 문서를 확인해 보세요.

실용적인 예제로 시작하려면 평가 튜토리얼이나 아래 쿡북들을 참고해 보세요.

추가 참고 자료 (Additional References)

🧑‍🍳 쿡북(Cookbooks):

더 알아보기 (Learn more)