lm-evaluation-harness
统一的大模型评测框架,60+学术基准全覆盖,HuggingFace Open LLM Leaderb
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
统一的大模型评测框架,60+学术基准全覆盖,HuggingFace Open LLM Leaderb
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下这样一个场景:金庸武侠世界里,华山论剑的日子到了——各路高手纷纷亮出绝学,但评判胜负的规则混乱不堪:东邪用的是内功心法评分,西毒用的是兵器锋利度,南帝用的是招式美感,北丐用的是实战杀伤力。这样的比武结果,怎么可能让人心服口服?
现实中的大语言模型(LLM)评测,恰恰就面临着类似的混乱。每个研究团队都在用自己定义的"考卷"和"评分标准"来衡量模型能力——有的团队测数学推理,有的测代码生成,有的测常识问答,还有的干脆用"我觉得它很聪明"这样的主观打分。结果就是:同一款模型,在这个榜单排第一,在那个榜单却垫底,让研究者和应用开发者无所适从。
Language Model Evaluation Harness(以下简称 lm-evaluation-harness)正是为解决这一痛点而生。它由非营利 AI 研究组织 EleutherAI 开发维护,提供一套统一的评测框架,让所有大模型在同一套标准下"华山论剑"。
EleutherAI 成立于 2020 年,核心成员来自 AI 社区的草根研究者群体。他们最初因复现 GPT-3 的研究而闻名(GPT-NeoX 项目),后来将精力转向建立 AI 领域的公共基础设施。lm-evaluation-harness 是他们最重要的贡献之一,已被 Hugging Face 采纳为 Open LLM Leaderboard 的官方评测后端,在学术界和工业界都被广泛引用——Google Scholar 显示相关论文引用量已达数千次。
这个项目的核心信念是:AI 评测不应该是少数大公司的私域游戏,而应该是透明的、可复现的公共资源。正是这种开源精神,让 lm-evaluation-harness 成为 LLM 评测领域的事实标准。
lm-evaluation-harness 的功能可以用一句话概括:一套框架,跑遍所有模型,测完所有标准任务。
框架通过插件化架构支持多种模型的加载方式:
这种多后端设计意味着:无论你用哪家的模型、哪种加载方式,都能无缝接入 harness 进行评测。
框架内置了 60+ 标准学术基准测试,涵盖几乎所有主流评测维度:
| 类别 | 代表任务 | 评测内容 |
|---|---|---|
| 常识推理 | HellaSwag、Winogrande | 日常情境下的多选推理 |
| 数学能力 | GSM8K、MATH | 初高中数学题到奥数级别 |
| 代码生成 | HumanEval、MBPP | Python 代码补全与生成 |
| 阅读理解 | ARC、BoolQ | 文本理解与问答 |
| 多语言 | Belebele(100+语言) | 跨语言阅读理解 |
| 对话能力 | MTG、ChatArena | 多轮对话质量 |
| 专业领域 | MedQA、PubMedQA | 医学问答 |
每个任务都可以灵活配置 few-shot 示例数量(0-shot 到 n-shot),以评估模型的少样本学习能力。

图1:Few-shot 评测工作流示意。模型在给出最终答案前,会先看到若干个示例题目和标准答案,用于"学会"任务模式。
传统评测的一个大问题是 prompt 敏感性——同一模型,换一个 prompt 表述,分数可能差出 10 分以上。lm-evaluation-harness 的解决方案是:
这套机制从根本上提升了评测的公平性和可信度。
从代码结构来看,harness 采用清晰的模块化分层架构:
lm_eval/
├── models/ # 模型加载适配层(hf、vllm、api_models 等 29 个文件)
├── tasks/ # 任务定义层(218 个任务配置 + YAML 加载器)
├── filters/ # 答案后处理(extraction、selection、transformation)
├── loggers/ # 结果追踪(WandB、Zeno、TrackIO)
└── evaluator.py # 核心调度器
这种架构的优势在于:每层的改动不会影响其他层。新增一个模型后端只需实现标准接口,无需改动评测逻辑;新增一个任务只需提供 YAML 配置,无需写 Python 代码。
2025 年底,CLI 接口经历了重大重构,引入 lm-eval run/ls/validate 三子命令模式和 YAML 配置文件支持,大幅降低了使用门槛。同时安装方式也轻量化——核心包不再捆绑 transformers/torch,用户按需安装后端(lm_eval[hf] 或 lm_eval[vllm])。
对于有 PyTorch 环境的用户,安装和运行都非常简单:
# 安装(按需选择后端)
pip install lm_eval[hf]
# 列出所有可用任务
lm-eval ls tasks
# 运行评测(以 GPT-2 为例)
lm-eval run --model hf --model_args pretrained=gpt2 --tasks hellaswag
Docker 方式也可用(已提供 Dockerfile),但需注意官方镜像基于 CUDA 11.2,如需更高版本 CUDA 需自行 build。
需要GPU资源是硬性门槛——评测 7B 参数模型建议至少 16GB 显存。
lm-evaluation-harness 并非完美,主要争议集中在以下几点:
lmms-eval 这样的社区分支lm-evaluation-harness 的价值远超一个"评测工具"本身。它代表的是 AI 领域对标准化、透明化、可复现性的追求。当 Hugging Face、Open LLM Leaderboard、NVIDIA、Cohere 等机构都在使用同一套框架时,整个社区就有了共同的语言和比较基准。
项目保持了极高的活跃度——Stars 数已突破 1.2 万,2025 年底还在持续更新 CLI 和 API,说明社区对其依赖程度之深。对于任何正在训练或应用大模型的人来说,熟悉这套框架几乎是必修课。
图2:EleutherAI 组织标志——开源 AI 社区中最具影响力的基础设施建设者之一。