[ PROMPT_NODE_22384 ]
evaluating-llms-harness
[ SKILL_DOCUMENTATION ]
# lm-evaluation-harness - 大语言模型基准测试
## 快速开始
lm-evaluation-harness 使用标准化的提示词和指标,在 60 多个学术基准上评估大语言模型。
**安装**:
bash
pip install lm-eval
**评估任意 HuggingFace 模型**:
bash
lm_eval --model hf
--model_args pretrained=meta-llama/Llama-2-7b-hf
--tasks mmlu,gsm8k,hellaswag
--device cuda:0
--batch_size 8
**查看可用任务**:
bash
lm_eval --tasks list
## 常见工作流
### 工作流 1: 标准基准评估
在核心基准(MMLU, GSM8K, HumanEval)上评估模型。
复制此检查清单:
基准评估:
- [ ] 第 1 步: 选择基准套件
- [ ] 第 2 步: 配置模型
- [ ] 第 3 步: 运行评估
- [ ] 第 4 步: 分析结果
**第 1 步: 选择基准套件**
**核心推理基准**:
- **MMLU** (大规模多任务语言理解) - 57 个学科,多项选择题
- **GSM8K** - 小学数学应用题
- **HellaSwag** - 常识推理
- **TruthfulQA** - 真实性和事实性
- **ARC** (AI2 推理挑战) - 科学问题
**代码基准**:
- **HumanEval** - Python 代码生成 (164 个问题)
- **MBPP** (基础 Python 问题集) - Python 编程
**标准套件** (推荐用于模型发布):
bash
--tasks mmlu,gsm8k,hellaswag,truthfulqa,arc_challenge
**第 2 步: 配置模型**
**HuggingFace 模型**:
bash
lm_eval --model hf
--model_args pretrained=meta-llama/Llama-2-7b-hf,dtype=bfloat16
--tasks mmlu
--device cuda:0
--batch_size auto # 自动检测最佳批处理大小
**量化模型 (4-bit/8-bit)**:
bash
lm_eval --model hf
--model_args pretrained=meta-llama/Llama-2-7b-hf,load_in_4bit=True
--tasks mmlu
--device cuda:0
**自定义检查点**:
bash
lm_eval --model hf
--model_args pretrained=/path/to/my-model,tokenizer=/path/to/tokenizer
--tasks mmlu
--device cuda:0
**第 3 步: 运行评估**
bash
# 完整的 MMLU 评估 (57 个学科)
lm_eval --model hf
--model_args pretrained=meta-llama/Llama-2-7b-hf
--tasks mmlu
--num_fewshot 5 # 5-shot 评估 (标准)
--batch_size 8
--output_path results/
--log_samples # 保存单个预测结果
# 同时评估多个基准
lm_eval --model hf
--model_args pretrained=meta-llama/Llama-2-7b-hf
--tasks mmlu,gsm8k,hellaswag,truthfulqa,arc_challenge
--num_fewshot 5
--batch_size 8
--output_path result