海外访问:www.kdjingpai.com
Ctrl + D 收藏本站

OpenBench是一个开源的语言模型评估工具,它不受限于特定的模型供应商。开发者可以使用它在超过20个基准测试集上对语言模型进行标准化的、可复现的性能评测,这些测试涵盖了知识、推理、编码和数学等多个领域。OpenBench的核心优势在于其简洁性和通用性。它提供了一个简单的命令行界面,用户只需几条命令就可以启动评估任务。该工具支持多种主流模型服务商,例如Groq、OpenAI、Anthropic、谷歌,同时也兼容通过Ollama运行的本地模型。由于它构建于inspect-ai框架之上,因此具备良好的扩展性,允许开发者方便地添加新的基准测试和评估指标。这使得OpenBench成为一个灵活且易于上手的模型性能评测平台。

功能列表

  • 支持超过20个基准测试:内置MMLU、GPQA、HumanEval、SimpleQA以及AIME、HMMT等多种竞赛级数学评测。
  • 简洁的命令行界面(CLI):提供bench listbench describebench eval等简单直观的命令来管理和运行评测。
  • 兼容多家模型供应商:支持超过15家模型供应商,包括Groq、OpenAI、Anthropic、Google、AWS Bedrock、Azure等。
  • 支持本地模型:可以与Ollama集成,对在本地运行的语言模型进行评估。
  • 基于标准框架构建:构建在inspect-ai评估框架之上,确保了评测的规范性和可靠性。
  • 高度可扩展:允许开发者轻松添加新的基准测试项目和自定义评估指标。
  • 交互式结果查看:提供bench view命令,可以在交互式用户界面中查看评估日志。
  • 灵活的评估配置:用户可以通过命令行参数或环境变量详细配置模型评估过程,如设置温度、最大Token数、并发请求数等。

使用帮助

OpenBench 提供了一套完整的工具,用于对大型语言模型(LLM)进行标准化的基准测试。下面将详细介绍如何安装和使用该工具来评估模型。

1. 环境准备与安装

在使用 OpenBench 之前,你需要先安装 uv,它是一个快速的 Python 包安装器和虚拟环境管理器。

步骤一:安装 uv (如果尚未安装)
uv 的安装过程非常简单,具体可以参考其官方文档。安装完成后,你就可以开始准备 OpenBench 的运行环境。

步骤二:创建并激活虚拟环境
为了保持项目依赖的隔离,建议创建一个新的虚拟环境。

# 创建一个名为 .venv 的虚拟环境
uv venv
# 激活该虚拟环境 (在Linux或macOS上)
source .venv/bin/activate

步骤三:安装 OpenBench
激活虚拟环境后,使用 uv 来安装 OpenBench。

uv pip install openbench```
这个命令会自动处理所有必需的依赖项。
### **2. 配置 API 密钥**
OpenBench 支持多家模型供应商,你需要设置相应的 API 密钥才能使用它们的模型。密钥通过环境变量进行配置。
```bash
# 示例:设置 Groq 的 API 密钥
export GROQ_API_KEY="你的密钥"
# 示例:设置 OpenAI 的 API 密钥
export OPENAI_API_KEY="你的密钥"
# 示例:设置 Anthropic 的 API 密钥
export ANTHROPIC_API_KEY="你的密钥"```
你只需要设置你计划使用的那个供应商的密钥即可。
### **3. 运行评估任务**
配置完成后,你就可以通过 `bench eval` 命令来运行一个评估任务。
**基本命令格式:**
`bench eval <基准测试名称> --model <模型名称>`
**快速上手示例:**
让我们以`mmlu`基准测试为例,使用Groq提供的`llama-3.3-70b-versatile`模型,并只评估10个样本。
```bash
bench eval mmlu --model groq/llama-3.3-70b-versatile --limit 10
  • mmlu: 这是基准测试的名称。
  • --model groq/llama-3.3-70b-versatile: 指定要评估的模型。
  • --limit 10: 表示只从数据集中选取10个样本进行测试,这在初次尝试时可以快速得到结果。

评估任务完成后,结果会默认保存在项目目录下的 ./logs/ 文件夹中。

4. 查看评估结果

你有两种方式查看结果:

方式一:直接查看日志文件
结果日志是纯文本或JSON文件,你可以直接用文本编辑器打开位于 ./logs/ 目录下的日志文件进行查看。

方式二:使用交互式界面
OpenBench 提供了一个更友好的交互式界面来展示结果。

