What are different metrics for evaluating LLMs
1️⃣ 考察意图
面试官想考察你对 LLM 评估体系的系统性理解,而非简单罗列指标。这是“系统设计+工程取舍”型问题,刁钻点在于:候选人常混淆传统 NLP 指标(如 BLEU)与 LLM 特有评估(如 GPT-4 作为裁判),且忽略评估本身的成本与偏差。答好了能展示你从学术到落地的整条链路思维,包括指标选择、自动化评估的陷阱、以及如何平衡质量与效率。
2️⃣ 标准答
LLM 评估需按任务类型、评估维度、自动化程度分层设计,避免一刀切。
- 按任务类型划分指标:
- 生成任务(摘要、翻译、对话):传统指标如 BLEU(n-gram 精确率)、ROUGE(召回率)、METEOR(同义词匹配)仍常用,但仅适合参考翻译或摘要,对开放生成无效。实际工程中,我们改用 BERTScore(基于 BERT 的语义相似度)或 BLEURT(学习人类偏好),它们能捕捉 paraphrase,但对事实错误不敏感。
- 分类/推理任务(MMLU、HellaSwag):用准确率、F1、AUC。注意:LLM 输出格式不稳定,需后处理(如正则提取答案)再计算,否则指标虚高。
- 代码生成:用 pass@k(HumanEval)或 functional correctness(MBPP)。坑:pass@k 需采样多次,计算开销大,且对简单任务过拟合。
- 按评估维度分层:
- 事实一致性:FactScore(分解原子事实并验证)或 SelfCheckGPT(基于采样一致性)。落地坑:FactScore 依赖外部知识库,对长文本分解成本高,我们曾用 GPT-4 做自动分解,但召回率仅 70%,需人工抽检。
- 安全性:Toxicity(Perspective API 或 Detoxify)和 TruthfulQA(对抗性误导问题)。注意:Toxicity 对文化语境敏感,中文场景误报率高,需微调分类器。
- 有用性:Helpfulness(MT-Bench 多轮对话评分)和 AlpacaEval(单轮指令遵循)。MT-Bench 用 GPT-4 打分,但存在位置偏差(先回答的模型得分低),我们通过随机打乱顺序缓解。
- 自动化评估的取舍:
- GPT-4 作为裁判:用 GPT-4 对模型输出打分(如 Chatbot Arena 的 Elo 评分)。优势是灵活,但成本高(每 1000 次评估约 $5),且存在自我偏好偏差(GPT-4 更倾向自己的输出)。解法:用 Llama 3 70B 做裁判,成本降 90%,但一致性(Kappa 系数)从 0.8 降到 0.6,需人工校准。
- 人类评估:偏好率(A vs B 盲测)和 Likert 评分(1-5 分)。坑:标注者一致性低(Cohen’s Kappa 常 <0.5),需培训并设置 gold standard 问题。我们曾用 3 人标注+多数投票,Kappa 提升到 0.7,但成本翻倍。
- 效率指标:延迟(P50/P95)、吞吐量(tokens/s)、内存占用(GB)。落地坑:量化模型(如 GPTQ 4-bit)虽降低内存,但可能损害生成质量,需在评估中同时监控 perplexity 变化。
3️⃣ 答题模板(30 秒电梯版)
“这个问题我从三个层面回答:第一,按任务类型分,生成任务用 BERTScore,分类任务用 F1,代码任务用 pass@k;第二,按评估维度分,事实一致性用 FactScore,安全性用 Toxicity,有用性用 MT-Bench;第三,自动化评估的取舍,GPT-4 裁判成本高且有偏差,人类评估需控制一致性。总结一句:评估体系必须结合任务、维度和成本,没有万能指标。”
4️⃣ 高频追问 & 应对
追问 1:你提到 GPT-4 作为裁判有自我偏好偏差,具体怎么量化?
量化方法:构建一个“黄金标准”数据集,包含 100 对模型输出(如 GPT-4 vs Llama 3),由人类专家标注偏好。然后让 GPT-4 对同一批数据打分,计算与人类标签的一致性(如准确率或 Kappa 系数)。如果 GPT-4 在“自己 vs 其他”对上的准确率显著高于“其他 vs 其他”,说明存在偏差。例如,我们实验中发现 GPT-4 对自己输出的偏好率高出 15%,通过引入“对抗性提示”(如要求 GPT-4 忽略模型身份)可降至 5%。
追问 2:在工程中,你如何选择评估指标来平衡成本和效果?
采用分层策略:第一层用低成本自动化指标(如 BLEU、perplexity)做快速筛选,过滤掉明显差的模型;第二层用中等成本指标(如 BERTScore、GPT-4 裁判)对 top-5 模型精排;第三层用人类评估(偏好率)对 top-2 模型做最终决策。成本控制:自动化指标占总预算 20%,GPT-4 裁判占 50%,人类评估占 30%。注意:如果任务对事实性要求高(如医疗问答),直接跳过第一层,用 FactScore+人类评估。
追问 3:如何评估 LLM 在长上下文任务中的表现?
用 RULER(长上下文基准)或 L-Eval,指标包括 retrieval accuracy(如 needle-in-a-haystack)和 generation coherence(如摘要的 ROUGE-L)。坑:长上下文下模型容易“迷失在中间”,需分段评估(前/中/后段)。我们曾用 128K 上下文测试,发现模型在后 25% 的 retrieval 准确率下降 40%,于是改用 RoPE 位置插值+FlashAttention 优化,准确率回升到 85%。
5️⃣ 避坑 · 常见错误答法
- ❌ 只罗列 BLEU、ROUGE、F1 等传统指标,不提 LLM 特有评估(如 GPT-4 裁判、FactScore) → ✅ 必须区分传统 NLP 指标(适合参考任务)和 LLM 特有评估(适合开放生成),并说明前者对语义和事实不敏感。
- ❌ 说“人类评估最准确,所以只用人类评估” → ✅ 人类评估成本高、一致性差,应作为最终验证,而非日常迭代。工程中优先用自动化指标做快速迭代,人类评估只用于关键节点。
- ❌ 忽略评估的偏差和成本,只谈指标名称 → ✅ 必须给出具体取舍,如 GPT-4 裁判的自我偏好偏差、FactScore 的分解成本、人类评估的 Kappa 系数。
6️⃣ 简历呼应
- 如果你有 RAG 项目:从事实一致性切入,对比 FactScore 和 SelfCheckGPT 在检索增强场景下的表现,强调如何用自动化指标发现检索噪声导致的幻觉。
- 如果你只做过传统 NLP:用 BLEU/ROUGE 类比迁移,说明它们在 LLM 生成任务中的局限性,并展示如何引入 BERTScore 和 GPT-4 裁判,强调从“n-gram 匹配”到“语义理解”的演进。
- 如果你是校招无项目:聚焦论文复现,如复现 MT-Bench 的评分流程,分析 GPT-4 裁判的偏差,并给出改进方案(如随机打乱顺序、多轮投票),展示对评估体系的理解深度。
- “Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena” (Zheng et al., 2023)
- “FactScore: Fine-grained Atomic Evaluation of Factual Precision in Long-form Text Generation” (Min et al., 2023)
- “RULER: What’s the Real Context Length of Your LLM?” (Hsieh et al., 2024)
- “SelfCheckGPT: Zero-Resource Black-Box Hallucination Detection for Generative Large Language Models” (Manakul et al., 2023)
- “AlpacaEval: An Automatic Evaluator for Instruction-following Models” (Li et al., 2023)