instruct-eval:评估指令微调语言模型的系统化工具包
instruct-eval是一个用于评估指令微调语言模型(Instruction-tuned Language Models)的开源工具包,由新加坡管理大学的研究人员开发。该工具包旨在提供一个标准化的评估框架,帮助研究人员更好地比较不同指令微调模型的性能。
主要特点
- 支持多种主流的指令微调模型,如Alpaca、Flan-T5等
- 包含多个具有挑战性的评估任务,如MMLU、BBH、DROP等
- 提供简单易用的评估接口,只需几行代码即可完成评估
- 开源实现,方便研究人员进行二次开发
快速上手
要使用instruct-eval评估模型,只需几个简单步骤:
- 安装依赖:
conda create -n instruct-eval python=3.8 -y
conda activate instruct-eval
pip install -r requirements.txt
- 下载数据:
mkdir -p data
wget https://people.eecs.berkeley.edu/~hendrycks/data.tar -O data/mmlu.tar
tar -xf data/mmlu.tar -C data && mv data/data data/mmlu
- 运行评估:
python main.py mmlu --model_name llama --model_path chavinlo/alpaca-native
就这么简单,您就可以获得模型在MMLU任务上的评估结果了!
支持的模型和任务
instruct-eval支持多种主流的指令微调模型,包括:
- Alpaca
- Flan-T5
- Vicuna
- ChatGLM
- 等等
评估任务涵盖多个领域:
- MMLU:涉及57个学科的考试题
- BBH:23个具有挑战性的任务
- DROP:数学问答基准测试
- HumanEval:164个Python编程问题
通过这些多样化的任务,可以全面评估模型的能力。
结果展示
instruct-eval提供了一个在线排行榜,展示了各个模型在不同任务上的表现。以下是部分结果:
模型 | MMLU | BBH | DROP | HumanEval |
---|---|---|---|---|
GPT-4 | 86.4 | 80.9 | - | 67.0 |
ChatGPT | 70.0 | 64.1 | - | 48.1 |
Flan-T5 (XXL) | 54.5 | 43.9 | - | - |
Vicuna-13B | 49.7 | 37.1 | 32.9 | 15.2 |
完整结果请查看排行榜。
总结
instruct-eval为研究人员提供了一个强大而易用的工具,用于系统地评估指令微调语言模型。无论您是想比较不同模型的性能,还是评估自己训练的模型,instruct-eval都是一个不错的选择。欢迎访问GitHub仓库了解更多信息,并为这个开源项目做出贡献!