Papier • Site Web •? Ensemble de données • ⌚️ Présentation •? QuickStart •? Classement • citer
博学之 , 审问之 , 慎思之 , 明辨之 , 笃行之。
—— 《礼记 · 中庸》 Doctrine de la moyenne

La référence SCI ENTINE CAVNED CDEDGE ( ScikNoweval ) pour les modèles de grandes langues (LLMS) est inspirée par les principes profonds décrits dans la « doctrine de la moyenne » de la philosophie chinoise ancienne. Cette référence est conçue pour évaluer les LLM en fonction de leur maîtrise de l'étude de manière approfondie , de renforcer sérieusement , de réfléchir profondément , de discerner clairement et de pratiquer avec assistance . Chacune de ces dimensions offre une perspective unique sur l'évaluation des capacités des LLM dans la gestion des connaissances scientifiques.
[Sep 2024] Nous avons publié un rapport d'évaluation d'OpenAI O1 avec ScikNoweval.
[Sep 2024] Nous avons mis à jour le papier ScikNoweval dans Arxiv.
[Juil 2024] Nous avons récemment ajouté la physique et les matériaux à ScikNoweval. Vous pouvez accéder à l'ensemble de données ici et consulter le classement ici.
[Juin 2024] Nous avons publié l'ensemble de données ScikNoweval et le classement pour la biologie et la chimie.
L1 : Étudier de manière approfondie (c'est-à-dire la mémoire des connaissances ). Cette dimension évalue l'étendue des connaissances d'un LLM dans divers domaines scientifiques. Il mesure la capacité du modèle à se souvenir d'un large éventail de concepts scientifiques.
❓ L2 : Enquêter sérieusement (c'est-à-dire la compréhension des connaissances ). Cet aspect se concentre sur la capacité de la LLM à une enquête et à une exploration profondes dans des contextes scientifiques, tels que l'analyse des textes scientifiques, l'identification des concepts clés et remettant en question les informations pertinentes.
L3 : Penser profondément (c'est-à-dire le raisonnement des connaissances ). Ce critère examine la capacité du modèle de pensée critique, la déduction logique, le calcul numérique, la prédiction des fonctions et la capacité de s'engager dans un raisonnement réfléchissant pour résoudre les problèmes.
? L4 : discernant clairement (c'est-à-dire le discernement des connaissances ). Cet aspect évalue la capacité de la LLM à prendre des décisions correctes, sécurisées et éthiques basées sur les connaissances scientifiques, notamment l'évaluation de la nocive et de la toxicité de l'information, et de la compréhension des implications éthiques et des problèmes de sécurité liés aux efforts scientifiques.
? L5 : pratiquer assidûment (c'est-à-dire l'application de connaissances ). La dimension finale évalue la capacité du LLM à appliquer efficacement les connaissances scientifiques dans des scénarios du monde réel, tels que l'analyse des problèmes scientifiques complexes et la création de solutions innovantes.




Pour évaluer les LLM sur ScikNoweval, clonez d'abord le référentiel:
git clone https://github.com/HICAI-ZJU/SciKnowEval.git
cd SciKnowEvalEnsuite, configurez un environnement conda pour gérer les dépendances:
conda create -n sciknoweval python=3.10.9
conda activate sciknowevalEnsuite, installez les dépendances requises:
pip install -r requirements.txtTéléchargez les données de référence ScikNoweval : Pour commencer à évaluer les modèles de langue à l'aide de la référence ScikNowEval, vous devez d'abord télécharger notre ensemble de données. Il existe deux sources disponibles:
? Huggingface DataSet Hub : Accès et téléchargez l'ensemble de données directement à partir de notre page HuggingFace: https://huggingface.co/datasets/hicai-zju/sciknoweval
Dossier de données du référentiel : l'ensemble de données est organisé par niveau (l1 ~ l5) et tâche dans le dossier ./raw_data/ de ce référentiel. Vous pouvez télécharger des pièces séparément et les consolider en un seul fichier JSON au besoin.
Préparez les prédictions de votre modèle : utilisez le script d'évaluation officiel eval.py fourni dans ce référentiel pour évaluer votre modèle. Vous devez préparer les prédictions de votre modèle dans le format JSON suivant, où chaque entrée doit préserver tous les attributs d'origine (qui peuvent être trouvés dans l'ensemble de données que vous avez téléchargé) des données telles que Question, Choices, ResponseKey, Type, Domain, Level, Task et Sous-Task. Ajoutez la réponse prévue de votre modèle dans le champ "Réponse".
Exemple de format JSON pour l'évaluation du modèle:
[
{
"question" : " What triggers the activation of platelet integrins? " ,
"choices" : {
"text" : [ " White blood cells " , " Collagen exposure " , " Adrenaline release " , " Nutrient absorption " ],
"label" : [ " A " , " B " , " C " , " D " ]
},
"answerKey" : " B " ,
"type" : " mcq-4-choices " ,
"domain" : " Biology " ,
"details" : {
"level" : " L2 " ,
"task" : " Cellular Function " ,
"subtask" : " Platelet Activation "
},
"response" : " B " // Insert your model's prediction here
},
// Additional entries...
]En suivant ces directives, vous pouvez utiliser efficacement la référence ScikNoweval pour évaluer les performances des modèles linguistiques à travers diverses tâches et niveaux scientifiques.
1. Pour les tâches d'extraction de relation, nous devons calculer la similitude du texte avec le modèle word2vec . Nous utilisons le modèle prétrainé GoogleNews-Vectors comme modèle par défaut.
GoogleNews-vectors-negative300.bin.gz à partir de ce lien vers local.Le code d'évaluation de l'extraction des relations a été initialement développé par l'équipe de la Coupe AI4S, merci pour leur excellent travail !?
2. Pour les tâches qui utilisent GPT pour la notation, nous utilisons l'API OpenAI pour évaluer les réponses.
Veuillez définir votre touche API OpenAI dans la variable d'environnement OpenAI_API_KEY . Utilisez export OPENAI_API_KEY="YOUR_API_KEY" pour définir la variable d'environnement.
Si vous ne définissez pas la variable d'environnement OPENAI_API_KEY , l'évaluation ignorera automatiquement les tâches qui nécessitent une notation GPT .
Nous sélectionnons gpt-4o comme évaluateur par défaut!
Vous pouvez exécuter eval.py pour évaluer votre modèle:
data_path= " your/model/predictions.json "
word2vec_model_path= " path/to/GoogleNews-vectors-negative300.bin "
gen_evaluator= " gpt-4o " # the correct model name in OpenAI
output_path= " path/to/your/output.json "
export OPENAI_API_KEY= " YOUR_API_KEY "
python eval.py
--data_path $data_path
--word2vec_model_path $word2vec_model_path
--gen_evaluator $gen_evaluator
--output_path $output_path Les derniers classements sont présentés ici.
@misc{feng2024sciknoweval,
title={SciKnowEval: Evaluating Multi-level Scientific Knowledge of Large Language Models},
author={Kehua Feng and Keyan Ding and Weijie Wang and Xiang Zhuang and Zeyuan Wang and Ming Qin and Yu Zhao and Jianhua Yao and Qiang Zhang and Huajun Chen},
year={2024},
eprint={2406.09098},
archivePrefix={arXiv},
primaryClass={cs.CL}
}
Un merci spécial aux auteurs de Llasmol: Faire progresser de grands modèles de langue pour la chimie avec un ensemble de données de réglage d'instructions de haute qualité complet, complet et de haute qualité, et les organisateurs du défi AI4S Cup - LLM pour leur travail inspirant.
Les sections évaluant la génération moléculaire dans evaluation/utils/generation.py , ainsi que evaluation/utils/relation_extraction.py , sont fondées sur leurs recherches. Reconnaissant pour leurs précieuses contributions