开源项目使用教程:InstructEval
1. 项目目录结构及介绍
InstructEval 项目旨在为评估指令微调的大型语言模型提供工具。以下是项目的目录结构及其功能介绍:
instruct-eval/
├── docs/ # 存放项目文档
├── human_eval/ # 人类评估相关代码
├── lm_eval/ # 语言模型评估相关代码
├── quant/ # 数量化评估相关代码
├── red-eval/ # 安全性评估相关代码
├── .gitignore # git 忽略文件
├── LICENCE # Apache-2.0 许可文件
├── LICENSE # MIT 许可文件
├── README.md # 项目说明文件
├── apply_delta.py # 应用于模型的 delta 代码
├── bbh.py # Big Bench Hard 任务评估代码
├── crass.py # CRASS 任务评估代码
├── drop.py # DROP 任务评估代码
├── hhh.py # HHH 任务评估代码
├── main.py # 主执行脚本
├── mmlu.py # Massive Multitask Language Understanding 任务评估代码
├── modeling.py # 模型相关代码
├── requirements.txt # 项目依赖文件
├── subjective.py # 主观评估相关代码
2. 项目的启动文件介绍
项目的启动文件是 main.py
,它是执行评估任务的主要入口。以下是一些使用 main.py
的示例:
-
在 MMLU 任务上评估一个名为
llama
的模型,模型路径为chavinlo/alpaca-native
:python main.py mmlu --model_name llama --model_path chavinlo/alpaca-native
-
在 BBH 任务上评估一个名为
llama
的模型,模型路径为TheBloke/koala-13B-HF
,并使用 8 位加载:python main.py bbh --model_name llama --model_path TheBloke/koala-13B-HF --load_8bit
-
在 DROP 任务上评估一个名为
seq_to_seq
的模型,模型路径为google/flan-t5-xl
:python main.py drop --model_name seq_to_seq --model_path google/flan-t5-xl
-
在 HumanEval 任务上评估一个名为
llama
的模型,模型路径为eachadea/vicuna-13b
,使用 1 个样本,并使用 8 位加载:python main.py humaneval --model_name llama --model_path eachadea/vicuna-13b --n_sample 1 --load_8bit
3. 项目的配置文件介绍
项目的配置主要通过命令行参数进行,例如在评估不同任务时可以通过 --model_name
和 --model_path
参数指定模型名称和路径。此外,还有一些其他参数可以调整,如:
--load_8bit
:使用 8 位加载模型,可以减少内存使用。--n_sample
:在 HumanEval 任务中指定生成的样本数量。
具体的配置选项可以通过查看 main.py
中的命令行参数解析部分获得更多信息。在实际运行前,确保已经根据 requirements.txt
安装了所有依赖项。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考