Documento • Sitio web •? Conjunto de datos • ⌚️ Descripción general •? Quickstart •? Tabla de clasificación • citar
博学之 , 审问之 , 慎思之 明辨之 笃行之。 笃行之。
—— 《礼记 · 中庸》 doctrina de la media

El punto de referencia de la evaluación de la repisa de la repisa ( Sciknoweval ) para los modelos de idiomas grandes (LLM) está inspirado en los principios profundos descritos en la " doctrina de la media " de la filosofía china antigua. Este punto de referencia está diseñado para evaluar los LLM en función de su competencia en el estudio ampliamente , investigar sincera , pensar profundamente , discernir claramente y practicar asiduamente . Cada una de estas dimensiones ofrece una perspectiva única sobre la evaluación de las capacidades de los LLM en el manejo del conocimiento científico.
[SEP 2024] Lanzamos un informe de evaluación de OpenAI O1 con Sciknoweval.
[SEP 2024] Hemos actualizado el documento SciknoweVal en ARXIV.
[Jul 2024] Recientemente hemos agregado la física y los materiales a Sciknoweval. Puede acceder al conjunto de datos aquí y consultar la tabla de clasificación aquí.
[Jun 2024] Lanzamos el conjunto de datos de Sciknoweval y la tabla de clasificación para la biología y la química.
L1 : Estudiar ampliamente (es decir, memoria de conocimiento ). Esta dimensión evalúa la amplitud del conocimiento de una LLM en varios dominios científicos. Mide la capacidad del modelo para recordar una amplia gama de conceptos científicos.
❓ L2 : Investigando sinceramente (es decir, comprensión del conocimiento ). Este aspecto se centra en la capacidad de la LLM para una investigación profunda y exploración dentro de contextos científicos, como el análisis de textos científicos, identificar conceptos clave y cuestionar información relevante.
L3 : Pensar profundamente (es decir, razonamiento de conocimiento ). Este criterio examina la capacidad del modelo de pensamiento crítico, deducción lógica, cálculo numérico, predicción de funciones y la capacidad de participar en un razonamiento reflexivo para resolver problemas.
? L4 : Discernir claramente (es decir, discernimiento del conocimiento ). Este aspecto evalúa la capacidad de la LLM para tomar decisiones correctas, seguras y éticas basadas en el conocimiento científico, incluida la evaluación de la daños y la toxicidad de la información, y comprender las implicaciones éticas y las preocupaciones de seguridad relacionadas con los esfuerzos científicos.
? L5 : Practicar asiduamente (es decir, aplicación de conocimiento ). La dimensión final evalúa la capacidad de la LLM para aplicar el conocimiento científico de manera efectiva en los escenarios del mundo real, como el análisis de problemas científicos complejos y la creación de soluciones innovadoras.




Para evaluar las LLM en Sciknoweval, primero clona el repositorio:
git clone https://github.com/HICAI-ZJU/SciKnowEval.git
cd SciKnowEvalA continuación, configure un entorno de conda para administrar las dependencias:
conda create -n sciknoweval python=3.10.9
conda activate sciknowevalLuego, instale las dependencias requeridas:
pip install -r requirements.txtDescargue los datos de referencia de SciknoweVal : Para comenzar a evaluar los modelos de lenguaje utilizando el punto de referencia SciknoweVal, primero debe descargar nuestro conjunto de datos. Hay dos fuentes disponibles:
? HUB DE DATOS DE DATAS DE HACTO : Acceda a acceder y descargar el conjunto de datos directamente desde nuestra página de Huggingface: https://huggingface.co/datasets/hicai-zju/sciknoweval
Carpeta de datos del repositorio : el conjunto de datos se organiza por nivel (L1 ~ L5) y tarea dentro de la carpeta ./raw_data/ de este repositorio. Puede descargar piezas por separado y consolidarlas en un solo archivo JSON según sea necesario.
Prepare las predicciones de su modelo : utilice el script de evaluación oficial eval.py proporcionado en este repositorio para evaluar su modelo. Se requiere que prepare las predicciones de su modelo en el siguiente formato JSON, donde cada entrada debe preservar todos los atributos originales (que se pueden encontrar en el conjunto de datos que descargó) de los datos, como preguntas, opciones, respuestas, tipo, tipo, dominio, nivel, tarea y subtarea. Agregue la respuesta prevista de su modelo en el campo "Respuesta".
Ejemplo de formato JSON para la evaluación del modelo:
[
{
"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...
]Siguiendo estas pautas, puede utilizar de manera efectiva el punto de referencia de Sciknoweval para evaluar el rendimiento de los modelos de lenguaje en varias tareas y niveles científicos.
1. Para las tareas de extracción de relaciones, necesitamos calcular la similitud de texto con el modelo word2vec . Utilizamos el modelo de vectores Googlenews-Vectores como modelo predeterminado.
GoogleNews-vectors-negative300.bin.gz de este enlace a local.El Código de Evaluación de Extracción de Relaciones fue desarrollado inicialmente por el equipo de la Copa AI4S, ¡gracias por su gran trabajo?
2. Para las tareas que usan GPT para la puntuación, utilizamos la API de OpenAI para evaluar las respuestas.
Establezca su tecla API OpenAI en la variable de entorno OpenAI_API_KEY . Use export OPENAI_API_KEY="YOUR_API_KEY" para establecer la variable de entorno.
Si no establece la variable de entorno OPENAI_API_KEY , la evaluación se omitirá automáticamente las tareas que requieren la puntuación GPT .
¡Seleccionamos gpt-4o como evaluador predeterminado!
Puede ejecutar eval.py para evaluar su modelo:
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 Las últimas tablas de clasificación se muestran aquí.
@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 agradecimiento especial a los autores de Llasmol: avance de modelos de idiomas grandes para la química con un conjunto de datos de ajuste de instrucciones de alta calidad a gran escala, y los organizadores del desafío AI4S Cup-LLM por su trabajo inspirador.
Las secciones que evalúan la generación molecular en evaluation/utils/generation.py , así como evaluation/utils/relation_extraction.py , se basan en su investigación. Agradecido por sus valiosas contribuciones