Skip to content

Latest commit

 

History

History
188 lines (135 loc) · 8.32 KB

File metadata and controls

188 lines (135 loc) · 8.32 KB

Pakiet Ewaluacyjny dla Dużych Modeli Multimodalnych

🌐 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

Przyspieszenie rozwoju dużych modeli multimodalnych (LMMs) z lmms-eval. Obsługujemy większość zadań tekstowych, obrazowych, wideo i audio.

🏠 Strona Główna LMMs-Lab | 🤗 Zbiory Danych Huggingface | Discord_Thread discord/lmms-eval

📖 Obsługiwane Zadania (100+) | 🌟 Obsługiwane Modele (30+) | 📚 Dokumentacja


Ogłoszenia

Styczeń 2026 - Rozpoznaliśmy, że rozumowanie przestrzenne i kompozycyjne pozostało martwym punktem w istniejących benchmarkach. Dodaliśmy CaptionQA, SpatialTreeBench, SiteBench oraz ViewSpatial. Dla zespołów prowadzących zdalne procesy ewaluacji wprowadziliśmy serwer HTTP eval (#972). Dla tych, którzy potrzebują rygoru statystycznego, dodaliśmy CLT i estymację zgrupowanego błędu standardowego (#989).

  • [2025-10] 🚀🚀 LMMs-Eval v0.5 jest tutaj! Ta główna wersja wprowadza kompleksową ewaluację audio, buforowanie odpowiedzi, 5 nowych modeli (GPT-4o Audio Preview, Gemma-3, LongViLA-R1, LLaVA-OneVision 1.5, Thyme) oraz ponad 50 nowych wariantów benchmarków obejmujących audio (Step2, VoiceBench, WenetSpeech), wizję (CharXiv, Lemonade) i rozumowanie (CSBench, SciBench, MedQA, SuperGPQA). Szczegóły w notatkach wydania.
  • [2025-07] 🚀🚀 Wydaliśmy lmms-eval-0.4. Szczegóły w notatkach wydania.

Dlaczego lmms-eval?

Jesteśmy w ekscytującej podróży ku stworzeniu Sztucznej Ogólnej Inteligencji (AGI), podobnej do entuzjazmu lądowania na Księżycu w latach 60. Ta podróż jest napędzana przez zaawansowane duże modele językowe (LLMs) i duże modele multimodalne (LMMs), złożone systemy zdolne do rozumienia, uczenia się i wykonywania szerokiej gamy ludzkich zadań.

Aby zmierzyć, jak zaawansowane są te modele, używamy różnych benchmarków ewaluacyjnych. Te benchmarki są narzędziami, które pomagają nam zrozumieć możliwości tych modeli, pokazując, jak blisko jesteśmy osiągnięcia AGI. Jednak znalezienie i wykorzystanie tych benchmarków jest dużym wyzwaniem.

W dziedzinie modeli językowych praca lm-evaluation-harness ustanowiła cenny precedens. Przyswoiliśmy wyrafinowany i efektywny design lm-evaluation-harness i wprowadziliśmy lmms-eval, starannie opracowany framework ewaluacyjny do spójnej i efektywnej ewaluacji LMM.

Instalacja

Używając uv (Zalecane dla spójnych środowisk)

Używamy uv do zarządzania pakietami, aby zapewnić, że wszyscy programiści używają dokładnie tych samych wersji pakietów. Najpierw zainstaluj uv:

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

Do rozwoju ze spójnym środowiskiem:

git clone https://github.com/EvolvingLMMs-Lab/lmms-eval
cd lmms-eval
# Zalecane
uv pip install -e ".[all]"
# Jeśli chcesz używać uv sync
# uv sync  # To tworzy/aktualizuje twoje środowisko z uv.lock

Aby uruchamiać polecenia:

uv run python -m lmms_eval --help  # Uruchom dowolne polecenie z uv run

Alternatywna Instalacja

Do bezpośredniego użycia z Git:

uv venv eval
uv venv --python 3.12
source eval/bin/activate
# Możesz potrzebować dodać i dołączyć własny yaml zadań, jeśli używasz tej instalacji
uv pip install git+https://github.com/EvolvingLMMs-Lab/lmms-eval.git

Użycie

Więcej przykładów w examples/models

Ewaluacja Modelu Kompatybilnego z OpenAI

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

Ewaluacja vLLM

bash examples/models/vllm_qwen2vl.sh

Ewaluacja LLaVA-OneVision

bash examples/models/llava_onevision.sh

Ewaluacja LLaVA-OneVision1_5

bash examples/models/llava_onevision1_5.sh

Ewaluacja LLaMA-3.2-Vision

bash examples/models/llama_vision.sh

Ewaluacja Qwen2.5-VL

bash examples/models/qwen2_5_vl.sh

Ewaluacja z tensor parallel dla większego modelu (llava-next-72b)

bash examples/models/tensor_parallel.sh

Ewaluacja z SGLang dla większego modelu (llava-next-72b)

bash examples/models/sglang.sh

Więcej Parametrów

python3 -m lmms_eval --help

Zmienne Środowiskowe Przed uruchomieniem eksperymentów i ewaluacji, zalecamy wyeksportowanie następujących zmiennych środowiskowych do środowiska. Niektóre są niezbędne do działania określonych zadań.

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>"
# Inne możliwe zmienne środowiskowe to m.in. 
# ANTHROPIC_API_KEY, DASHSCOPE_API_KEY itp.

Typowe Problemy ze Środowiskiem

Czasami możesz napotkać typowe problemy, na przykład błędy związane z httpx lub protobuf. Aby rozwiązać te problemy, możesz najpierw spróbować:

python3 -m pip install httpx==0.23.3;
python3 -m pip install protobuf==3.20;
# Jeśli używasz numpy==2.x, może to czasami powodować błędy
python3 -m pip install numpy==1.26;
# Czasami sentencepiece jest wymagane do działania tokenizera
python3 -m pip install sentencepiece;

Dodawanie Niestandardowego Modelu i Zbioru Danych

Zobacz naszą dokumentację.

Podziękowania

lmms_eval jest forkiem lm-eval-harness. Zalecamy przeczytanie dokumentacji lm-eval-harness w celu uzyskania istotnych informacji.

Cytowania

@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}
}