Site Web | BoussoleHub | CompassRank | Documents | Installation | Problèmes de signalement
Anglais | 简体中文
rejoignez-nous sur Discord et WeChat
Important
Star Us , vous recevrez toutes les notifications de publication de GitHub sans délai ~ ️
à OpenCompass !
Tout comme une boussole nous guide dans notre voyage, OpenCompass vous guidera à travers le paysage complexe de l'évaluation de grands modèles de langage. Avec ses algorithmes puissants et son interface intuitive, OpenCompass facilite l'évaluation de la qualité et de l'efficacité de vos modèles PNL.
Explorez les opportunités chez OpenCompass ! Nous recrutons actuellement des chercheurs/ingénieurs et des stagiaires à temps plein . Si vous êtes passionné par LLM et OpenCompass, n'hésitez pas à nous contacter par e-mail. Nous aimerions avoir de vos nouvelles !
Nous sommes ravis d'annoncer que l'OpenCompass a été recommandé par Meta AI , cliquez sur Get Started of Llama pour plus d'informations.
Attention
Avis de modification majeure : dans la version 0.4.0, nous consolidons tous les fichiers de configuration AMOTIC (précédemment situés dans ./configs/datasets, ./configs/models et ./configs/summarizers) dans le package opencompass. Il est conseillé aux utilisateurs de mettre à jour leurs références de configuration pour refléter ce changement structurel.
[2024.10.14] Nous prenons désormais en charge l'ensemble de données d'assurance qualité multilingue OpenAI MMMLU. N'hésitez pas à essayer !
[2024.09.19] Nous prenons désormais en charge Qwen2.5 (0,5B à 72B) avec plusieurs backends (huggingface/vllm/lmdeploy). N'hésitez pas à les essayer !
[2024.09.17] Nous prenons désormais en charge OpenAI o1 ( o1-mini-2024-09-12
et o1-preview-2024-09-12
). N'hésitez pas à les essayer !
[2024.09.05] Nous prenons désormais en charge l'extraction de réponses via le post-traitement du modèle pour fournir une représentation plus précise des capacités du modèle. Dans le cadre de cette mise à jour, nous avons intégré XFinder comme premier modèle de post-traitement. Pour des informations plus détaillées, veuillez vous référer à la documentation et essayez-la !
[2024.08.20] OpenCompass prend désormais en charge SciCode : une référence de codage de recherche organisée par des scientifiques.
[2024.08.16] OpenCompass prend désormais en charge le tout nouveau benchmark d'évaluation de modèles de langage à contexte long — RULER. RULER fournit une évaluation du contexte long, y compris la récupération, le traçage multi-sauts, l'agrégation et la réponse aux questions via des configurations flexibles. Découvrez la configuration d'évaluation de RULER maintenant !
[2024.08.09] Nous avons publié les exemples de données et de configuration pour CompassBench-202408, bienvenue sur CompassBench pour plus de détails.
[2024.08.01] Nous avons pris en charge les modèles Gemma2. Bienvenue à essayer !
[2024.07.23] Nous avons pris en charge les ensembles de données ModelScope, vous pouvez les charger à la demande sans télécharger toutes les données sur votre disque local. Bienvenue à essayer !
[2024.07.17] Nous sommes ravis d'annoncer la publication du rapport technique de NeedleBench. Nous vous invitons à consulter notre documentation d'assistance pour connaître les directives d'évaluation détaillées.
[2024.07.04] OpenCompass prend désormais en charge InternLM2.5, qui a une capacité de raisonnement exceptionnelle , une fenêtre contextuelle 1M et une utilisation plus forte des outils , vous pouvez essayer les modèles dans OpenCompass Config et InternLM ..
[2024.06.20] OpenCompass prend désormais en charge la commutation en un clic entre les backends d'accélération d'inférence, améliorant ainsi l'efficacité du processus d'évaluation. En plus du backend d'inférence HuggingFace par défaut, il prend désormais également en charge les backends populaires LMDeploy et vLLM. Cette fonctionnalité est disponible via un simple commutateur de ligne de commande et via des API de déploiement. Pour une utilisation détaillée, consultez la documentation.
Plus
Nous fournissons OpenCompass Leaderboard à la communauté pour classer tous les modèles publics et modèles d'API. Si vous souhaitez participer à l'évaluation, veuillez fournir l'URL du référentiel modèle ou une interface API standard à l'adresse e-mail [email protected]
.
Retour en haut
Vous trouverez ci-dessous les étapes pour une installation rapide et la préparation des ensembles de données.
Nous vous recommandons fortement d'utiliser conda pour gérer votre environnement Python.
conda create --name opencompass python=3.10 -y conda active opencompass
pip install -U opencompass ## Installation complète (avec prise en charge de plus d'ensembles de données) # pip install "opencompass[full]" ## Environnement avec des frameworks d'accélération de modèles ## Gérer différents frameworks d'accélération à l'aide d'environnements virtuels ## car ils ont généralement des conflits de dépendances avec l'un l'autre. # pip install "opencompass[lmdeploy]" # pip install "opencompass[vllm]" ## Évaluation de l'API (c'est-à-dire Openai, Qwen) # pip install "opencompass[api]"
Si vous souhaitez utiliser les dernières fonctionnalités d'opencompass ou développer de nouvelles fonctionnalités, vous pouvez également le créer à partir des sources.
git clone https://github.com/open-compass/opencompass opencompass cd opencompass pip install -e . # pip install -e ".[full]" # pip install -e ".[vllm]"
Vous pouvez en choisir une pour la méthode suivante pour préparer les ensembles de données.
Vous pouvez télécharger et extraire les ensembles de données avec les commandes suivantes :
# Téléchargez l'ensemble de données dans data/folderwget https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-core-20240207.zip décompressez OpenCompassData-core-20240207.zip
Nous avons pris en charge le téléchargement automatique des ensembles de données à partir du serveur de stockage OpenCompass. Vous pouvez exécuter l'évaluation avec --dry-run
supplémentaire pour télécharger ces ensembles de données. Actuellement, les ensembles de données pris en charge sont répertoriés ici. D'autres ensembles de données seront téléchargés récemment.
Vous pouvez également utiliser ModelScope pour charger les ensembles de données à la demande.
Installation:
pip installer modelscope[framework]export DATASET_SOURCE=ModelScope
Soumettez ensuite la tâche d'évaluation sans télécharger toutes les données sur votre disque local. Les ensembles de données disponibles incluent :
humaneval, triviaqa, commonsenseqa, tydiqa, stratégieqa, cmmlu, lambada, piqa, ceval, math, LCSTS, Xsum, winogrande, openbookqa, AGIEval, gsm8k, nq, race, siqa, mbpp, mmlu, hellaswag, ARC, BBH, xstory_cloze, sommets, GAOKAO-BENCH, OCNLI, cmnli
Certaines fonctionnalités tierces, comme Humaneval et Llama, peuvent nécessiter des étapes supplémentaires pour fonctionner correctement. Pour les étapes détaillées, veuillez vous référer au guide d'installation.
Retour en haut
Après vous être assuré qu'OpenCompass est correctement installé selon les étapes ci-dessus et que les ensembles de données sont préparés. Vous pouvez maintenant commencer votre première évaluation avec OpenCompass !
Votre première évaluation avec OpenCompass !
OpenCompass prend en charge la définition de vos configurations via CLI ou un script Python. Pour des paramètres d'évaluation simples, nous recommandons d'utiliser CLI, pour une évaluation plus complexe, il est suggéré d'utiliser la méthode script. Vous pouvez trouver plus d'exemples de scripts dans le dossier configs.
# CLIopencompass --models hf_internlm2_5_1_8b_chat --datasets demo_gsm8k_chat_gen# Scripts Pythonopencompass ./configs/eval_chat_demo.py
Vous pouvez trouver plus d'exemples de script dans le dossier configs.
Évaluation de l'API
OpenCompass, de par sa conception, ne fait pas vraiment de distinction entre les modèles open source et les modèles API. Vous pouvez évaluer les deux types de modèles de la même manière ou même dans un seul paramètre.
export OPENAI_API_KEY="YOUR_OPEN_API_KEY"# CLIopencompass --models gpt_4o_2024_05_13 --datasets demo_gsm8k_chat_gen# Python scriptsopencompass ./configs/eval_api_demo.py# Vous pouvez utiliser o1_mini_2024_09_12/o1_preview_2024_09_12 pour les modèles o1, nous définissons max_completion_tokens=8192 par défaut.
Évaluation accélérée
De plus, si vous souhaitez utiliser un backend d'inférence autre que HuggingFace pour une évaluation accélérée, tel que LMDeploy ou vLLM, vous pouvez le faire avec la commande ci-dessous. Veuillez vous assurer que vous avez installé les packages nécessaires pour le backend choisi et que votre modèle prend en charge l'inférence accélérée avec celui-ci. Pour plus d’informations, consultez la documentation sur les backends d’accélération d’inférence ici. Vous trouverez ci-dessous un exemple utilisant LMDeploy :
# CLIopencompass --models hf_internlm2_5_1_8b_chat --datasets demo_gsm8k_chat_gen -a lmdeploy# Python scriptsopencompass ./configs/eval_lmdeploy_demo.py
Modèles pris en charge
OpenCompass propose des configurations prédéfinies pour de nombreux modèles et ensembles de données. Vous pouvez répertorier toutes les configurations de modèles et d'ensembles de données disponibles à l'aide des outils.
# Lister toutes les configurationspython tools/list_configs.py# Lister toutes les configurations liées à Llama et mmlupython tools/list_configs.py lama mmlu
Si le modèle ne figure pas dans la liste mais pris en charge par la classe Huggingface AutoModel, vous pouvez également l'évaluer avec OpenCompass. Vous êtes invités à contribuer à la maintenance des listes de modèles et d'ensembles de données pris en charge par OpenCompass.
opencompass --datasets demo_gsm8k_chat_gen --hf-type chat --hf-path internlm/internlm2_5-1_8b-chat
Si vous souhaitez utiliser plusieurs GPU pour évaluer le modèle en parallèle des données, vous pouvez utiliser --max-num-worker
.
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
Conseil
--hf-num-gpus
est utilisé pour le modèle parallèle (format Huggingface), --max-num-worker
est utilisé pour le parallèle des données.
Conseil
la configuration avec _ppl
est généralement conçue pour le modèle de base. la configuration avec _gen
peut être utilisée à la fois pour le modèle de base et le modèle de discussion.
Grâce à la ligne de commande ou aux fichiers de configuration, OpenCompass prend également en charge l'évaluation d'API ou de modèles personnalisés, ainsi que des stratégies d'évaluation plus diversifiées. Veuillez lire le Démarrage rapide pour savoir comment exécuter une tâche d'évaluation.
Retour en haut
Nous sommes ravis de présenter OpenCompass 2.0, une suite avancée comprenant trois composants clés : CompassKit, CompassHub et CompassRank.
CompassRank a été considérablement amélioré dans les classements qui intègrent désormais à la fois des benchmarks open source et des benchmarks propriétaires. Cette mise à niveau permet une évaluation plus complète des modèles dans l’ensemble du secteur.
CompassHub présente une interface de navigateur de référence pionnière, conçue pour simplifier et accélérer l'exploration et l'utilisation d'une vaste gamme de références pour les chercheurs et les praticiens. Pour améliorer la visibilité de votre propre benchmark au sein de la communauté, nous vous invitons chaleureusement à le contribuer à CompassHub. Vous pouvez lancer le processus de soumission en cliquant ici.
CompassKit est une puissante collection de boîtes à outils d'évaluation spécialement conçues pour les modèles de langage à grande échelle et les modèles de langage à grande vision. Il fournit un ensemble complet d’outils pour évaluer et mesurer efficacement les performances de ces modèles complexes. Bienvenue à essayer nos boîtes à outils pour vos recherches et vos produits.
OpenCompass est une plateforme unique pour l'évaluation de grands modèles, visant à fournir une référence juste, ouverte et reproductible pour l'évaluation de grands modèles. Ses principales caractéristiques comprennent :
Prise en charge complète des modèles et des ensembles de données : pré-prise en charge de plus de 20 modèles HuggingFace et API, un schéma d'évaluation de modèles de plus de 70 ensembles de données avec environ 400 000 questions, évaluant de manière exhaustive les capacités des modèles dans cinq dimensions.
Évaluation distribuée efficace : commande en une seule ligne pour mettre en œuvre la division des tâches et l'évaluation distribuée, complétant ainsi l'évaluation complète de modèles à l'échelle d'un milliard en quelques heures seulement.
Paradigmes d'évaluation diversifiés : prise en charge des évaluations sans tir, en quelques tirs et en chaîne de pensée, combinées à des modèles d'invite standard ou de type dialogue, pour stimuler facilement les performances maximales de divers modèles.
Conception modulaire avec une grande extensibilité : vous souhaitez ajouter de nouveaux modèles ou ensembles de données, personnaliser une stratégie avancée de répartition des tâches ou même prendre en charge un nouveau système de gestion de cluster ? Tout ce qui concerne OpenCompass peut être facilement étendu !
Mécanisme de gestion et de reporting des expériences : utilisez des fichiers de configuration pour enregistrer entièrement chaque expérience et prendre en charge le reporting des résultats en temps réel.
Langue | Connaissance | Raisonnement | Examen |
Définition du mot
Apprentissage des expressions idiomatiques
Similitude sémantique
Résolution de coréférence
Traduction
Réponse aux questions multilingues
Résumé multilingue
| Réponse aux questions de connaissances
| Implication textuelle
Raisonnement de bon sens
Raisonnement mathématique
Application du théorème
Raisonnement complet
| Collège, Lycée, Université, Examens Professionnels
Examens médicaux
|
Compréhension | Contexte long | Sécurité | Code |
Compréhension écrite
Résumé du contenu
Analyse de contenu
| Compréhension du contexte long
| Sécurité
Robustesse
| Code
|
Modèles open source | Modèles d'API |
|
|
Retour en haut
Évaluation subjective
Libérez CompassAreana.
Évaluation subjective.
Contexte long
Évaluation de contexte long avec des ensembles de données étendus.
Classement à contexte long.
Codage
Classement de l'évaluation du codage.
Service d'évaluation de langage non-python.
Agent
Prend en charge divers frameworks d'agents.
Évaluation de l'utilisation des outils des LLM.
Robustesse
Prend en charge diverses méthodes d'attaque.
Nous apprécions toutes les contributions à l’amélioration d’OpenCompass. Veuillez vous référer aux lignes directrices de contribution pour connaître les meilleures pratiques.
Certains codes de ce projet sont cités et modifiés à partir d'OpenICL.
Certains ensembles de données et implémentations d'invites sont modifiés à partir de chain-of-thought-hub et instruct-eval.
@misc{2023opencompass, title={OpenCompass : une plateforme d'évaluation universelle pour les modèles de base}, author={Contributeurs OpenCompass}, howpublished = {url{https://github.com/open-compass/opencompass}}, year={ 2023}}
Retour en haut