Website | CompassHub | CompassRank | Dokumentation | Installation | Probleme melden
Englisch | 简体中文
Begleiten Sie uns auf Discord und WeChat
Wichtig
Star Us , Sie erhalten alle Veröffentlichungsbenachrichtigungen von GitHub ohne Verzögerung ~ ️
zu OpenCompass !
So wie ein Kompass uns auf unserer Reise leitet, führt Sie OpenCompass durch die komplexe Landschaft der Bewertung großer Sprachmodelle. Mit seinen leistungsstarken Algorithmen und der intuitiven Benutzeroberfläche erleichtert OpenCompass die Beurteilung der Qualität und Wirksamkeit Ihrer NLP-Modelle.
Entdecken Sie die Möglichkeiten bei OpenCompass! Wir stellen derzeit Vollzeitforscher/Ingenieure und Praktikanten ein . Wenn Sie sich für LLM und OpenCompass begeistern, zögern Sie nicht, uns per E-Mail zu kontaktieren. Wir würden uns freuen, von Ihnen zu hören!
Wir freuen uns, Ihnen mitteilen zu können, dass OpenCompass von der Meta AI empfohlen wurde . Klicken Sie für weitere Informationen auf Get Started of Llama.
Aufmerksamkeit
Wichtige Änderungsmitteilung: In Version 0.4.0 konsolidieren wir alle AMOTIC-Konfigurationsdateien (die sich zuvor in ./configs/datasets, ./configs/models und ./configs/summarizers befanden) im opencompass-Paket. Benutzern wird empfohlen, ihre Konfigurationsreferenzen zu aktualisieren, um diese strukturelle Änderung widerzuspiegeln.
[14.10.2024] Wir unterstützen jetzt den mehrsprachigen OpenAI-QA-Datensatz MMMLU. Probieren Sie es einfach mal aus!
[19.09.2024] Wir unterstützen jetzt Qwen2.5 (0,5B bis 72B) mit mehreren Backends (huggingface/vllm/lmdeploy). Probieren Sie es einfach mal aus!
[17.09.2024] Wir unterstützen jetzt OpenAI o1 ( o1-mini-2024-09-12
und o1-preview-2024-09-12
). Probieren Sie es einfach mal aus!
[05.09.2024] Wir unterstützen jetzt die Antwortextraktion durch Modellnachbearbeitung, um eine genauere Darstellung der Funktionen des Modells zu ermöglichen. Im Rahmen dieses Updates haben wir XFinder als unser erstes Nachbearbeitungsmodell integriert. Weitere Informationen finden Sie in der Dokumentation. Probieren Sie es einfach aus!
[20.08.2024] OpenCompass unterstützt jetzt SciCode: A Research Coding Benchmark Curated by Scientists.
[16.08.2024] OpenCompass unterstützt jetzt den brandneuen Benchmark zur Bewertung von Langkontext-Sprachmodellen – RULER. RULER bietet eine Auswertung von Langkontexten, einschließlich Abruf, Multi-Hop-Ablaufverfolgung, Aggregation und Fragebeantwortung durch flexible Konfigurationen. Schauen Sie sich jetzt die RULER-Evaluierungskonfiguration an!
[2024.08.09] Wir haben die Beispieldaten und Konfiguration für CompassBench-202408 veröffentlicht. Willkommen bei CompassBench für weitere Details.
[01.08.2024] Wir haben die Gemma2-Modelle unterstützt. Willkommen zum Ausprobieren!
[23.07.2024] Wir haben die ModelScope-Datensätze unterstützt. Sie können sie bei Bedarf laden, ohne alle Daten auf Ihre lokale Festplatte herunterladen zu müssen. Willkommen zum Ausprobieren!
[17.07.2024] Wir freuen uns, die Veröffentlichung des technischen Berichts von NeedleBench bekannt zu geben. Wir laden Sie ein, unsere Supportdokumentation für detaillierte Bewertungsrichtlinien zu besuchen.
[2024.07.04] OpenCompass unterstützt jetzt InternLM2.5, das über hervorragende Argumentationsfähigkeiten , ein 1M-Kontextfenster und eine stärkere Werkzeugnutzung verfügt. Sie können die Modelle in OpenCompass Config und InternLM ausprobieren.
[20.06.2024] OpenCompass unterstützt jetzt das Umschalten zwischen Inferenzbeschleunigungs-Backends mit einem Klick und erhöht so die Effizienz des Bewertungsprozesses. Zusätzlich zum standardmäßigen HuggingFace-Inferenz-Backend unterstützt es jetzt auch die beliebten Backends LMDeploy und vLLM. Diese Funktion ist über einen einfachen Befehlszeilenschalter und über Bereitstellungs-APIs verfügbar. Einzelheiten zur Verwendung finden Sie in der Dokumentation.
Mehr
Wir stellen der Community eine OpenCompass-Bestenliste zur Verfügung, um alle öffentlichen Modelle und API-Modelle zu bewerten. Wenn Sie an der Evaluierung teilnehmen möchten, geben Sie bitte die Modell-Repository-URL oder eine Standard-API-Schnittstelle an die E-Mail-Adresse [email protected]
an.
Zurück nach oben
Nachfolgend finden Sie die Schritte zur schnellen Installation und Vorbereitung von Datensätzen.
Wir empfehlen dringend, Conda zur Verwaltung Ihrer Python-Umgebung zu verwenden.
conda create --name opencompass python=3.10 -y Conda aktiviert OpenCompass
pip install -U opencompass ## Vollständige Installation (mit Unterstützung für mehr Datensätze) # pip install „opencompass[full]“ ## Umgebung mit Modellbeschleunigungs-Frameworks ## Verschiedene Beschleunigungs-Frameworks mithilfe virtueller Umgebungen verwalten ##, da diese normalerweise Abhängigkeitskonflikte mit haben gegenseitig. # pip install „opencompass[lmdeploy]“ # pip install „opencompass[vllm]“ ## API-Evaluierung (z. B. Openai, Qwen) # pip install „opencompass[api]“
Wenn Sie die neuesten Funktionen von opencompass nutzen oder neue Funktionen entwickeln möchten, können Sie es auch aus dem Quellcode erstellen
Git-Klon https://github.com/open-compass/opencompass opencompass cd opencompass pip install -e . # pip install -e ".[full]" # pip install -e ".[vllm]"
Sie können eine der folgenden Methoden zur Vorbereitung von Datensätzen auswählen.
Sie können die Datensätze mit den folgenden Befehlen herunterladen und extrahieren:
# Laden Sie den Datensatz in data/folderwget https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-core-20240207.zip herunter Entpacken Sie OpenCompassData-core-20240207.zip
Wir unterstützen das automatische Herunterladen von Datensätzen vom OpenCompass-Speicherserver. Sie können die Auswertung mit extra --dry-run
ausführen, um diese Datensätze herunterzuladen. Derzeit sind die unterstützten Datensätze hier aufgeführt. Weitere Datensätze werden in Kürze hochgeladen.
Sie können ModelScope auch verwenden, um die Datensätze bei Bedarf zu laden.
Installation:
pip install modelscope[framework]export DATASET_SOURCE=ModelScope
Senden Sie dann die Bewertungsaufgabe ab, ohne alle Daten auf Ihre lokale Festplatte herunterzuladen. Zu den verfügbaren Datensätzen gehören:
humaneval, triviaqa, commonsenseqa, tydiqa, strategyqa, cmmlu, lambada, piqa, ceval, math, LCSTS, Summen, GAOKAO-BENCH, OCNLI, cmnli
Für einige Funktionen von Drittanbietern wie Humaneval und Llama sind möglicherweise zusätzliche Schritte erforderlich, um ordnungsgemäß zu funktionieren. Detaillierte Schritte finden Sie im Installationshandbuch.
Zurück nach oben
Nachdem Sie sichergestellt haben, dass OpenCompass gemäß den oben genannten Schritten korrekt installiert ist und die Datensätze vorbereitet sind. Jetzt können Sie Ihre erste Auswertung mit OpenCompass starten!
Ihre erste Auswertung mit OpenCompass!
OpenCompass unterstützt das Festlegen Ihrer Konfigurationen über CLI oder ein Python-Skript. Für einfache Auswertungseinstellungen empfehlen wir die Verwendung von CLI, für komplexere Auswertungen empfiehlt sich die Verwendung der Skript-Methode. Weitere Beispielskripte finden Sie im Ordner „configs“.
# CLIopencompass --models hf_internlm2_5_1_8b_chat --datasets demo_gsm8k_chat_gen# Python scriptsopencompass ./configs/eval_chat_demo.py
Weitere Skriptbeispiele finden Sie im Ordner „configs“.
API-Bewertung
Aufgrund seines Designs unterscheidet OpenCompass nicht wirklich zwischen Open-Source-Modellen und API-Modellen. Sie können beide Modelltypen auf die gleiche Weise oder sogar in einer Einstellung bewerten.
export OPENAI_API_KEY="YOUR_OPEN_API_KEY"# CLIopencompass --models gpt_4o_2024_05_13 --datasets demo_gsm8k_chat_gen# Python-Skripteopencompass ./configs/eval_api_demo.py# Sie können verwenden o1_mini_2024_09_12/o1_preview_2024_09_12 für o1-Modelle legen wir max_completion_tokens=8192 als Standard fest.
Beschleunigte Auswertung
Wenn Sie außerdem ein anderes Inferenz-Backend als HuggingFace für die beschleunigte Auswertung verwenden möchten, z. B. LMDeploy oder vLLM, können Sie dies mit dem folgenden Befehl tun. Bitte stellen Sie sicher, dass Sie die notwendigen Pakete für das gewählte Backend installiert haben und dass Ihr Modell beschleunigte Inferenz damit unterstützt. Weitere Informationen finden Sie hier in der Dokumentation zu Inferenzbeschleunigungs-Backends. Unten finden Sie ein Beispiel für die Verwendung von LMDeploy:
# CLIopencompass --models hf_internlm2_5_1_8b_chat --datasets demo_gsm8k_chat_gen -a lmdeploy# Python scriptsopencompass ./configs/eval_lmdeploy_demo.py
Unterstützte Modelle
OpenCompass verfügt über vordefinierte Konfigurationen für viele Modelle und Datensätze. Mithilfe der Tools können Sie alle verfügbaren Modell- und Datensatzkonfigurationen auflisten.
# Alle Konfigurationen auflistenpython tools/list_configs.py# Alle Konfigurationen im Zusammenhang mit Lama und mmlu auflistenpython tools/list_configs.py llama mmlu
Wenn das Modell nicht in der Liste enthalten ist, aber von der Huggingface AutoModel-Klasse unterstützt wird, können Sie es auch mit OpenCompass auswerten. Sie können gerne zur Pflege der von OpenCompass unterstützten Modell- und Datensatzlisten beitragen.
opencompass --datasets demo_gsm8k_chat_gen --hf-type chat --hf-path internlm/internlm2_5-1_8b-chat
Wenn Sie mehrere GPUs verwenden möchten, um das Modell datenparallel auszuwerten, können Sie --max-num-worker
verwenden.
CUDA_VISIBLE_DEVICES=0,1 opencompass --datasets demo_gsm8k_chat_gen --hf-type chat --hf-path internlm/internlm2_5-1_8b-chat --max-num-worker 2
Tipp
--hf-num-gpus
wird für die Modellparallelität (Huggingface-Format) verwendet, --max-num-worker
wird für die Datenparallelität verwendet.
Tipp
Die Konfiguration mit _ppl
ist normalerweise für das Basismodell konzipiert. Die Konfiguration mit _gen
kann sowohl für das Basismodell als auch für das Chat-Modell verwendet werden.
Über die Befehlszeile oder Konfigurationsdateien unterstützt OpenCompass auch die Evaluierung von APIs oder benutzerdefinierten Modellen sowie vielfältigere Evaluierungsstrategien. Bitte lesen Sie den Quick Start, um zu erfahren, wie Sie eine Evaluierungsaufgabe ausführen.
Zurück nach oben
Wir freuen uns, Ihnen OpenCompass 2.0 vorzustellen, eine erweiterte Suite mit drei Schlüsselkomponenten: CompassKit, CompassHub und CompassRank.
CompassRank wurde in den Bestenlisten erheblich erweitert und umfasst nun sowohl Open-Source-Benchmarks als auch proprietäre Benchmarks. Dieses Upgrade ermöglicht eine umfassendere Bewertung von Modellen in der gesamten Branche.
CompassHub präsentiert eine bahnbrechende Benchmark-Browseroberfläche, die die Erkundung und Nutzung einer umfangreichen Palette von Benchmarks für Forscher und Praktiker gleichermaßen vereinfachen und beschleunigen soll. Um die Sichtbarkeit Ihres eigenen Benchmarks innerhalb der Community zu erhöhen, laden wir Sie herzlich ein, ihn zu CompassHub beizutragen. Sie können den Einreichungsprozess starten, indem Sie hier klicken.
CompassKit ist eine leistungsstarke Sammlung von Evaluierungs-Toolkits, die speziell auf Large Language Models und Large Vision-Language Models zugeschnitten sind. Es bietet einen umfangreichen Satz an Werkzeugen, um die Leistung dieser komplexen Modelle effektiv zu bewerten und zu messen. Probieren Sie unsere Toolkits gerne für Ihre Forschung und Produkte aus.
OpenCompass ist eine Komplettplattform für die Bewertung großer Modelle mit dem Ziel, einen fairen, offenen und reproduzierbaren Benchmark für die Bewertung großer Modelle bereitzustellen. Zu seinen Hauptmerkmalen gehören:
Umfassende Unterstützung für Modelle und Datensätze : Vorabunterstützung für über 20 HuggingFace- und API-Modelle, ein Modellbewertungsschema für über 70 Datensätze mit etwa 400.000 Fragen, das die Fähigkeiten der Modelle in fünf Dimensionen umfassend bewertet.
Effiziente verteilte Auswertung : Ein Zeilenbefehl zur Implementierung der Aufgabenteilung und verteilten Auswertung, wodurch die vollständige Auswertung von Modellen im Milliardenmaßstab in nur wenigen Stunden abgeschlossen wird.
Diversifizierte Bewertungsparadigmen : Unterstützung für Null-Schuss-, Wenig-Schuss- und Gedankenketten-Bewertungen, kombiniert mit Standard- oder Dialog-Eingabeaufforderungsvorlagen, um auf einfache Weise die maximale Leistung verschiedener Modelle zu stimulieren.
Modulares Design mit hoher Erweiterbarkeit : Möchten Sie neue Modelle oder Datensätze hinzufügen, eine erweiterte Strategie zur Aufgabenteilung anpassen oder sogar ein neues Cluster-Management-System unterstützen? Alles rund um OpenCompass lässt sich ganz einfach erweitern!
Experimentverwaltungs- und Berichtsmechanismus : Verwenden Sie Konfigurationsdateien, um jedes Experiment vollständig aufzuzeichnen und die Echtzeitberichterstattung der Ergebnisse zu unterstützen.
Sprache | Wissen | Argumentation | Prüfung |
Wortdefinition
Idiom-Lernen
Semantische Ähnlichkeit
Koreferenzauflösung
Übersetzung
Beantwortung von Fragen in mehreren Sprachen
Mehrsprachige Zusammenfassung
| Beantwortung von Wissensfragen
| Textuelle Folgerung
Gesundes Denken
Mathematische Argumentation
Theoremanwendung
Umfassende Argumentation
| Mittelstufe, Oberschule, Universität, Berufsprüfungen
Ärztliche Untersuchungen
|
Verständnis | Langer Kontext | Sicherheit | Code |
Leseverständnis
Inhaltszusammenfassung
Inhaltsanalyse
| Langes Kontextverständnis
| Sicherheit
Robustheit
| Code
|
Open-Source-Modelle | API-Modelle |
|
|
Zurück nach oben
Subjektive Bewertung
Geben Sie CompassAreana frei.
Subjektive Bewertung.
Langer Kontext
Langkontextauswertung mit umfangreichen Datensätzen.
Rangliste mit langem Kontext.
Codierung
Bestenliste zur Codierungsbewertung.
Evaluierungsdienst für Nicht-Python-Sprachen.
Agent
Unterstützen Sie verschiedene Agent-Frameworks.
Bewertung der Werkzeugnutzung der LLMs.
Robustheit
Unterstützen Sie verschiedene Angriffsmethoden.
Wir freuen uns über alle Beiträge zur Verbesserung von OpenCompass. Die beste Vorgehensweise finden Sie in der beitragenden Richtlinie.
Einige Codes in diesem Projekt werden von OpenICL zitiert und geändert.
Einige Datensätze und Eingabeaufforderungsimplementierungen wurden von Chain-of-Thought-Hub und Instruct-Eval geändert.
@misc{2023opencompass, title={OpenCompass: A Universal Evaluation Platform for Foundation Models}, author={OpenCompass Contributors}, howpublished = {url{https://github.com/open-compass/opencompass}}, year={ 2023}}
Zurück nach oben