项目简介:InstructEval
InstructEval 是一个用于全面评估经过指令微调的大型语言模型的项目。该项目不仅提供了相关评估的论文、模型和排行榜,还包含评估指令微调模型的代码,如 Alpaca 和 Flan-T5。这一框架旨在简化各种任务和模型之间的基准测试过程。
项目背景
近年来,指令微调模型如 Flan-T5 和 Alpaca 吸引了研究人员的注意,因为它们可以在成本较低的情况下近似实现大型语言模型(如 ChatGPT)的性能。然而,评估不同模型在多种未知且具有挑战性的任务上的表现仍然是一个难题。InstructEval 通过提供简单便捷的评价机制来解决这一问题,并支持 HuggingFace Transformers 库中的大多数模型。
支持的模型
AutoModelForCausalLM
(例如 GPT-2、GPT-J、OPT-IML、BLOOMZ)AutoModelForSeq2SeqLM
(例如 Flan-T5、Flan-UL2、TK-Instruct)LlamaForCausalLM
(例如 LLaMA、Alpaca、Vicuna)ChatGLM
项目亮点
- IQ 测试 LLMs 的新项目:AlgoPuzzleVQA,用于测试语言模型的智力。
- 安全再校准:Resta,为语言模型的安全再校准提供了指导。
- 安全评估基准:Red-Eval,用于通过多个绕过提示来评估模型的安全性。
- 模型改进:Flacuna,通过对 Vicuna-13B 在 Flan 集合上的微调,提升了问题解决能力。
- IMPACT 数据集:用于评估写作能力的四个方面:信息性、专业性、论证性和创造性。
评估结果
InstructEval 提供了详细的模型比较结果,包括模型名称、路径、相关论文、模型大小及其在不同基准测试(如 MMLU、BBH、DROP 和 HumanEval)中的表现。排行榜详细列出了各模型在这些测试中的准确率等评估指标。
使用示例
InstructEval 的使用示例展示了如何利用现有的指令微调模型在不同的基准测试(如 MMLU、BBH、DROP 和 HumanEval)上进行评估。例如,为数学、历史、法律、医学等 57 项任务中的题目提供 5-shot 的直接提示,并测量其精准匹配得分。这些例子为用户提供了实际操作指导,便于进行有效评估。
项目设置
InstructEval 支持用户通过简单的步骤开始使用,包括创建虚拟环境、安装依赖以及下载评估所需的数据。这些步骤确保用户能够顺利配置环境并运行评估任务。
总的来说,InstructEval 通过其全面的评估框架和丰富的模型支持,为研究人员和开发者提供了极大的便利,帮助他们深入了解语言模型在各种场景下的表现。