Skip to content

Latest commit

 

History

History
207 lines (147 loc) · 9.75 KB

File metadata and controls

207 lines (147 loc) · 9.75 KB

Suite de Evaluación de Modelos Multimodales de Gran Escala

🌐 English | 简体中文 | 繁體中文 | 日本語 | 한국어 | Español | Français | Deutsch | Português | Русский | Italiano | Nederlands | Polski | Türkçe | العربية | हिन्दी | Tiếng Việt | Indonesia

PyPI PyPI - Downloads GitHub contributors issue resolution open issues

Acelerando el desarrollo de modelos multimodales de gran escala (LMMs) con lmms-eval. Soportamos la mayoría de tareas de texto, imagen, video y audio.

🏠 Página Principal de LMMs-Lab | 🤗 Conjuntos de Datos de Huggingface | Discord_Thread discord/lmms-eval

📖 Tareas Soportadas (100+) | 🌟 Modelos Soportados (30+) | 📚 Documentación


Anuncios

Evaluar modelos multimodales es más difícil de lo que parece. Tenemos cientos de benchmarks, pero no hay una forma estándar de ejecutarlos. Los resultados varían entre laboratorios. Las comparaciones se vuelven poco fiables. Hemos estado trabajando para abordar esto, no mediante esfuerzos heroicos, sino mediante procesos sistemáticos.

