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
相关推荐
梦幻精灵_cq2 小时前
我的color()设计理念——终端颜色渲染状态机设定
python
南 阳2 小时前
Python从入门到精通day62
开发语言·python
絆人心2 小时前
Python 数据分析核心库:Pandas 与 NumPy 从入门到实战全指南(附电商用户分析完整代码)
python·数据挖掘·数据分析·numpy·pandas·数据处理·电商数据分析
Dxy12393102162 小时前
Python如何对XML进行格式化
xml·python
兰.lan2 小时前
【黑马ai测试】黑马头条登录功能测试-发布功能测试-其他功能模块设计
软件测试·人工智能·笔记·python·功能测试·ai·单元测试
想吃砸到牛顿的苹果的籽2 小时前
rk3588部署yolov5需要用rknn_toolkit2,安装环境。
python·深度学习·yolo部署rk3588
我姓徐2 小时前
TensorFlow 模型训练和简单部署示例
python·tensorflow
好运的阿财2 小时前
OpenClaw四种角色详解
人工智能·python·程序人生·microsoft·开源·ai编程
买大橘子也用券2 小时前
2026红明谷
python·web安全