lm-evaluation-harness 项目使用教程
1. 项目的目录结构及介绍
lm-evaluation-harness
项目的目录结构如下:
lm-evaluation-harness/
├── README.md
├── setup.py
├── lm_eval/
│ ├── __init__.py
│ ├── tasks/
│ │ ├── __init__.py
│ │ ├── arc_challenge.py
│ │ ├── hellaswag.py
│ │ ├── mmlu.py
│ │ └── ...
│ ├── models/
│ │ ├── __init__.py
│ │ ├── hf_model.py
│ │ ├── vllm_model.py
│ │ └── ...
│ ├── evaluator.py
│ ├── utils.py
│ └── ...
├── tests/
│ ├── __init__.py
│ ├── test_evaluator.py
│ └── ...
└── ...
目录结构介绍
README.md
: 项目说明文档。setup.py
: 项目安装脚本。lm_eval/
: 核心代码目录。tasks/
: 包含各种评估任务的实现。models/
: 包含各种模型的实现。evaluator.py
: 评估器的主要逻辑。utils.py
: 工具函数。
tests/
: 测试代码目录。
2. 项目的启动文件介绍
项目的启动文件主要是 lm_eval/evaluator.py
,该文件包含了评估器的主要逻辑。启动评估任务时,通常会调用该文件中的函数。
启动文件介绍
evaluator.py
: 包含评估任务的启动逻辑,如加载模型、执行评估任务等。
3. 项目的配置文件介绍
项目的配置文件通常在运行时通过命令行参数传递,或者在代码中直接设置。以下是一些常用的配置参数:
配置文件介绍
model
: 选择要评估的模型类型,如hf
,gguf
,vllm
,openai
等。model_args
: 模型的位置与参数,可以使用 HuggingFace 的仓库名称或本地的路径。tasks
: 决定哪些任务要评估,可以接受一个以上的任务列表。device
: 使用的 GPU,如果需要多个 GPU,可以使用accelerate launcher
或tensor_parallel_size
参数。batch_size
: 自动选择 batch 大小。output_path
: 结果存储位置。use_cache
: 缓存之前运行的结果,避免重复执行。log_samples
: 记录评估过程,包括所有的 Prompt 和答案。
通过以上配置,可以灵活地进行模型评估任务。