OpenBench ist ein quelloffenes Tool zur Evaluierung von Sprachmodellen, das nicht an einen bestimmten Modellanbieter gebunden ist. Entwickler können damit standardisierte, reproduzierbare Leistungsbewertungen von Sprachmodellen anhand von mehr als 20 Benchmark-Testsätzen durchführen, die ein breites Spektrum von Bereichen wie Wissen, logisches Denken, Codierung und Mathematik abdecken.OpenBench zeichnet sich vor allem durch seine Einfachheit und Vielseitigkeit aus. Es bietet eine einfache Befehlszeilenschnittstelle, die es den Benutzern ermöglicht, Evaluierungsaufgaben mit nur wenigen Befehlen zu starten. Das Tool unterstützt eine breite Palette von Mainstream-Modelldienstleistern wie Groq, OpenAI, Anthropic und Google und ist auch mit nativen Modellen kompatibel, die über Ollama laufen. Da das Tool aufinspect-ai
OpenBench baut auf dem Framework auf und ist daher erweiterbar, so dass Entwickler problemlos neue Benchmarks und Bewertungsmetriken hinzufügen können. Dies macht OpenBench zu einer flexiblen und einfach zu nutzenden Plattform für die Bewertung der Modellleistung.
Funktionsliste
- Unterstützt über 20 BenchmarksIntegrierte MMLU, GPQA, HumanEval, SimpleQA und eine Reihe von Mathematikprüfungen auf Wettbewerbsebene wie AIME und HMMT.
- Einfache Befehlszeilenschnittstelle (CLI): Vorausgesetzt
bench list
undbench describe
undbench eval
und andere einfache und intuitive Befehle zur Verwaltung und Durchführung von Überprüfungen. - Kompatibel mit mehreren ModellanbieternUnterstützung von über 15 Modellanbietern, darunter Groq, OpenAI, Anthropic, Google, AWS Bedrock, Azure und andere.
- Unterstützung für lokale ModelleOllama: Kann mit Ollama integriert werden, um lokal laufende Sprachmodelle zu evaluieren.
- Aufbauend auf einem Standardrahmen: Aufgebaut auf
inspect-ai
Der Bewertungsrahmen steht über dem Bewertungsrahmen, der die Normalität und Zuverlässigkeit der Bewertung gewährleistet. - Hochgradig skalierbarErmöglicht Entwicklern das einfache Hinzufügen neuer Benchmarking-Projekte und benutzerdefinierter Bewertungsmetriken.
- Interaktive Ergebnisansicht: Vorausgesetzt
bench view
können Sie das Auswertungsprotokoll in der interaktiven Benutzeroberfläche einsehen. - Flexible Konfiguration der AuswertungBenutzer können den Modellauswertungsprozess im Detail durch Befehlszeilenparameter oder Umgebungsvariablen konfigurieren, wie z. B. die Einstellung der Temperatur, der maximalen Anzahl von Token, der Anzahl gleichzeitiger Anfragen und so weiter.
Hilfe verwenden
OpenBench bietet einen kompletten Satz von Werkzeugen für das standardisierte Benchmarking von großen Sprachmodellen (LLMs). Im folgenden Abschnitt wird detailliert beschrieben, wie das Tool installiert und zur Bewertung der Modelle verwendet wird.
1. ökologische Vorbereitung und Installation
Bevor Sie OpenBench verwenden können, müssen Sie das uv
Es ist ein schnelles Python-Paket-Installationsprogramm und ein Manager für virtuelle Umgebungen.
Schritt 1: Installieren Sie uv (falls nicht bereits installiert)
uv
Der Installationsprozess ist sehr einfach, und Sie können sich auf die offizielle Dokumentation beziehen. Sobald die Installation abgeschlossen ist, können Sie mit der Vorbereitung Ihrer OpenBench-Umgebung beginnen.
Schritt 2: Erstellen und Aktivieren der virtuellen Umgebung
Um die Projektabhängigkeiten zu isolieren, empfiehlt es sich, eine neue virtuelle Umgebung zu erstellen.
# 创建一个名为 .venv 的虚拟环境
uv venv
# 激活该虚拟环境 (在Linux或macOS上)
source .venv/bin/activate
Schritt 3: OpenBench installieren
Nachdem Sie die virtuelle Umgebung aktiviert haben, verwenden Sie die uv
um OpenBench zu installieren.
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
: Dies ist der Name des Benchmark-Tests.--model groq/llama-3.3-70b-versatile
Modell: Geben Sie das zu bewertende Modell an.--limit 10
Zeigt an, dass nur 10 Proben aus dem Datensatz für den Test ausgewählt wurden, was schnelle Ergebnisse beim ersten Versuch ermöglicht.
Nach Abschluss der Auswertungsaufgabe werden die Ergebnisse standardmäßig im Projektverzeichnis unter dem Namen ./logs/
Ordner.
4. die Einsicht in die Ergebnisse der Bewertung
Sie haben zwei Möglichkeiten, sich die Ergebnisse anzusehen:
Möglichkeit 1: Direkte Anzeige der Protokolldatei
Die Ergebnisprotokolle sind reine Text- oder JSON-Dateien, die Sie direkt mit einem Texteditor öffnen können, der sich im Verzeichnis ./logs/
um die Protokolldateien anzuzeigen.
Ansatz 2: Verwendung von interaktiven Schnittstellen
OpenBench bietet eine benutzerfreundlichere und interaktive Schnittstelle für die Darstellung der Ergebnisse.
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. die Handhabung des Datensatzes "Umarmendes Gesicht" zum Herunterladen
Für einige Benchmarks muss ein Datensatz von Hugging Face heruntergeladen werden. Wenn Sie einen "gated"-Fehler erhalten, erfordert der Datensatz eine Benutzerauthentifizierung. Sie müssen das Hugging Face-Zugangs-Token festlegen.
export HF_TOKEN="你的HuggingFace令牌"
Nachdem Sie die oben genannten Schritte durchgeführt haben, führen Sie erneut die bench eval
wird das Problem gelöst.
Anwendungsszenario
- Forschung und Entwicklung im Bereich Modellierung
Forscher und Entwickler, die neue Sprachmodelle entwickeln, können OpenBench nutzen, um die Leistung neuer Modelle auf mehreren Industriestandard-Benchmarks schnell zu testen und sie quantitativ mit bestehenden Mainstream-Modellen zu vergleichen, um Modellverbesserungen zu validieren. - Modellauswahl und Beschaffung
Unternehmen oder Teams, die das richtige Sprachmodell für ihr Unternehmen auswählen, können OpenBench nutzen, um datengestützte Entscheidungen mit einer einheitlichen und fairen Leistungsbewertung der Kandidatenmodelle verschiedener Anbieter (z. B. OpenAI, Google, Anthropic) zu treffen. - Kontinuierliche Integration und Regressionstests
Für Szenarien, die eine häufige Feinabstimmung oder Iteration von Modellen erfordern, kann OpenBench in den CI/CD-Prozess integriert werden. Bei jeder Aktualisierung eines Modells wird automatisch ein standardisierter Satz von Benchmarks ausgeführt, um sicherzustellen, dass keine unerwartete Verschlechterung der Modellleistung eintritt. - Bewertung der Leistung des lokalen Modells
Für Szenarien, die sich auf den Datenschutz konzentrieren oder offline ausgeführt werden müssen, können Entwickler Ollama verwenden, um Open-Source-Modelle lokal einzusetzen.
QA
- Was ist der Unterschied zwischen OpenBench und Inspect AI?
OpenBench ist eine Benchmarking-Bibliothek, die auf dem Inspect AI Framework aufbaut. Inspect AI stellt die zugrundeliegenden Evaluierungsfunktionen und -werkzeuge zur Verfügung. Darüber hinaus bietet OpenBench Standardimplementierungen von mehr als 20 Mainstream-Benchmarks, einheitliche Kommandozeilen-Tools und Dienstprogramme (z. B. mathematische Scorer), die für alle Überprüfungen gemeinsam genutzt werden.OpenBench konzentriert sich darauf, den Prozess der Ausführung standardisierter Benchmarks zu rationalisieren und die Erfahrung der Entwickler zu verbessern. - Warum sollten Sie OpenBench anderen Tools wie lm-evaluation-harness oder lighteval vorziehen?
Während jedes dieser Tools seinen eigenen Schwerpunkt hat, liegt die Hauptstärke von OpenBench in seiner klaren, leicht verständlichen und modifizierbaren Implementierung der Benchmarks. Durch gemeinsam genutzte Komponenten wird die Codeduplizierung bei den Benchmarks reduziert und die Erfahrung der Entwickler durch saubere Befehlszeilentools und konsistente Entwurfsmuster optimiert. Wenn Sie ein einfach zu erweiterndes und zu pflegendes Tool mit gut lesbarem Evaluierungscode benötigen, ist OpenBench eine gute Wahl. - Verwendung außerhalb einer virtuellen Umgebung
bench
Befehle?
Wenn Sie von einem beliebigen Pfad im System aus direkt aufrufen können möchtenbench
können Sie, anstatt die virtuelle Umgebung jedes Mal zu aktivieren, den folgenden Befehl für die Installation im Bearbeitungsmodus ausführen, nachdem das Projekt lokal geklont wurde:uv run pip install -e .
. - Wenn ich eine Überprüfung durchführe, verlangt HuggingFace eine Anmeldung. Wie kann ich das beheben?
Dies liegt in der Regel daran, dass der für die Überprüfung benötigte Datensatz auf HuggingFace geschützt ist (gated). Sie müssen ein HuggingFace-Zugangs-Token erhalten und dann die UmgebungsvariableHF_TOKEN
zu adressieren. Beispiel:export HF_TOKEN="hf_xxxxxxxx"
und führen Sie danach einfach den Überprüfungsbefehl erneut aus.