Skip to content

Latest commit

 

History

History
199 lines (140 loc) · 9.89 KB

File metadata and controls

199 lines (140 loc) · 9.89 KB

مجموعة تقييم النماذج متعددة الوسائط الكبيرة

🌐 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

تسريع تطوير النماذج متعددة الوسائط الكبيرة (LMMs) باستخدام lmms-eval. نحن ندعم معظم مهام النص والصور والفيديو والصوت.

🏠 الصفحة الرئيسية لـ LMMs-Lab | 🤗 مجموعات بيانات Huggingface | Discord_Thread discord/lmms-eval

📖 المهام المدعومة (100+) | 🌟 النماذج المدعومة (30+) | 📚 التوثيق


ما الجديد

تقييم النماذج متعددة الوسائط أصعب مما يبدو. لدينا مئات المعايير، ولكن لا توجد طريقة قياسية لتشغيلها. تختلف النتائج بين المختبرات، وتصبح المقارنات غير موثوقة. لقد عملنا على معالجة هذا الأمر - ليس من خلال جهد بطولي، بل من خلال عملية منهجية.

يناير 2026 - أدركنا أن الاستدلال المكاني والتركيبي لا يزال يمثل نقاطًا عمياء في المعايير الحالية. أضفنا CaptionQA و SpatialTreeBench و SiteBench و ViewSpatial. بالنسبة للفرق التي تدير خطوط أنابيب تقييم عن بعد، قدمنا خادم تقييم HTTP (#972). ولمن يحتاجون إلى دقة إحصائية، أضفنا CLT وتقدير الخطأ المعياري العنقودي (#989).

أكتوبر 2025 (v0.5) - كان الصوت يمثل ثغرة. كان بإمكان النماذج السماع، ولكن لم تكن لدينا طريقة متسقة لاختبارها. أضاف هذا الإصدار تقييمًا صوتيًا شاملاً، وتخزينًا مؤقتًا للاستجابة من أجل الكفاءة، وأكثر من 50 متغيرًا للمعايير تغطي الصوت والرؤية والاستدلال. ملاحظات الإصدار.

فيما يلي قائمة زمنية بالمهام والنماذج والميزات الأخيرة التي أضافها مساهمونا الرائعون.

لماذا lmms-eval؟

نحن في رحلة مثيرة نحو إنشاء الذكاء الاصطناعي العام (AGI)، مشابهة لحماس الهبوط على القمر في الستينيات. هذه الرحلة مدعومة بنماذج اللغة الكبيرة المتقدمة (LLMs) والنماذج متعددة الوسائط الكبيرة (LMMs)، وهي أنظمة معقدة قادرة على فهم وتعلم وأداء مجموعة واسعة من المهام البشرية.

لقياس مدى تقدم هذه النماذج، نستخدم مجموعة متنوعة من معايير التقييم. هذه المعايير هي أدوات تساعدنا على فهم قدرات هذه النماذج، وتوضح لنا مدى قربنا من تحقيق AGI. ومع ذلك، فإن العثور على هذه المعايير واستخدامها يمثل تحديًا كبيرًا.

في مجال نماذج اللغة، وضع عمل lm-evaluation-harness سابقة قيمة. لقد استوعبنا التصميم الرائع والفعال لـ lm-evaluation-harness وقدمنا lmms-eval، إطار عمل تقييم مصنوع بدقة لتقييم متسق وفعال لـ LMM.

التثبيت

باستخدام uv (موصى به للبيئات المتسقة)

نستخدم uv لإدارة الحزم لضمان استخدام جميع المطورين لنفس إصدارات الحزم بالضبط. أولاً، قم بتثبيت uv:

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

للتطوير مع بيئة متسقة:

git clone https://github.com/EvolvingLMMs-Lab/lmms-eval
cd lmms-eval
# موصى به
uv pip install -e ".[all]"
# إذا كنت تريد استخدام uv sync
# uv sync  # هذا ينشئ/يحدث بيئتك من uv.lock

لتشغيل الأوامر:

uv run python -m lmms_eval --help  # تشغيل أي أمر مع uv run

التثبيت البديل

للاستخدام المباشر من Git:

uv venv eval
uv venv --python 3.12
source eval/bin/activate
# قد تحتاج إلى إضافة وتضمين yaml المهام الخاص بك إذا كنت تستخدم هذا التثبيت
uv pip install git+https://github.com/EvolvingLMMs-Lab/lmms-eval.git

الاستخدام

المزيد من الأمثلة في examples/models

تقييم نموذج متوافق مع OpenAI

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

تقييم vLLM

bash examples/models/vllm_qwen2vl.sh

تقييم LLaVA-OneVision

bash examples/models/llava_onevision.sh

تقييم LLaVA-OneVision1_5

bash examples/models/llava_onevision1_5.sh

تقييم LLaMA-3.2-Vision

bash examples/models/llama_vision.sh

تقييم Qwen2-VL

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

التقييم مع التوازي التوتري (tensor parallel) للنماذج الأكبر (llava-next-72b)

bash examples/models/tensor_parallel.sh

التقييم مع SGLang للنماذج الأكبر (llava-next-72b)

bash examples/models/sglang.sh

المزيد من المعلمات

python3 -m lmms_eval --help

متغيرات البيئة قبل تشغيل التجارب والتقييمات، نوصيك بتصدير متغيرات البيئة التالية إلى بيئتك. بعضها ضروري لتشغيل مهام معينة.

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>"

مشاكل البيئة الشائعة

أحيانًا قد تواجه بعض المشاكل الشائعة، على سبيل المثال خطأ متعلق بـ httpx أو protobuf. لحل هذه المشاكل، يمكنك أولاً تجربة

python3 -m pip install httpx==0.23.3;
python3 -m pip install protobuf==3.20;
# إذا كنت تستخدم numpy==2.x، فقد يتسبب ذلك أحيانًا في حدوث أخطاء
python3 -m pip install numpy==1.26;
# أحيانًا تكون sentencepiece مطلوبة ليعمل المحلل اللغوي (tokenizer)
python3 -m pip install sentencepiece;

إضافة نموذج ومجموعة بيانات مخصصة

راجع التوثيق.

شكر وتقدير

lmms_eval هو تفرع من lm-eval-harness. نوصي بقراءة توثيق lm-eval-harness للحصول على المعلومات ذات الصلة.

الاستشهادات

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