Leaderboard 和评测平台
评测集有了,在哪看结果?哪个模型更强?
这篇介绍主要的模型排行榜和评测平台。
主要 Leaderboard
Open LLM Leaderboard
地址:https://huggingface.co/spaces/HuggingFaceH4/open_llm_leaderboard
维护者:Hugging Face
评测内容:
- ARC (25-shot)
- HellaSwag (10-shot)
- MMLU (5-shot)
- TruthfulQA (0-shot)
- WinoGrande (5-shot)
- GSM8K (5-shot)
特点:
- 开源模型最权威的排行榜
- 任何人都可以提交模型评测
- 统一的评测设置
- 社区活跃
怎么看:
模型名 | 平均分 | ARC | HellaSwag | MMLU | TruthfulQA | Winogrande | GSM8K
注意 Average 是怎么算的,不同版本可能不同。
Chatbot Arena
地址:https://chat.lmsys.org/
维护者:LMSYS(UC Berkeley)
评测方式:
- 用户输入问题
- 系统随机选两个模型回答
- 用户选更好的那个
- 根据投票计算 Elo 分数
特点:
- 最接近真实用户体验的评测
- 匿名对战,减少偏见
- Elo 排名有统计意义
- 覆盖闭源模型(GPT-4、Claude 等)
怎么看:
排名 | 模型 | Elo分数 | 95%置信区间 | 投票数
1 | GPT-4 | 1287 | +3/-3 | 50000
2 | Claude 3 | 1275 | +4/-4 | 45000
...
Elo 分数差距越大,模型差距越显著。
AlpacaEval Leaderboard
地址:https://tatsu-lab.github.io/alpaca_eval/
维护者:Stanford
评测方式:
- 805 条指令
- GPT-4 作为评判
- 和参考模型(GPT-4)对比
指标:
- Win Rate:胜率
- LC Win Rate:长度控制后的胜率(避免长回答偏好)
特点:
- 测试指令遵循能力
- 关注 LC Win Rate,更公平
C-Eval Leaderboard
地址:https://cevalbenchmark.com/
维护者:上海交大等
内容:中文能力评测
特点:
- 中文模型权威排行
- 分学科展示
- 有验证集和测试集
OpenCompass
地址:https://opencompass.org.cn/
维护者:上海人工智能实验室
内容:
- 综合多个 Benchmark
- 支持中英文
- 工具 + 排行榜
特点:
- 国内最全面的评测平台
- 评测工具开源
- 定期更新排行榜
如何使用排行榜
1. 看整体排名
了解模型的大致水平:
- 第一梯队:GPT-4、Claude 3
- 第二梯队:LLaMA 70B、Qwen 72B
- 第三梯队:7B-13B 模型
2. 看细分能力
同样总分,细分可能差很多:
模型A:MMLU 80%,GSM8K 50%
模型B:MMLU 60%,GSM8K 70%
总分可能接近,但能力分布不同
根据你的场景选择:
- 做知识问答 → 看 MMLU
- 做数学辅导 → 看 GSM8K
- 做代码助手 → 看 HumanEval
3. 看模型规模
大模型通常更强,但要考虑部署成本:
70B 模型:MMLU 75%,需要 4 张 A100
7B 模型:MMLU 55%,需要 1 张 4090
如果 55% 够用,选 7B 更经济
4. 看时间
排行榜会更新。上个月的第一可能被超越了。
看模型提交时间和评测时间。
自己跑评测
lm-evaluation-harness
最常用的评测工具。
安装:
pip install lm-eval
评测 HuggingFace 模型:
lm_eval --model hf \
--model_args pretrained=meta-llama/Llama-2-7b-hf \
--tasks mmlu,gsm8k,humaneval \
--batch_size 8 \
--output_path results/
评测 vLLM 部署的模型:
lm_eval --model vllm \
--model_args pretrained=meta-llama/Llama-2-7b-hf,tensor_parallel_size=2 \
--tasks mmlu \
--batch_size auto
评测 OpenAI API:
lm_eval --model openai-completions \
--model_args model=gpt-3.5-turbo \
--tasks mmlu
OpenCompass
安装:
git clone https://github.com/open-compass/opencompass
cd opencompass
pip install -e .
配置:
# configs/eval_demo.py
from opencompass.models import HuggingFaceCausalLM
models = [
dict(
type=HuggingFaceCausalLM,
path='meta-llama/Llama-2-7b-hf',
tokenizer_path='meta-llama/Llama-2-7b-hf',
max_out_len=100,
batch_size=8,
)
]
datasets = [
{'name': 'mmlu', 'type': 'mmlu'},
{'name': 'ceval', 'type': 'ceval'},
]
运行:
python run.py configs/eval_demo.py
Eval 注意事项
环境一致性
- 同一版本的评测工具
- 同样的 prompt 模板
- 同样的采样参数
资源需求
- 评测大模型需要 GPU
- 有些评测集很大,需要时间
结果验证
- 和官方结果对比
- 误差在 1-2% 内算正常
评测结果解读
看绝对分数
MMLU 80% 意味着什么?
人类专家:~90%
GPT-4:~86%
普通人:~60%
80% 说明模型知识水平不错
看相对分数
模型A MMLU:72%
模型B MMLU:75%
差 3%,有意义吗?
看置信区间。如果评测样本够多,3% 可能有统计意义。
如果样本少,可能只是波动。
看分布
模型 MMLU 各学科:
- STEM:78%
- Humanities:75%
- Social Science:70%
- Other:65%
说明模型理科比文科强
看趋势
7B 模型 MMLU:
- 2023.3:45%
- 2023.6:52%
- 2023.12:58%
- 2024.6:65%
技术在进步
评测的局限
1. 评测 ≠ 实际能力
评测集是静态的,实际应用是动态的。
评测分数高不代表用户体验好。
2. 刷榜问题
有些模型针对评测集优化:
- 训练数据混入评测集
- 过度拟合特定格式
分数高但实际能力不行。
3. 单一指标不够
光看 MMLU 不能判断模型好坏。
要综合多个维度。
4. 评测落后于模型
模型能力一直在进步,评测集更新慢。
有些评测对顶级模型已经饱和了。
企业内部评测
除了公开 Benchmark,企业通常有内部评测:
业务评测集
根据业务场景构建:
客服场景:收集真实用户问题,标注标准答案
代码场景:收集内部代码任务,跑测试用例
A/B 测试
真实用户对比:
50% 用户用模型A
50% 用户用模型B
比较用户满意度、任务完成率
人工评测
产品上线前,人工抽检:
随机抽 100 个回答
人工打分:1-5 分
计算平均分和各维度分
小结
主要排行榜:
| 排行榜 | 特点 | 适合看 |
|---|---|---|
| Open LLM Leaderboard | 开源模型权威 | 开源模型选型 |
| Chatbot Arena | 用户投票 | 实际对话能力 |
| AlpacaEval | 指令遵循 | 助手类模型 |
| C-Eval | 中文 | 中文模型 |
| OpenCompass | 综合 | 全面评测 |
使用建议:
- 综合多个排行榜看
- 关注细分能力
- 考虑模型规模和成本
- 自己跑评测验证
- 业务场景单独评测
评测篇结束。下一部分讲调度。