Sitio web | BrújulaHub | Rango de brújula | Documentación | Instalación | Problemas de informes
Inglés | 简体中文
Únase a nosotros en Discord y WeChat
Importante
Destacanos , recibirás todas las notificaciones de lanzamiento de GitHub sin demora ~ ️
a OpenCompass !
Así como una brújula nos guía en nuestro viaje, OpenCompass lo guiará a través del complejo panorama de la evaluación de grandes modelos de lenguaje. Con sus potentes algoritmos y su interfaz intuitiva, OpenCompass facilita la evaluación de la calidad y eficacia de sus modelos de PNL.
¡Explore oportunidades en OpenCompass! Actualmente estamos contratando investigadores/ingenieros y pasantes a tiempo completo . Si le apasiona LLM y OpenCompass, no dude en comunicarse con nosotros por correo electrónico. ¡Nos encantaría saber de usted!
Estamos encantados de anunciar que OpenCompass ha sido recomendado por Meta AI . Haga clic en Comenzar con Llama para obtener más información.
Atención
Aviso de cambio importante: en la versión 0.4.0, estamos consolidando todos los archivos de configuración de AMOTIC (anteriormente ubicados en ./configs/datasets, ./configs/models y ./configs/summarizers) en el paquete opencompass. Se recomienda a los usuarios que actualicen sus referencias de configuración para reflejar este cambio estructural.
[2024.10.14] Ahora admitimos el conjunto de datos de control de calidad multilingüe OpenAI MMMLU. ¡Siéntete libre de intentarlo!
[2024.09.19] Ahora admitimos Qwen2.5 (0.5B a 72B) con múltiples backends (huggingface/vllm/lmdeploy). ¡No dudes en probarlos!
[2024.09.17] Ahora admitimos OpenAI o1 ( o1-mini-2024-09-12
y o1-preview-2024-09-12
). ¡No dudes en probarlos!
[2024.09.05] Ahora admitimos la extracción de respuestas a través del posprocesamiento del modelo para proporcionar una representación más precisa de las capacidades del modelo. Como parte de esta actualización, hemos integrado XFinder como nuestro primer modelo de posprocesamiento. Para obtener información más detallada, consulte la documentación y pruébelo.
[2024.08.20] OpenCompass ahora admite SciCode: un punto de referencia de codificación de investigación curado por científicos.
[2024.08.16] OpenCompass ahora admite el nuevo punto de referencia de evaluación del modelo de lenguaje de contexto largo: RULER. RULER proporciona una evaluación de contexto prolongado que incluye recuperación, seguimiento de múltiples saltos, agregación y respuesta a preguntas a través de configuraciones flexibles. ¡Mira la configuración de evaluación de RULER ahora!
[2024.08.09] Hemos publicado los datos de ejemplo y la configuración para CompassBench-202408, bienvenido a CompassBench para obtener más detalles.
[2024.08.01] Admitimos los modelos Gemma2. ¡Bienvenido a intentarlo!
[2024.07.23] Admitimos los conjuntos de datos de ModelScope, puede cargarlos a pedido sin descargar todos los datos a su disco local. ¡Bienvenido a intentarlo!
[2024.07.17] Nos complace anunciar la publicación del informe técnico de NeedleBench. Lo invitamos a visitar nuestra documentación de soporte para obtener pautas de evaluación detalladas.
[2024.07.04] OpenCompass ahora es compatible con InternLM2.5, que tiene una excelente capacidad de razonamiento , una ventana de contexto de 1M y un uso de herramientas más potente . Puede probar los modelos en OpenCompass Config e InternLM.
[2024.06.20] OpenCompass ahora admite el cambio con un clic entre backends de aceleración de inferencia, lo que mejora la eficiencia del proceso de evaluación. Además del backend de inferencia predeterminado de HuggingFace, ahora también admite los populares backends LMDeploy y vLLM. Esta característica está disponible a través de un simple cambio de línea de comandos y a través de API de implementación. Para un uso detallado, consulte la documentación.
Más
Proporcionamos OpenCompass Leaderboard para que la comunidad clasifique todos los modelos públicos y modelos API. Si desea unirse a la evaluación, proporcione la URL del repositorio de modelos o una interfaz API estándar a la dirección de correo electrónico [email protected]
.
Volver arriba
A continuación se detallan los pasos para una instalación rápida y preparación de conjuntos de datos.
Recomendamos encarecidamente utilizar conda para administrar su entorno Python.
conda crear --nombre opencompass python=3.10 -y conda activar opencompass
pip install -U opencompass ## Instalación completa (con soporte para más conjuntos de datos) # pip install "opencompass[full]" ## Entorno con marcos de aceleración de modelos ## Administre diferentes marcos de aceleración utilizando entornos virtuales ## ya que generalmente tienen conflictos de dependencia con entre sí. # pip install "opencompass[lmdeploy]" # pip install "opencompass[vllm]" ## Evaluación de API (es decir, Openai, Qwen) # pip install "opencompass[api]"
Si desea utilizar las funciones más recientes de opencompass o desarrollar nuevas funciones, también puede compilarlo desde el código fuente.
clon de git https://github.com/open-compass/opencompass cd de opencompass opencompass instalación de pip -e. # pip install -e ".[completo]" # pip install -e ".[vllm]"
Puede elegir uno para el siguiente método para preparar conjuntos de datos.
Puede descargar y extraer los conjuntos de datos con los siguientes comandos:
# Descargar el conjunto de datos a la carpeta data/wget https://github.com/open-compass/opencompass/releases/download/0.2.2.rc1/OpenCompassData-core-20240207.zip descomprimir OpenCompassData-core-20240207.zip
Hemos admitido la descarga automática de conjuntos de datos desde el servidor de almacenamiento OpenCompass. Puede ejecutar la evaluación con --dry-run
adicional para descargar estos conjuntos de datos. Actualmente, los conjuntos de datos admitidos se enumeran aquí. Se cargarán más conjuntos de datos recientemente.
También puede utilizar ModelScope para cargar los conjuntos de datos a pedido.
Instalación:
pip instalar modelscope[marco]exportar DATASET_SOURCE=ModelScope
Luego envíe la tarea de evaluación sin descargar todos los datos a su disco local. Los conjuntos de datos disponibles incluyen:
humaneval, triviaqa, commonsenseqa, tydiqa, Strategyqa, cmmlu, lambada, piqa, ceval, matemáticas, LCSTS, Xsum, winogrande, openbookqa, AGIEval, gsm8k, nq, race, siqa, mbpp, mmlu, hellaswag, ARC, BBH, xstory_cloze, cumbres, GAOKAO-BENCH, OCNLI, cmnli
Algunas funciones de terceros, como Humaneval y Llama, pueden requerir pasos adicionales para funcionar correctamente; para conocer los pasos detallados, consulte la Guía de instalación.
Volver arriba
Después de asegurarse de que OpenCompass esté instalado correctamente de acuerdo con los pasos anteriores y que los conjuntos de datos estén preparados. ¡Ahora puedes comenzar tu primera evaluación usando OpenCompass!
¡Tu primera evaluación con OpenCompass!
OpenCompass admite la configuración de sus configuraciones a través de CLI o un script de Python. Para configuraciones de evaluación simples, recomendamos usar CLI; para evaluaciones más complejas, se sugiere usar la forma de script. Puede encontrar más scripts de ejemplo en la carpeta de configuración.
# CLIopencompass --models hf_internlm2_5_1_8b_chat --datasets demo_gsm8k_chat_gen# Python scriptsopencompass ./configs/eval_chat_demo.py
Puede encontrar más ejemplos de scripts en la carpeta de configuración.
Evaluación de API
OpenCompass, por su diseño, realmente no discrimina entre modelos de código abierto y modelos API. Puede evaluar ambos tipos de modelos de la misma manera o incluso en una misma configuración.
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# Puedes usar o1_mini_2024_09_12/o1_preview_2024_09_12 para los modelos o1, configuramos max_completion_tokens=8192 como predeterminado.
Evaluación acelerada
Además, si desea utilizar un backend de inferencia distinto de HuggingFace para una evaluación acelerada, como LMDeploy o vLLM, puede hacerlo con el siguiente comando. Asegúrese de haber instalado los paquetes necesarios para el backend elegido y de que su modelo admita la inferencia acelerada con él. Para obtener más información, consulte la documentación sobre backends de aceleración de inferencia aquí. A continuación se muestra un ejemplo utilizando LMDeploy:
# CLIopencompass --models hf_internlm2_5_1_8b_chat --datasets demo_gsm8k_chat_gen -a lmdeploy# Python scriptsopencompass ./configs/eval_lmdeploy_demo.py
Modelos compatibles
OpenCompass tiene configuraciones predefinidas para muchos modelos y conjuntos de datos. Puede enumerar todas las configuraciones de modelos y conjuntos de datos disponibles utilizando las herramientas.
# Listar todas las configuracionespython tools/list_configs.py# Listar todas las configuraciones relacionadas con llama y mmlupython tools/list_configs.py llama mmlu
Si el modelo no está en la lista pero es compatible con la clase Huggingface AutoModel, también puede evaluarlo con OpenCompass. Le invitamos a contribuir al mantenimiento de las listas de conjuntos de datos y modelos compatibles con OpenCompass.
opencompass --datasets demo_gsm8k_chat_gen --hf-type chat --hf-path internlm/internlm2_5-1_8b-chat
Si desea utilizar varias GPU para evaluar el modelo en paralelo con los datos, puede utilizar --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
Consejo
--hf-num-gpus
se usa para modelos paralelos (formato huggingface), --max-num-worker
se usa para datos paralelos.
Consejo
La configuración con _ppl
está diseñada normalmente para el modelo base. La configuración con _gen
se puede utilizar tanto para el modelo base como para el modelo de chat.
A través de la línea de comando o archivos de configuración, OpenCompass también admite la evaluación de API o modelos personalizados, así como estrategias de evaluación más diversificadas. Lea el Inicio rápido para aprender cómo ejecutar una tarea de evaluación.
Volver arriba
Estamos encantados de presentar OpenCompass 2.0, una suite avanzada que presenta tres componentes clave: CompassKit, CompassHub y CompassRank.
CompassRank se ha mejorado significativamente en las tablas de clasificación que ahora incorporan puntos de referencia de código abierto y puntos de referencia patentados. Esta actualización permite una evaluación más completa de los modelos en toda la industria.
CompassHub presenta una interfaz de navegador de referencia pionera, diseñada para simplificar y acelerar la exploración y utilización de una amplia gama de puntos de referencia tanto para investigadores como para profesionales. Para mejorar la visibilidad de su propio punto de referencia dentro de la comunidad, lo invitamos cordialmente a contribuir con él a CompassHub. Puede iniciar el proceso de envío haciendo clic aquí.
CompassKit es una poderosa colección de kits de herramientas de evaluación diseñados específicamente para modelos de lenguaje grandes y modelos de lenguaje de visión grande. Proporciona un amplio conjunto de herramientas para evaluar y medir eficazmente el rendimiento de estos modelos complejos. Bienvenido a probar nuestros kits de herramientas para su investigación y productos.
OpenCompass es una plataforma integral para la evaluación de modelos grandes, cuyo objetivo es proporcionar un punto de referencia justo, abierto y reproducible para la evaluación de modelos grandes. Sus principales características incluyen:
Soporte integral para modelos y conjuntos de datos : soporte previo para más de 20 modelos HuggingFace y API, un esquema de evaluación de modelos de más de 70 conjuntos de datos con aproximadamente 400 000 preguntas, que evalúa de manera integral las capacidades de los modelos en cinco dimensiones.
Evaluación distribuida eficiente : comando de una línea para implementar la división de tareas y la evaluación distribuida, completando la evaluación completa de modelos de mil millones de escala en solo unas pocas horas.
Paradigmas de evaluación diversificados : soporte para evaluaciones de cero disparos, pocos disparos y de cadena de pensamiento, combinadas con plantillas de indicaciones estándar o de tipo diálogo, para estimular fácilmente el máximo rendimiento de varios modelos.
Diseño modular con alta extensibilidad : ¿Quiere agregar nuevos modelos o conjuntos de datos, personalizar una estrategia avanzada de división de tareas o incluso admitir un nuevo sistema de gestión de clústeres? ¡Todo lo relacionado con OpenCompass se puede ampliar fácilmente!
Mecanismo de generación de informes y gestión de experimentos : utilice archivos de configuración para registrar completamente cada experimento y admita informes de resultados en tiempo real.
Idioma | Conocimiento | Razonamiento | Examen |
Definición de palabra
Aprendizaje idiomático
Similitud semántica
Resolución de correferencia
Traducción
Respuesta a preguntas en varios idiomas
Resumen en varios idiomas
| Respuesta a preguntas de conocimiento
| Vinculación textual
Razonamiento de sentido común
Razonamiento matemático
Aplicación del teorema
Razonamiento integral
| Secundaria, Escuela Secundaria, Universidad, Exámenes Profesionales
Exámenes médicos
|
Comprensión | Contexto largo | Seguridad | Código |
Comprensión lectora
Resumen de contenido
Análisis de contenido
| Comprensión del contexto a largo plazo
| Seguridad
Robustez
| Código
|
Modelos de código abierto | Modelos API |
|
|
Volver arriba
Evaluación subjetiva
Suelte CompassAreana.
Evaluación subjetiva.
contexto largo
Evaluación de contexto prolongado con extensos conjuntos de datos.
Tabla de clasificación de contexto largo.
Codificación
Tabla de clasificación de evaluación de codificación.
Servicio de evaluación de lenguajes distintos de Python.
Agente
Admite varios marcos de agentes.
Evaluación del uso de herramientas de los LLM.
Robustez
Admite varios métodos de ataque.
Agradecemos todas las contribuciones para mejorar OpenCompass. Consulte la guía de contribución para conocer las mejores prácticas.
Parte del código de este proyecto se cita y modifica de OpenICL.
Algunos conjuntos de datos e implementaciones de indicaciones se modifican desde chain-of-thinking-hub e instruct-eval.
@misc{2023opencompass, title={OpenCompass: una plataforma de evaluación universal para modelos básicos}, autor={Colaboradores de OpenCompass}, howpublished = {url{https://github.com/open-compass/opencompass}}, año={ 2023}}
Volver arriba