lm_eval 库简介
lm_eval
(Language Model Evaluation Harness) 是一个开源的 Python 库,专门用于评估语言模型(LMs)。这里 Harness
表示【评估框架】。
lm_eval 库介绍
核心思想:lm_eval
库的核心思想是将模型、任务、评估过程解耦。
- 模型:支持 Hugging Face
transformers
库加载的模型、通过 API 调用的模型等 - 任务:各种类型的任务,例如【常识】、【阅读理解】、【数学能力】、【代码能力】、【知识问答】等
- 评估:
lm_eval
负责将指定的模型在指定的任务上进行测试,计算出模型的得分
simple_evaluate 函数
simple_evaluate 函数:simple_evaluate
使得评估过程变得简单,其参数如下
=
model
:"hf-auto"
或"hf"
表示使用 Hugging Facetransformers
库加载,必须配合model_args="pretrained=MODEL_NAME_OR_PATH,peft=LORA_PATH"
的;vllm
表示使用vLLM
框架;openai
表示使用 OpenAI 的 APItasks
:Task 名称,具体可以去 lm-evaluation-harness/lm_eval/tasks at main · EleutherAI/lm-evaluation-harness 找num_fewshot
:整数如0
、5
、10
等,在正式提问前给模型看几个例子batch_size
:整数,批次大小device
:cuda
、cuda:0
、cpu
等,告诉程序在哪推理limit
:限制样本数
simple_evaluate 返回值:simple_evaluate
会返回一个字典,内部包含详细的评估结果