LLM 평가 메트릭 소개
LLM 평가 메트릭 소개
LLM 출력의 품질을 점수로 매기려면 "무엇을 기준으로 잴지"를 정해야 해요. DeepEval의 메트릭은 바로 그 기준이 되는 '자'예요. 기본 제공 메트릭만으로도 흔한 평가 시나리오 대부분을 커버하지만, 제품에 맞는 더 정밀한 기준이 필요할 땐 G-Eval 같은 프레임워크로 직접 만들 수도 있어요.
메트릭이 다루는 범위
대부분의 메트릭은 원자적 상호작용(atomic interaction)을 나타내는 테스트 케이스에 점수를 매겨요. 반면 AI 에이전트가 만들어 낸 완전한 순서 있는 trace 전체를 평가하는 트레이젝토리(trajectory) 메트릭도 따로 있어요. 에이전트의 실행 흐름 자체를 보고 싶다면 전자보다 후자를 골라야 해요.
deepeval의 메트릭은 기본적으로 멀티모달이에요. 이미지를 확실히 요구하는 메트릭에는 Hallucination, Json Correctness, Summarization, Ragas 등이 있어요.
대부분 메트릭은 테스트 케이스에서 1~2개 파라미터만 요구해요. 그래서 각 메트릭 문서에서 어떤 파라미터가 필요한지 확인해 두면 헤매지 않아요.
첫 번째 메트릭 만들기
커스텀 메트릭(Custom Metrics)
deepeval은 최신 LLM 평가 프레임워크인 G-Eval을 제공해요. 자연어로 기준을 적으면 그걸 기준으로 LLM이 평가해 주는 커스텀 메트릭을 만들 수 있죠. G-Eval은 단일 턴·다중 턴·멀티모달 평가 모두에서 쓸 수 있어요.
내부적으로 deepeval은 먼저 일련의 **평가 단계(evaluation steps)**를 생성하고, 그 단계를 LLMTestCase의 정보와 결합해 평가를 진행해요. 자세한 동작 원리는 G-Eval 문서 페이지에서 확인할 수 있어요.
기본 메트릭(Default Metrics)
많은 메트릭은 LLM-as-a-judge 방식으로 동작해요. 예를 들어 대화 메트릭인 Knowledge Retention은 챗봇이 대화 내내 배운 지식을 잘 유지하는지 평가해요. 다만 대화 메트릭은 일반 LLMTestCase가 아니라 ConversationalTestCase를 써야 해요.
메트릭 고르기
표준 메트릭이 요구 조건에 안 맞는 경우도 있어요. 그럴 땐 G-Eval이나 DAG 프레임워크로 커스텀 평가를 만들어요. 주관적인 기준이면 G-Eval이, 조건부·다단계 판정이 필요한 객관적 기준이면 DAG(Deep Acyclic Graph)가 자연스럽게 맞아요.
메트릭 사용하기
End-to-End 평가용
LLM 시스템을 end-to-end로 평가하려면, 블랙박스 메트릭을 테스트 케이스 리스트와 함께 넘겨요.
from deepeval.metrics import AnswerRelevancyMetric
from deepeval.test_case import LLMTestCase
from deepeval import evaluate
Component-Level 평가용
컴포넌트 레벨로 평가하려면, 원하는 메트릭으로 컴포넌트를 @observe로 데코레이션하고 런타임에 테스트 케이스를 만들면 돼요. 이렇게 하면 시스템 전체가 아니라 개별 컴포넌트의 성능을 짚을 수 있어요.
통합과 함께 쓰기
메트릭을 통합과 함께 쓸 땐 end-to-end·트레이젝토리 평가에는 evals_iterator()에 메트릭을 넘기고, component-level 평가에는 프레임워크가 만든 span에 메트릭을 붙이거나 스테이징해요. 통합 가이드마다 지원되는 패턴이 다르니 참고하면 돼요.
플래키 메트릭
테스트 케이스를 플래키로 표시할 수 있는 것처럼 메트릭도 마찬가지로 표시할 수 있어요. 실패한 플래키 테스트 케이스는 Python에서 assert_test()가 AssertionError를 던지는 대신 경고를 출력해요.
LLM-as-a-judge가 아닌 메트릭은?
deepeval은 전통적인 NLP 점수 계산을 위한 scorer 모듈도 제공하지만 공식적으로 문서화하진 않아요. 이유는 출력에 높은 수준의 추론이 필요한 LLM 메트릭에서는 이런 고전 scorer가 그다지 유용하지 않기 때문이에요. 그래서 대부분 메트릭이 LLM-as-a-judge를 쓰는 거예요.
더 알아보기
- 단일 턴 테스트 케이스 — 메트릭이 평가할
LLMTestCase구조 - "Do it yourself" 커스텀 메트릭 —
BaseMetric상속으로 직접 만들기 - LLM 벤치마크 소개 — 커스텀 LLM을 벤치마크로 측정하기