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 会返回一个字典,内部包含详细的评估结果