평가
평가 (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 평가 프레임워크와의 통합에 대해 더 알고 싶다면 RagasEvaluator와 DeepEvalEvaluator 컴포넌트 문서를 확인해 보세요.
실용적인 예제로 시작하려면 평가 튜토리얼이나 아래 쿡북들을 참고해 보세요.
추가 참고 자료 (Additional References)
🧑🍳 쿡북(Cookbooks):
더 알아보기 (Learn more)
- 평가 (Evaluation) — 원문 문서.