Enero de 2026 - Reconocimos que el razonamiento espacial y composicional seguían siendo puntos ciegos en los benchmarks existentes. Añadimos CaptionQA, SpatialTreeBench, SiteBench, y ViewSpatial. Para los equipos que ejecutan flujos de evaluación remotos, introdujimos un servidor de evaluación HTTP (#972). Para quienes necesitan rigor estadístico, añadimos CLT y estimación de error estándar por clúster (#989).

Octubre de 2025 (v0.5) - El audio había sido una brecha. Los modelos podían oír, pero no teníamos una forma consistente de probarlos. Esta versión añadió una evaluación de audio completa, caché de respuestas para mayor eficiencia y más de 50 variantes de benchmarks que abarcan audio, visión y razonamiento. Notas de la versión.

A continuación se presenta una lista cronológica de las tareas, modelos y características recientes añadidos por nuestros increíbles colaboradores.

¿Por qué lmms-eval?

Estamos en un emocionante viaje hacia la creación de Inteligencia General Artificial (AGI), similar al entusiasmo del aterrizaje lunar de los años 60. Este viaje está impulsado por modelos de lenguaje de gran escala (LLMs) y modelos multimodales de gran escala (LMMs), sistemas complejos capaces de entender, aprender y realizar una amplia variedad de tareas humanas.

Para medir cuán avanzados son estos modelos, utilizamos una variedad de benchmarks de evaluación. Estos benchmarks son herramientas que nos ayudan a entender las capacidades de estos modelos, mostrándonos qué tan cerca estamos de lograr AGI. Sin embargo, encontrar y usar estos benchmarks es un gran desafío.

En el campo de los modelos de lenguaje, el trabajo de lm-evaluation-harness ha establecido un precedente valioso. Absorbimos el diseño exquisito y eficiente de lm-evaluation-harness e introducimos lmms-eval, un framework de evaluación meticulosamente elaborado para la evaluación consistente y eficiente de LMM.

Instalación

Usando uv (Recomendado para entornos consistentes)

Usamos uv para la gestión de paquetes para asegurar que todos los desarrolladores usen exactamente las mismas versiones de paquetes. Primero, instale uv:

curl -LsSf https://astral.sh/uv/install.sh | sh

Para desarrollo con entorno consistente:

git clone https://github.com/EvolvingLMMs-Lab/lmms-eval
cd lmms-eval
# Recomendado
uv pip install -e ".[all]"
# Si desea usar uv sync
# uv sync  # Esto crea/actualiza su entorno desde uv.lock

Para ejecutar comandos:

uv run python -m lmms_eval --help  # Ejecutar cualquier comando con uv run

Instalación Alternativa

Para uso directo desde Git:

uv venv eval
uv venv --python 3.12
source eval/bin/activate
# Puede que necesite agregar e incluir su propio yaml de tareas si usa esta instalación
uv pip install git+https://github.com/EvolvingLMMs-Lab/lmms-eval.git

Uso

Más ejemplos en examples/models

Evaluación de Modelo Compatible con OpenAI

bash examples/models/openai_compatible.sh
bash examples/models/xai_grok.sh

Evaluación de vLLM

bash examples/models/vllm_qwen2vl.sh

Evaluación de LLaVA-OneVision

bash examples/models/llava_onevision.sh

Evaluación de LLaVA-OneVision1_5

bash examples/models/llava_onevision1_5.sh

Evaluación de LLaMA-3.2-Vision

bash examples/models/llama_vision.sh

Evaluación de Qwen2-VL

bash examples/models/qwen2_vl.sh
bash examples/models/qwen2_5_vl.sh

Evaluación de LLaVA en MME

Si desea probar LLaVA 1.5, tendrá que clonar su repositorio de LLaVA y

bash examples/models/llava_next.sh

Evaluación con tensor parallel para modelos más grandes (llava-next-72b)

bash examples/models/tensor_parallel.sh

Evaluación con SGLang para modelos más grandes (llava-next-72b)

bash examples/models/sglang.sh

Más Parámetros

python3 -m lmms_eval --help

Variables de Entorno

Antes de ejecutar experimentos y evaluaciones, le recomendamos exportar las siguientes variables de entorno a su entorno. Algunas son necesarias para que ciertas tareas funcionen.

export OPENAI_API_KEY="<YOUR_API_KEY>"
export HF_HOME="<Path to HF cache>" 
export HF_TOKEN="<YOUR_API_KEY>"
export HF_HUB_ENABLE_HF_TRANSFER="1"
export REKA_API_KEY="<YOUR_API_KEY>"
# Otras posibles variables de entorno incluyen 
# ANTHROPIC_API_KEY, DASHSCOPE_API_KEY etc.

Problemas Comunes del Entorno

A veces puede encontrar algunos problemas comunes, por ejemplo, errores relacionados con httpx o protobuf. Para resolver estos problemas, primero puede intentar:

python3 -m pip install httpx==0.23.3;
python3 -m pip install protobuf==3.20;
# Si está usando numpy==2.x, a veces puede causar errores
python3 -m pip install numpy==1.26;
# A veces se requiere sentencepiece para que el tokenizador funcione
python3 -m pip install sentencepiece;

Agregar Modelo y Conjunto de Datos Personalizados

Consulte nuestra documentación.

Reconocimientos

lmms_eval es un fork de lm-eval-harness. Recomendamos leer la documentación de lm-eval-harness para información relevante.

Citas

@misc{zhang2024lmmsevalrealitycheckevaluation,
      title={LMMs-Eval: Reality Check on the Evaluation of Large Multimodal Models}, 
      author={Kaichen Zhang and Bo Li and Peiyuan Zhang and Fanyi Pu and Joshua Adrian Cahyono and Kairui Hu and Shuai Liu and Yuanhan Zhang and Jingkang Yang and Chunyuan Li and Ziwei Liu},
      year={2024},
      eprint={2407.12772},
      archivePrefix={arXiv},
      primaryClass={cs.CL},
      url={https://arxiv.org/abs/2407.12772}, 
}

@misc{lmms_eval2024,
    title={LMMs-Eval: Accelerating the Development of Large Multimoal Models},
    url={https://github.com/EvolvingLMMs-Lab/lmms-eval},
    author={Bo Li*, Peiyuan Zhang*, Kaichen Zhang*, Fanyi Pu*, Xinrun Du, Yuhao Dong, Haotian Liu, Yuanhan Zhang, Ge Zhang, Chunyuan Li and Ziwei Liu},
    publisher    = {Zenodo},
    version      = {v0.1.0},
    month={March},
    year={2024}
}