bench view
```该命令会启动一个本地服务,让你可以在浏览器中直观地浏览和分析历次评估的结果。
### **5. 主要命令和常用选项**
OpenBench 的核心功能通过 `bench` 命令暴露。
- `bench --help`: 显示所有可用的命令和全局选项。
- `bench list`: 列出所有可用的基准测试、模型和标志。
- `bench eval <benchmark>`: 运行指定的基准测试。
- `bench view`: 启动交互式界面查看日志。
#### **`eval` 命令的关键选项**
`eval` 命令支持丰富的选项来控制评估流程,你可以通过命令行参数或环境变量来设置。
| 选项 | 环境变量 | 描述 |
| --- | --- | --- |
| `--model` | `BENCH_MODEL` | 指定要评估的一个或多个模型。 |
| `--limit` | `BENCH_LIMIT` | 限制评估样本的数量,可以是具体数字或范围(如`10,20`)。 |
| `--temperature` | `BENCH_TEMPERATURE` | 设置模型的生成温度,影响输出的随机性。 |
| `--max-connections`| `BENCH_MAX_CONNECTIONS`| 设置与模型API的最大并行连接数,默认为10。 |
| `--logfile` | `BENCH_OUTPUT` | 指定保存结果的日志文件路径。 |
| `--sandbox` | `BENCH_SANDBOX` | 指定代码执行的环境,如`local`或`docker`,用于HumanEval等编码测试。 |
| `--json` | 无 | 如果设置此项,结果将以JSON格式输出。 |
### **6. 使用不同供应商或本地模型**
你可以轻松切换不同的模型供应商。
```bash
# 使用 OpenAI 的模型
bench eval humaneval --model openai/o3-2025-04-16
# 使用 Google 的模型
bench eval mmlu --model google/gemini-2.5-pro
# 使用通过 Ollama 运行的本地模型
# 确保 Ollama 服务正在运行
bench eval musr --model ollama/llama3.1:70b

7. 处理 Hugging Face 数据集下载问题

部分基准测试需要从 Hugging Face 下载数据集。如果遇到“gated”错误,说明该数据集需要用户认证。你需要设置 Hugging Face 的访问令牌。

export HF_TOKEN="你的HuggingFace令牌"

完成以上步骤后,重新运行 bench eval 命令即可解决问题。

应用场景

  1. 模型研究与开发
    研究人员和开发者在开发新的语言模型时,可以使用OpenBench快速在多个行业标准基准上测试新模型的性能,并与现有主流模型进行量化比较,从而验证模型的改进效果。
  2. 模型选型与采购
    企业或团队在选择适合自身业务的语言模型时,可以利用OpenBench对来自不同供应商(如OpenAI, Google, Anthropic)的候选模型进行统一、公平的性能评估,以数据驱动决策。
  3. 持续集成与回归测试
    对于需要频繁微调或迭代模型的场景,可以将OpenBench集成到CI/CD流程中。每当模型更新后,自动运行一套标准化的基准测试,以确保模型性能没有出现意外衰退。
  4. 本地模型性能评估
    对于注重数据隐私或需要离线运行的场景,开发者可以使用Ollama在本地部署开源模型。OpenBench可以连接到本地Ollama服务,对这些本地模型的知识、推理和编码能力进行全面评估。

QA

  1. OpenBench 与 Inspect AI 有什么区别?
    OpenBench 是一个构建在 Inspect AI 框架之上的基准测试库。可以理解为,Inspect AI 提供了底层的评估能力和工具,而 OpenBench 在此基础上提供了20多个主流基准测试的现成实现、统一的命令行工具以及跨评测共享的实用程序(如数学评分器)。OpenBench 专注于简化运行标准化基准测试的流程和提升开发者的使用体验。
  2. 为什么要选择 OpenBench,而不是 lm-evaluation-harness 或 lighteval 等其他工具?
    这几个工具各有侧重。OpenBench 的主要优势在于其清晰、易于理解和修改的评测实现。它通过共享组件减少了不同基准测试间的代码重复,并通过简洁的命令行工具和一致的设计模式,优化了开发者的使用体验。如果你需要一个易于扩展和维护、评测代码可读性高的工具,OpenBench 是一个很好的选择。
  3. 如何在虚拟环境之外使用 bench 命令?
    如果你希望在系统中的任何路径下都能直接调用 bench 命令,而不是每次都要激活虚拟环境,可以在项目克隆到本地后,运行以下命令进行可编辑模式的安装: uv run pip install -e .
  4. 运行评测时提示 HuggingFace 需要登录,如何解决?
    这通常是因为评测所需的数据集在 HuggingFace 上是受保护的(gated)。你需要先获取一个 HuggingFace 的访问令牌(token),然后通过设置环境变量 HF_TOKEN 来解决。例如:export HF_TOKEN="hf_xxxxxxxx",之后再重新运行评测命令即可。
0已收藏
0已赞

相关推荐

找不到AI工具?在这试试!

输入关键词,即可 无障碍访问 必应 搜索,快速找到本站所有 AI 工具。

回顶部

zh_CN简体中文