instruct-eval
instruct-eval 是一个专为评估指令微调大语言模型(如 Alpaca、Flan-T5 等)而设计的开源评测框架。它旨在解决当前业界难以对各类指令模型进行统一、定量比较的痛点,帮助开发者在未见过的复杂任务中准确衡量模型的泛化能力。
相较于现有的评测库,instruct-eval 的最大亮点在于其便捷性与广泛的兼容性。它支持直接调用 Hugging Face Transformers 中的多种主流架构(包括因果语言模型和序列到序列模型),让用户能够轻松地在多个学术基准(如 MMLU、BBH)上运行测试。此外,该项目不仅提供了详细的排行榜和论文支持,还不断扩展评估维度,近期更引入了针对模型安全性的"Red-Eval"基准以及考察写作能力的"IMPACT"数据集,实现了从性能到安全的全方位 holistic 评估。
这款工具非常适合 AI 研究人员、大模型开发者以及需要验证模型效果的技术团队使用。如果你正在寻找一种简单高效的方法来对比不同指令微调模型的表现,或者希望深入探索模型在特定领域的边界能力,instruct-eval 将是一个专业且实用的选择。
使用场景
某 AI 初创团队在研发垂直领域客服模型时,需要从 Alpaca、Flan-T5 等多个开源指令微调模型中筛选出泛化能力最强的基座,以应对用户千变万化的提问。
没有 instruct-eval 时
- 评估标准混乱:团队只能依赖人工抽检或单一数据集测试,难以量化模型在未见过的复杂任务上的真实表现,导致选型靠“感觉”。
- 对比成本高昂:不同模型需要编写独立的测试脚本,缺乏统一框架,复现论文结果和横向对比耗费大量工程时间。
- 盲区风险大:仅关注常规问答,忽略了模型在逻辑推理、安全防御(如越狱攻击)等关键维度的潜在缺陷,上线后易出现严重事故。
- 迭代方向模糊:由于缺乏多维度的量化反馈(如 IMPACT 写作能力评估),开发人员无法精准定位模型短板,优化工作如同“盲人摸象”。
使用 instruct-eval 后
- 全景量化评估:利用内置的 MMLU、BBH 等学术基准及 Red-Eval 安全测试,一键生成涵盖通用能力、逻辑推理及安全性的多维度评分报告。
- 高效横向比对:通过统一接口快速加载 HuggingFace 上的各类模型,自动在保留任务上运行测试,将原本数天的对比工作缩短至几小时。
- 风险提前暴露:借助 Red-Eval 中的越狱提示词库,提前发现模型在面对恶意诱导时的脆弱性,确保上线模型具备基本的安全防线。
- 精准优化指导:基于 IMPACT 数据集的细粒度反馈(信息量、专业性等),团队能清晰看到模型在特定写作风格上的不足,从而针对性调整微调策略。
instruct-eval 将模糊的模型体感转化为可信的量化数据,帮助团队以最低成本锁定最适合业务场景的高性能模型。
运行环境要求
- 未说明
- 必需(用于运行大模型),具体型号和显存取决于所选模型大小
- 示例中使用了 --load_8bit 参数,表明支持量化加载以降低显存需求
- 支持 CUDA 的 NVIDIA GPU 通常为首选
未说明(建议根据模型参数量配置,运行 7B-13B 模型通常推荐 16GB-32GB+)

