[ PROMPT_NODE_22388 ]
benchmark-guide
[ SKILL_DOCUMENTATION ]
# 基准测试指南
lm-evaluation-harness 中 60 多个评估任务的完整指南,涵盖其衡量指标及结果解读。
## 概述
lm-evaluation-harness 包含 60 多个基准,涵盖:
- 语言理解 (MMLU, GLUE)
- 数学推理 (GSM8K, MATH)
- 代码生成 (HumanEval, MBPP)
- 指令遵循 (IFEval, AlpacaEval)
- 长文本理解 (LongBench)
- 多语言能力 (AfroBench, NorEval)
- 推理 (BBH, ARC)
- 真实性 (TruthfulQA)
**列出所有任务**:
bash
lm_eval --tasks list
## 主要基准
### MMLU (大规模多任务语言理解)
**衡量内容**: 57 个学科(STEM、人文、社会科学、法律)的广泛知识。
**任务变体**:
- `mmlu`: 原始 57 学科基准
- `mmlu_pro`: 更具挑战性的版本,侧重推理问题
- `mmlu_prox`: 多语言扩展版
**格式**: 多项选择题 (4 个选项)
**示例**:
问题: 法国的首都是哪里?
A. 柏林
B. 巴黎
C. 伦敦
D. 马德里
答案: B
**命令**:
bash
lm_eval --model hf
--model_args pretrained=meta-llama/Llama-2-7b-hf
--tasks mmlu
--num_fewshot 5
**解读**:
- 随机: 25% (概率)
- GPT-3 (175B): 43.9%
- GPT-4: 86.4%
- 人类专家: ~90%
**适用场景**: 评估通用知识和领域专业能力。
### GSM8K (小学数学 8K)
**衡量内容**: 小学水平应用题的数学推理能力。
**任务变体**:
- `gsm8k`: 基础任务
- `gsm8k_cot`: 带有思维链 (Chain-of-Thought) 提示词
- `gsm_plus`: 带有扰动的对抗性变体
**格式**: 自由生成,提取数值答案
**示例**:
问题: 面包师做了 200 个饼干。他早上卖了 3/5,下午卖了剩下部分的 1/4。他还剩下多少个饼干?
答案: 60
**命令**:
bash
lm_eval --model hf
--model_args pretrained=meta-llama/Llama-2-7b-hf
--tasks gsm8k
--num_fewshot 5
**解读**:
- 随机: ~0%
- GPT-3 (175B): 17.0%
- GPT-4: 92.0%
- Llama 2 70B: 56.8%
**适用场景**: 测试多步推理和算术能力。
### HumanEval
**衡量内容**: 基于文档字符串的 Python 代码生成(功能正确性)。
**任务变体**:
- `humaneval`: 标准基准
- `humaneval_instruct`: 针对指令微调模型
**格式**: 代码生成,基于执行的评估
**示例**:
python
def has_close_elements(numbers: List[float], threshold: