Ovis (Open VISion) عبارة عن بنية جديدة لنموذج اللغة الكبيرة متعدد الوسائط (MLLM)، مصممة لمحاذاة التضمينات المرئية والنصية هيكليًا. للحصول على مقدمة شاملة، يرجى الرجوع إلى ورقة Ovis.
تم اختبار Ovis باستخدام Python 3.10 وTorch 2.4.0 وTransformers 4.46.2 وDeepSpeed 0.15.4. للحصول على قائمة شاملة بتبعيات الحزمة، يرجى الرجوع إلى ملف requirements.txt
. قبل الضبط الدقيق أو الاستدلال، يرجى تثبيت Ovis على النحو التالي.
git clone [email protected]:AIDC-AI/Ovis.git
conda create -n ovis python=3.10 -y
conda activate ovis
cd Ovis
pip install -r requirements.txt
pip install -e .
يمكن إنشاء مثيل لـ Ovis باستخدام LLMs المشهورين. نحن نقدم Ovis MLLMs التالية:
أوفيس الامتيازات والرواتب | فيتامين | ماجستير | الأوزان النموذجية | تجريبي |
---|---|---|---|---|
أوفيس1.6-جيما2-27ب | سيجليب-400M | Gemma2-27B-It | معانقة | - |
أوفيس1.6-جيما2-9ب | سيجليب-400M | Gemma2-9B-It | معانقة | فضاء |
أوفيس1.6-لاما3.2-3ب | سيجليب-400M | اللاما-3.2-3B-إرشاد | معانقة | فضاء |
بفضل 29B من المعلمات، يحقق Ovis1.6-Gemma2-27B أداءً استثنائيًا في معيار OpenCompass، حيث يصنف ضمن أفضل MLLMs مفتوحة المصدر.
مع 10B معلمات فقط، يتصدر Ovis1.6-Gemma2-9B معيار OpenCompass بين MLLMs مفتوح المصدر ضمن 30B معلمات.
يتصدر Ovis1.6-Llama3.2-3B معيار OpenCompass بين MLLMs مفتوحة المصدر ضمن معلمات 4B ، حتى أنه يتفوق على Llama-3.2-11B-Vision-Instruct.
يتم دعم Finetuning Ovis1.6-Gemma2-9B في ms-swift.
نحن نوفر غلافًا للاستدلال في ovis/serve/runner.py
، والذي يمكن استخدامه على النحو التالي:
from PIL import Image
from ovis . serve . runner import RunnerArguments , OvisRunner
image = Image . open ( 'IMAGE_PATH' )
text = 'PROMPT'
runner_args = RunnerArguments ( model_path = 'MODEL_PATH' )
runner = OvisRunner ( runner_args )
generation = runner . run ([ image , text ])
استنادًا إلى Gradio، يمكن أيضًا الوصول إلى Ovis عبر واجهة مستخدم الويب:
python ovis/serve/server.py --model_path MODEL_PATH --port PORT
قمنا بقياس كمية Ovis1.6 باستخدام AutoGPTQ. للحصول على معلومات تفصيلية حول تشغيل وإنشاء الإصدار الكمي الخاص بك، يرجى الرجوع إلى بطاقات نموذج Huggingface المعنية: Ovis1.6-Gemma2-9B-GPTQ-Int4 وOvis1.6-Llama3.2-3B-GPTQ-Int4. يحافظ Ovis1.6 الكمي على أداء مشابه لنظيره غير الكمي بينما يتطلب ذاكرة GPU أقل:
الأداء المعياري:
استخدام ذاكرة وحدة معالجة الرسومات (max_partition=9):
إذا وجدت Ovis مفيدًا، فيرجى الاستشهاد بالمقالة
@article{lu2024ovis,
title={Ovis: Structural Embedding Alignment for Multimodal Large Language Model},
author={Shiyin Lu and Yang Li and Qing-Guo Chen and Zhao Xu and Weihua Luo and Kaifu Zhang and Han-Jia Ye},
year={2024},
journal={arXiv:2405.20797}
}
هذا العمل هو جهد تعاوني من قبل فريق MarcoVL. نود أيضًا تقديم روابط لأوراق MLLM التالية من فريقنا:
تم ترخيص هذا المشروع بموجب ترخيص Apache، الإصدار 2.0 (معرف ترخيص SPDX: Apache-2.0).
لقد استخدمنا خوارزميات التحقق من الامتثال أثناء عملية التدريب، لضمان امتثال النموذج المدرب بأفضل ما في وسعنا. ونظرًا لتعقيد البيانات وتنوع سيناريوهات استخدام نموذج اللغة، لا يمكننا ضمان خلو النموذج تمامًا من مشكلات حقوق الطبع والنشر أو المحتوى غير المناسب. إذا كنت تعتقد أن هناك أي شيء ينتهك حقوقك أو ينتج عنه محتوى غير لائق، فيرجى الاتصال بنا وسنقوم بمعالجة الأمر على الفور.