快速开始
:camel: 🍮 📚 InstructEval:迈向指令微调大型语言模型的全面评估
🔥 如果你对LLM的智商测试感兴趣,可以查看我们的新工作:AlgoPuzzleVQA
📣 Red-Eval,用于评估LLM安全性的基准测试已加入:Red-Eval
📣 重磅推出Red-Eval,通过多种越狱提示来评估LLM的安全性。使用Red-Eval,可以在DangerousQA和HarmfulQA基准上以65.1%的成功率对GPT-4进行越狱/红队攻击,而ChatGPT则有73%的时间可以被成功越狱。更多详情请见:代码和论文。
📣 我们基于Flan数据集对Vicuna-13B进行了微调,开发了Flacuna模型。Flacuna在解决问题方面优于Vicuna。你可以通过以下链接访问该模型:https://huggingface.co/declare-lab/flacuna-13b-v1.0。
📣 InstructEval 基准测试及排行榜现已发布。
📣 报告指令微调LLM在InstructEval基准套件上表现的论文已在Arxiv上发表。点击此处阅读:https://arxiv.org/pdf/2306.04757.pdf。
📣 我们发布了IMPACT数据集,用于从信息性、专业性、论证性和创造性四个方面评估LLM的写作能力。你可以从Huggingface下载:https://huggingface.co/datasets/declare-lab/InstructEvalImpact。
📣 FLAN-T5 在文本转音频生成方面也非常有用。如果你感兴趣,可以查看我们的相关工作:https://github.com/declare-lab/tango。
本仓库包含用于在未见过的任务上评估指令微调模型(如Alpaca和Flan-T5)的代码。 我们的目标是促进跨多个任务和模型的简单便捷基准测试。
为什么?
像Flan-T5和Alpaca这样的指令微调模型,代表了一种令人振奋的方向,能够在较低成本下逼近大型语言模型(LLMs,如ChatGPT)的性能。 然而,要定性地比较不同模型的性能却颇具挑战性。 为了评估这些模型在广泛且具有挑战性的未见任务上的泛化能力,我们可以使用诸如MMLU和BBH之类的学术基准。 与现有的库(如evaluation-harness和HELM)相比,本仓库能够为多个模型提供简单便捷的评估方式。 值得注意的是,我们支持HuggingFace Transformers中的大多数模型(具体支持的模型列表请参阅这里):
- AutoModelForCausalLM(例如GPT-2、GPT-J、OPT-IML、BLOOMZ)
- AutoModelForSeq2SeqLM(例如Flan-T5、Flan-UL2、TK-Instruct)
- LlamaForCausalLM(例如LLaMA、Alpaca、Vicuna)
- ChatGLM
结果
有关详细结果,请访问我们的排行榜
| 模型名称 | 模型路径 | 论文 | 参数量 | MMLU | BBH | DROP | HumanEval |
|---|---|---|---|---|---|---|---|
| GPT-4 | 链接 | ? | 86.4 | 80.9 | 67.0 | ||
| ChatGPT | 链接 | ? | 70.0 | 64.1 | 48.1 | ||
| seq_to_seq | google/flan-t5-xxl | 链接 | 11B | 54.5 | 43.9 | ||
| seq_to_seq | google/flan-t5-xl | 链接 | 3B | 49.2 | 40.2 | 56.3 | |
| llama | eachadea/vicuna-13b | 链接 | 13B | 49.7 | 37.1 | 32.9 | 15.2 |
| llama | decapoda-research/llama-13b-hf | 链接 | 13B | 46.2 | 37.1 | 35.3 | 13.4 |
| seq_to_seq | declare-lab/flan-alpaca-gpt4-xl | 链接 | 3B | 45.6 | 34.8 | ||
| llama | TheBloke/koala-13B-HF | 链接 | 13B | 44.6 | 34.6 | 28.3 | 11.0 |
| llama | chavinlo/alpaca-native | 链接 | 7B | 41.6 | 33.3 | 26.3 | 10.3 |
| llama | TheBloke/wizardLM-7B-HF | 链接 | 7B | 36.4 | 32.9 | 15.2 | |
| chatglm | THUDM/chatglm-6b | 链接 | 6B | 36.1 | 31.3 | 44.2 | 3.1 |
| llama | decapoda-research/llama-7b-hf | 链接 | 7B | 35.2 | 30.9 | 27.6 | 10.3 |
| llama | wombat-7b-gpt4-delta | 链接 | 7B | 33.0 | 32.4 | 7.9 | |
| seq_to_seq | bigscience/mt0-xl | 链接 | 3B | 30.4 | |||
| causal | facebook/opt-iml-max-1.3b | 链接 | 1B | 27.5 | 1.8 | ||
| causal | OpenAssistant/oasst-sft-4-pythia-12b-epoch-3.5 | 链接 | 12B | 27.0 | 30.0 | 9.1 | |
| causal | stabilityai/stablelm-base-alpha-7b | 链接 | 7B | 26.2 | 1.8 | ||
| causal | databricks/dolly-v2-12b | 链接 | 12B | 25.7 | 7.9 | ||
| causal | Salesforce/codegen-6B-mono | 链接 | 6B | 27.4 | |||
| causal | togethercomputer/RedPajama-INCITE-Instruct-7B-v0.1 | 链接 | 7B | 38.1 | 31.3 | 24.7 | 5.5 |
示例用法
在大规模多任务语言理解(MMLU)上进行评估,该数据集包含来自数学、历史、法律和医学等57个任务的考试题目。 我们采用5-shot直接提示方法,并以完全匹配准确率作为衡量标准。
python main.py mmlu --model_name llama --model_path chavinlo/alpaca-native
# 0.4163936761145136
python main.py mmlu --model_name seq_to_seq --model_path google/flan-t5-xl
# 0.49252243270189433
在 Big Bench Hard (BBH) 上进行评估,该数据集包含 23 个具有挑战性的任务,而 PaLM (540B) 在这些任务上的表现低于平均人类评分者。我们采用 3 次示例的直接提示方法,并测量完全匹配得分。
python main.py bbh --model_name llama --model_path TheBloke/koala-13B-HF --load_8bit
# 0.3468942926723247
在 DROP 上进行评估,这是一个数学问题解答基准测试。我们同样采用 3 次示例的直接提示方法,并测量完全匹配得分。
python main.py drop --model_name seq_to_seq --model_path google/flan-t5-xl
# 0.5632458233890215
在 HumanEval 上进行评估,该数据集包含 164 道 Python 编程题目。我们采用 0 次示例的直接提示方法,并测量 pass@1 得分。
python main.py humaneval --model_name llama --model_path eachadea/vicuna-13b --n_sample 1 --load_8bit
# {'pass@1': 0.1524390243902439}
设置
安装依赖并下载数据。
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
常见问题
相似工具推荐
openclaw
OpenClaw 是一款专为个人打造的本地化 AI 助手,旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚,能够直接接入你日常使用的各类通讯渠道,包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息,OpenClaw 都能即时响应,甚至支持在 macOS、iOS 和 Android 设备上进行语音交互,并提供实时的画布渲染功能供你操控。 这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地,用户无需依赖云端服务即可享受快速、私密的智能辅助,真正实现了“你的数据,你做主”。其独特的技术亮点在于强大的网关架构,将控制平面与核心助手分离,确保跨平台通信的流畅性与扩展性。 OpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者,以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力(支持 macOS、Linux 及 Windows WSL2),即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你
stable-diffusion-webui
stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面,旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点,将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。 无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师,还是想要深入探索模型潜力的开发者与研究人员,都能从中获益。其核心亮点在于极高的功能丰富度:不仅支持文生图、图生图、局部重绘(Inpainting)和外绘(Outpainting)等基础模式,还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外,它内置了 GFPGAN 和 CodeFormer 等人脸修复工具,支持多种神经网络放大算法,并允许用户通过插件系统无限扩展能力。即使是显存有限的设备,stable-diffusion-webui 也提供了相应的优化选项,让高质量的 AI 艺术创作变得触手可及。
everything-claude-code
everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上
ComfyUI
ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎,专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式,采用直观的节点式流程图界面,让用户通过连接不同的功能模块即可构建个性化的生成管线。 这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景,也能自由组合模型、调整参数并实时预览效果,轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性,不仅支持 Windows、macOS 和 Linux 全平台,还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构,并率先支持 SDXL、Flux、SD3 等前沿模型。 无论是希望深入探索算法潜力的研究人员和开发者,还是追求极致创作自由度的设计师与资深 AI 绘画爱好者,ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能,使其成为当前最灵活、生态最丰富的开源扩散模型工具之一,帮助用户将创意高效转化为现实。
markitdown
MarkItDown 是一款由微软 AutoGen 团队打造的轻量级 Python 工具,专为将各类文件高效转换为 Markdown 格式而设计。它支持 PDF、Word、Excel、PPT、图片(含 OCR)、音频(含语音转录)、HTML 乃至 YouTube 链接等多种格式的解析,能够精准提取文档中的标题、列表、表格和链接等关键结构信息。 在人工智能应用日益普及的今天,大语言模型(LLM)虽擅长处理文本,却难以直接读取复杂的二进制办公文档。MarkItDown 恰好解决了这一痛点,它将非结构化或半结构化的文件转化为模型“原生理解”且 Token 效率极高的 Markdown 格式,成为连接本地文件与 AI 分析 pipeline 的理想桥梁。此外,它还提供了 MCP(模型上下文协议)服务器,可无缝集成到 Claude Desktop 等 LLM 应用中。 这款工具特别适合开发者、数据科学家及 AI 研究人员使用,尤其是那些需要构建文档检索增强生成(RAG)系统、进行批量文本分析或希望让 AI 助手直接“阅读”本地文件的用户。虽然生成的内容也具备一定可读性,但其核心优势在于为机器
LLMs-from-scratch
LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备