LLM-as-a-Judge
Properties
Using LLM to evaluate output of another LLM. Generally, the LLM-as-a-Judge follows structure shown in the
Fig. 2.
A Survey on LLM-as-a-Judge:
# LLM Comparison For Judging
Judge Arena: Benchmarking LLMs as Evaluators:
LLM evaluations aim to capture human preferences, direct human feedback is also key to determining which AI judges are most helpful.
# Improvement Strategies
When directly utilizing LLMs to conduct evaluation tasks—such as scoring, selection, pairwise comparison, or ranking—their inherent biases of LLMs like length bias, position bias, and concreteness bias will undermine evaluation outcomes.
To boost the evaluation performance of LLM-as-a-judge: design strategy of evaluation prompts (in-context learning based), improvement strategy of LLMs’ evaluation capabilities (model-based), and optimization strategy of final evaluation results (post-processing based). See Fig. 12.
# Advanced Approaches
- Logprobs Scoring - Retrieval confidence scoring to reduce hallucinations
- Panel of LLM evaluators (PoLL),
- multiple different LLMs evaluate the results.
# Evaluation Frameworks With Custom Metrics
- RAGAS
- Library that provides tools to supercharge the evaluation of Large Language Model (LLM) applications.
- In
GenAI Eng with DBX they defined this metric somehow through MlFLow using
mlflow.metrics.make_genai_metric.
# Papers related to this approach:
- G-Eval
- ChainPoll - https://arxiv.org/pdf/2310.18344
- How to Correctly Report LLM-as-a-Judge Evaluations
- How to Calibrate LLM-as-Judge with Human Corrections
- LangChain walkthrough of the Align Evals workflow: collect human corrections, build few-shot examples, track judge-human agreement over time
