`LabelledEvaluatorDataset`로 평가기 평가하기
LabelledEvaluatorDataset로 평가기 평가하기
llama-datasets의 목적은 빌더가 LLM 시스템이나 태스크를 빠르게 벤치마킹할 수 있는 수단을 제공하는 거예요. 그런 취지에서 LabelledEvaluatorDataset는 평가기(evaluator) 자체를 매끄럽고 수월하게 평가할 수 있도록 존재해요.
이 데이터셋은 주로 query, answer, ground_truth_answer, reference_score, reference_feedback 같은 속성과 몇 가지 보조 속성으로 구성된 예시들을 담고 있어요. 이 데이터셋으로 평가를 생성하는 사용자 흐름은, 제공된 LLM 평가기로 데이터셋에 대해 예측을 만들고, 그 예측을 해당 reference와 계산적으로 비교해 평가의 우수성을 측정하는 메트릭을 계산하는 방식이에요.
아래는 EvaluatorBenchmarkerPack을 사용해 위 프로세스 흐름을 편리하게 처리하는 코드 스니펫이에요.
from llama_index.core.llama_dataset import download_llama_dataset
from llama_index.core.llama_pack import download_llama_pack
from llama_index.core.evaluation import CorrectnessEvaluator
from llama_index.llms.gemini import Gemini
# download dataset
evaluator_dataset, _ = download_llama_dataset(
"MiniMtBenchSingleGradingDataset", "./mini_mt_bench_data"
)
# define evaluator
gemini_pro_llm = Gemini(model="models/gemini-pro", temperature=0)
evaluator = CorrectnessEvaluator(llm=gemini_pro_llm)
# download EvaluatorBenchmarkerPack and define the benchmarker
EvaluatorBenchmarkerPack = download_llama_pack(
"EvaluatorBenchmarkerPack", "./pack"
)
evaluator_benchmarker = EvaluatorBenchmarkerPack(
evaluator=evaluators["gpt-3.5"],
eval_dataset=evaluator_dataset,
show_progress=True,
)
# produce the benchmark result
benchmark_df = await evaluator_benchmarker.arun(
batch_size=5, sleep_time_in_seconds=0.5
)
출처: 문서
본문
관련 LabelledPairwiseEvaluatorDataset
관련 llama-dataset으로 LabelledPairwiseEvaluatorDataset가 있는데, 이것 역시 평가기를 평가하기 위한 것이지만 이번에는 평가기가 주어진 쿼리에 대한 두 LLM 응답 쌍을 비교해서 둘 중 더 나은 것을 판별하는 작업을 수행해요. 위에서 설명한 사용 흐름은 LabelledEvaluatorDataset과 정확히 동일하며, 차이점은 LLM 평가기가 쌍 비교(pairwise) 평가 작업을 수행할 수 있어야 한다는 것 — 즉 PairwiseComparisonEvaluator여야 한다는 점이에요.
더 배울 자료
이 데이터셋들이 실제로 동작하는 모습을 보려면, MT-Bench 데이터셋을 약간 변형한 버전에서 LLM 평가기를 벤치마킹하는 아래 노트북들을 확인해 보세요.