lm-Evaluation Harness使用

安装评测框架

复制代码
# 下载评测框架
git clone https://github.com/EleutherAI/lm-evaluation-harness
# 安装
cd lm-evaluation-harness
pip install -e .

小模型下载

可以在https://huggingface.co/ 上直接下载小模型到本地,也可以通过代码下载

模型名 说明
gpt2 GPT‑2 基础模型,非常小,很适合初步体验评测链路
EleutherAI/pythia‑160m 约 160M 权重的小模型,训练/评估快
StabilityAI/stablelm‑2‑1.6b 中型开源模型,质量和速度比较好(本地可跑)

以下载 gpt2 为例:

复制代码
# 首先安装transformers
pip install transformers 
# 其次安装 torch
pip install torch
# 在安装
pip install accelerate
 
# 全部安装完成后执行如下命令验证
python -c "import torch; import transformers; import accelerate; print('All good!')"

在python代码中下载gpt2模型

复制代码
from transformers import AutoModelForCausalLM, AutoTokenizer
 
model_name = "gpt2"  # 也可以是 "EleutherAI/pythia-160m"
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)

安装命令(CPU版本):

复制代码
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu

如果GPU(版本)

复制代码
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

验证安装

在 Python 中执行:

复制代码
import torch
print(torch.__version__)
print(torch.cuda.is_available())

输出类似:

复制代码
2.1.0
False

说明 PyTorch 安装成功(CPU 可用,GPU 可选)。

代码执行超时,是由于网络问题,最好使用国内镜像

复制代码
import os
# 设置镜像源加速下载
os.environ['HF_ENDPOINT'] = 'https://hf-mirror.com'
 
from transformers import AutoModelForCausalLM, AutoTokenizer
 
model_name = "gpt2"
 
# 让 transformers 自动管理缓存,不要手动指定路径
tokenizer = AutoTokenizer.from_pretrained(model_name)
model = AutoModelForCausalLM.from_pretrained(model_name)
 
print("模型加载成功!")
print(f"模型参数量: {sum(p.numel() for p in model.parameters()):,}")

加载完成会得到如下输出:

5.运行评测命令

查看有哪些评测任务

复制代码
lm-eval ls tasks

评估模型基本能力

以 GPT‑2 在 HellaSwag benchmark 上跑分为例:

复制代码
lm_eval --model hf --model_args pretrained=gpt2 --tasks hellaswag --device cpu --batch_size 4 --output results.json

注意:如果执行报错连接失败:看常见问题3,按本地数据集的方式运行!!!

参数解释:

--model hf:使用 HuggingFace 模型后端

--model_args pretrained=gpt2:模型名称,可以换成本地路径

--tasks hellaswag:评测任务名字

--device cpu:若有 GPU,可以设成 cuda:0

--batch_size 4:每批多少样本

--output results.json:输出评测结果 JSON 文件

评测结束后(大概5-10分钟)你将看到类似:

这表示 GPT‑2 在 HellaSwag 上的准确率大约是 28.91%

  • acc,none → 准确率 28.92%
  • acc_stderr,none → 标准误 0.45%(就是 ± 后面的数)
  • acc_norm,none → 标准化准确率 31.14%
  • acc_norm_stderr,none → 标准误 0.46%

也可以在过程文件 eval_output.log 和日志打印中看到。

也可以评测多个任务. 示例:

复制代码
lm_eval --model hf \
  --model_args pretrained=gpt2 \
  --tasks hellaswag,mmlu \
  --device cpu \
  --batch_size 4 \
  --output full_results.json
相关推荐
SelectDB12 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
荣码20 小时前
GraphRAG:普通RAG只能回答"点"的问题,我踩了4个坑才搞懂
java·python
金銀銅鐵1 天前
[Python] 基于欧几里得算法,实现分数约分计算器
python·数学
Lyn_Li1 天前
Kaggle Top 5 | 198只股票、200条数据的金融预测——BattleFin高分方案从零复现
python·kaggle·比赛复盘·金融预测
小九九的爸爸2 天前
前端想要入门Agent开发,要具备哪些Python基础?
python·agent·ai编程
阿耶同学2 天前
手把手教你用 LangGraph 搭建三层嵌套 Agent 架构
python·程序员
花酒锄作田2 天前
Pydantic校验配置文件
python
hboot2 天前
AI工程师第四课 - 深度学习入门
pytorch·python·神经网络
ZhengEnCi3 天前
P2M-Matplotlib折线图完全指南-从数据可视化到趋势分析的Python绘图利器
python·matlab·数据可视化
ZhengEnCi3 天前
P2L-Matplotlib饼图完全指南-从数据可视化到图表定制的Python绘图利器
python·matlab