评估的宇宙。
关于大语言模型评估的一切。
Upstage Solar 由 Evalverse 提供支持!在 Upstage 控制台上试用!
🤗HugginFace 空间 • 📚文档 • 📄论文
🚀 最新更新
- [2024.05.10] Evalverse 的 LLM 评估报告现已在 HuggingFace 空间上提供。
👋 欢迎来到 Evalverse!
Evalverse 是一个免费开源的项目,旨在支持您的大语言模型(LLM)评估需求。我们为 LLM 评估的处理和管理提供了一个简单、标准化且用户友好的解决方案,以满足 AI 研究工程师和科学家的需求。我们还为可能缺乏 LLM 工作经验的人提供无代码评估流程。此外,您还将收到一份组织良好的报告,其中包含总结评估结果的图表。
使用 Evalverse,您可以:
- 无需在多个库之间切换,即可访问各种评估方法。
- 获得有关评估结果的深入报告,帮助您比较不同模型的各种分数。
- 通过 Slack 机器人无需编写代码即可启动评估并生成报告。
Evalverse 的架构
Evalverse 的主要特点
- 通过子模块进行统一评估:Evalverse 通过 Git 子模块扩展其评估能力,轻松整合了 lm-evaluation-harness 和 FastChat 等框架。快速添加新工具并跟上 LLM 评估的最新进展。
- 无代码评估请求:使用 Evalverse,您可以在激活了 Evalverse Slack 机器人的直接消息或 Slack 频道中发送
Request!
来请求 LLM 评估,无需编写任何代码。在 Slack 中输入 Huggingface hub 中的模型名称或本地模型目录路径,让机器人处理其余部分。 - LLM 评估报告:从 Evalverse 获取全面的无代码报告。使用简单的命令 -
Report!
- 请求,选择模型和评估标准,并接收详细的报告,其中包含从存储的分数数据库生成的分数、排名和可视化内容。
如果您想了解更多关于 Evalverse 的信息,请查看我们的文档。
点击下方图片将带您观看简短的介绍视频!
🌌 安装
🌠 选项 1:Git 克隆
在克隆之前,请确保您已注册与您的 GitHub 账户关联的适当 SSH 密钥。
1. 克隆 Evalverse 仓库
- 注意:添加
--recursive
选项以同时克隆子模块
git clone --recursive https://github.com/UpstageAI/evalverse.git
2. 安装所需的包
cd evalverse
pip install -e .
🌠 选项 2:通过 Pypi 安装 (进行中)
目前不支持通过 Pypi 安装。请使用选项 1 安装 Evalverse。
🌌 配置
您必须在 .env
文件中设置 API 密钥和/或令牌(将 .env_sample
重命名为 .env
)以使用 Evalverse 的所有功能。
- OpenAI API 密钥(
mt_bench
需要) - Slack 机器人/应用程序令牌(Slack 报告器需要)
OPENAI_API_KEY=sk-...
SLACK_BOT_TOKEN=xoxb-...
SLACK_APP_TOKEN=xapp-...
🌌 快速入门
更详细的教程在这里。
- basic_usage.ipynb:非常基础的用法,比如如何使用
Evaluator
进行评估和Reporter
生成报告。 - advanced_usage.ipynb:介绍了评估每个基准测试和所有基准测试的方法。
🌠 评估
💫 使用库进行评估
以下代码是一个简单的示例,用于在 h6_en
(Open LLM Leaderboard)基准测试上评估 SOLAR-10.7B-Instruct-v1.0 模型。
import evalverse as ev
evaluator = ev.Evaluator()
model = "upstage/SOLAR-10.7B-Instruct-v1.0"
benchmark = "h6_en"
evaluator.run(model=model, benchmark=benchmark)
💫 使用命令行界面进行评估
以下是一个产生与上述代码相同结果的命令行脚本:
cd evalverse
python3 evaluator.py \
--h6_en \
--ckpt_path upstage/SOLAR-10.7B-Instruct-v1.0
🌠 报告
目前,生成报告只能通过库来实现。我们将尽快开发命令行界面版本。
import evalverse as ev
db_path = "./db"
output_path = "./results"
reporter = ev.Reporter(db_path=db_path, output_path=output_path)
reporter.update_db(save=True)
model_list = ["SOLAR-10.7B-Instruct-v1.0", "Llama-2-7b-chat-hf"]
benchmark_list = ["h6_en"]
reporter.run(model_list=model_list, benchmark_list=benchmark_list)
模型 | 排名 | 总平均分 | H6-ARC | H6-Hellaswag | H6-MMLU | H6-TruthfulQA | H6-Winogrande | H6-GSM8k |
---|---|---|---|---|---|---|---|---|
SOLAR-10.7B-Instruct-v1.0 | 1 | 74.62 | 71.33 | 88.19 | 65.52 | 71.72 | 83.19 | 67.78 |
Llama-2-7b-chat-hf | 2 | 53.51 | 53.16 | 78.59 | 47.38 | 45.31 | 72.69 | 23.96 |
🌌 支持的评估方法
我们目前支持四种评估方法。如果您对新方法有建议,我们欢迎您的意见!
评估 | 原始仓库 |
---|---|
H6 (开放 LLM 排行榜) | EleutherAI/lm-evaluation-harness |
MT-bench | lm-sys/FastChat |
IFEval | google-research/instruction_following_eval |
EQ-Bench | EQ-bench/EQ-Bench |
🌌 Evalverse 使用案例
如果您有任何自己的使用案例,欢迎告诉我们。
我们很乐意了解它们,并可能展示您的案例。
✨ Upstage
正在使用 Evalverse 评估 Solar。
✨ Upstage
正在使用 Evalverse 评估 开放韩语 LLM 排行榜 上的模型。
🌌 贡献者
🌌 致谢
Evalverse 是由 Upstage
的数据中心 LLM 团队策划的开源项目,旨在作为 LLM 评估的生态系统。该计划于 2024 年 4 月启动,在大型语言模型 (LLM) 领域推进评估处理方面处于前沿地位。
🌌 许可证
Evalverse 是完全可自由访问的开源项目,根据 Apache License 2.0 许可。
🌌 引用
如果您想引用我们的 🌌 Evalverse 项目,请随意使用以下 bibtex。您可以通过链接查看我们的论文。
@misc{kim2024evalverse,
title={Evalverse: Unified and Accessible Library for Large Language Model Evaluation},
author={Jihoo Kim and Wonho Song and Dahyun Kim and Yunsu Kim and Yungi Kim and Chanjun Park},
year={2024},
eprint={2404.00943},
archivePrefix={arXiv},
primaryClass={cs.CL}
}