يوفر هذا المستودع تطبيق PyTorch الرسمي للورقة التالية:
فك رموز المحاذاة عبر الوسائط في نماذج لغة الرؤية الكبيرة مع معدل تكامل الطريقة
تشيدونغ هوانغ 1،2 ، شياويى دونغ 2،3 ، بان تشانغ 2 ، يوهانغ زانغ 2 ، يوهانغ كاو 2 ، جياكي وانغ 2 ، داهوا لين 2 ، ويمينغ تشانغ 1 ، نينغهاي يو 1
1 جامعة العلوم والتكنولوجيا الصينية، 2 مختبر شنغهاي للذكاء الاصطناعي، 3 الجامعة الصينية في هونغ كونغ
[2024.10.10] نصدر الورقة في ArXiv وHuggingFace!
[2024.10.10] تم إنشاء صفحة المشروع هذه!
إذا كنت تريد فقط استخدام MIR كمؤشر ما قبل التدريب للنموذج الخاص بك، فلا حاجة لبيئة إضافية.
torch
و numpy
و scipy
.mir.py
برمز النموذج الخاص بك، وسنعرض رمز LLaVA كمرجع. python mir.py --model_path PATH/TO/MODEL --base_llm PATH/TO/LLM --text_data_path PATH/TO/TEXT/DATA --image_data_path PATH/TO/VISION/DATA --eval_num 100 --mode fast
لاحظ أن base_llm
غير مطلوب إذا قمت بتدريب LLM الأساسي أثناء التدريب المسبق وقمت بتضمين ckpt الخاص به في model_path
.
يمكنك أيضًا ضبط الوسائط وفقًا لنمط التهيئة الخاص بنموذجك.
إذا كنت تريد فقط استخدام MoCa على الطراز الخاص بك، فإننا ننصحك باتباع الخطوات التالية:
modality_mask
، يرجى الرجوع إلى Line183-184 وLine269-276 وLine373-382 في llava/model/llava_arch.py
. تأكد أيضًا من إمكانية تسليم modality_mask
بنجاح إلى تمرير النموذج الأمامي، على سبيل المثال، إضافته كمعلمة رسمية لكل وظيفة أمامية، مثل Line70 وLine88 وLine96 وLine106 وLine127 وLine137 وLine145 وLine157 وLine166 وLine174 -175 في llava/model/language_model/llava_llama.py
.use_moca=True
، مثل (يوصى بالبحث عن use_moca
في هذا الريبو للعثور على الأماكن التي يجب مراجعتها): 1)أضفه إلى تكوين النموذج (هنا). 2) أضفه إلى وسيطات التدريب (هنا). 3) فتحه أثناء التدريب (هنا). 4) تأكد من حفظ نقطة التفتيش الصحيحة (هنا1، هنا2، هنا3).--use_moca
عند تشغيل أمر التدريب لتمكين استخدام MoCa. إذا كنت تريد استخدام قاعدة التعليمات البرمجية الخاصة بنا (المعدلة في LLaVA) لإعادة الإنتاج، فننصحك ببناء بيئة جديدة من خلال الخطوات أدناه. الخطوات التالية مدرجة فقط لنظام التشغيل Linux. إذا كنت تستخدم نظام التشغيل macOS أو Windows، فيرجى الرجوع إلى LLaVA.
git clone https://github.com/shikiw/Modality-Integration-Rate.git
cd Modality-Integration-Rate
conda create -n llava python=3.10 -y
conda activate llava
python -m pip install --upgrade pip # enable PEP 660 support
python -m pip install -e .
python -m pip install -e transformers-4.37.2
pythom -m pip install -e ".[train]"
pythom -m pip install flash-attn --no-build-isolation
لإعادة إنتاج تطبيق MIR على قاعدة التعليمات البرمجية هذه، يمكنك اتباع الخطوات التالية:
text_data_path
و image_data_path
لحساب MIR. يمكنك أيضًا تحديدها مثل Line55-64 في mir.py
، باستخدام صور TextVQA val ونص CNN/DM بشكل افتراضي، على سبيل المثال،PATH/TO/VISION/DATA
.PATH/TO/TEXT/DATA
. python mir.py --model_path PATH/TO/MODEL --base_llm PATH/TO/LLM --eval_num 100 --mode fast
python mir.py --model_path PATH/TO/MODEL --eval_num 100 --mode fast
تدعم قاعدة التعليمات البرمجية الخاصة بنا --use_moca
لتنشيط تنفيذ MoCa. راجع scripts/v1_5/pre_sft_moca.sh
لمزيد من التفاصيل.
نموذج | مقاس | جدول | متوسط | MMStar | وزارة البلدية والبيئة | إم إم بي | MMB-CN | SEED-IMG | TextVQA | مم-طبيب بيطري | البابا | GQA |
---|---|---|---|---|---|---|---|---|---|---|---|---|
لافا-v1.5 | 7 ب | full_ft-1e | 59.1 | 30.3 | 1510.7 | 64.3 | 58.3 | 66.1 | 58.2 | 31.1 | 85.9 | 62.0 |
+موكا | 7 ب | full_ft-1e | 60.6 | 36.5 | 1481.0 | 66.8 | 60.0 | 67.0 | 58.7 | 32.2 | 86.9 | 62.8 |
يتم تحرير نقاط التفتيش المدربة مسبقًا والمجهزة جيدًا.
تعتمد قاعدة التعليمات البرمجية هذه على LLaVA وShareGPT4V، حيث نقدم بعض الميزات الجديدة وهي الآن تدعم المدخلات التالية في البرنامج النصي للإطلاق:
--tune_vision_tower
و --tune_vit_from_layer
--tune_language_model
و --tune_llm_utill_layer
--tune_entire_model
--data_scale
--use_moca
و- --moca_std
بعض الحالات للرجوع إليها:
sh scripts/v1_5/pre_data_scale.sh
sh scripts/v1_5/pre_unlock_vit-12_llm-16_sft.sh
sh scripts/v1_5/pre_unlock_vit-12_llm-all_sft.sh
sh scripts/v1_5/pre_sft_moca.sh
نحن نتبع التقييم الأصلي في LLaVA لمعظم المعايير. بالنسبة إلى MMStar، نستخدم VLMEvalKit.
انظر تقييم.md.
يعتمد هذا الريبو على قاعدة بيانات LLaVA وShareGPT4V. شكرا لأعمالهم المثيرة للإعجاب!
إذا وجدت هذا العمل مفيدًا لبحثك، فيرجى الاستشهاد بمقالتنا:
@article{huang2024deciphering,
title={Deciphering Cross-Modal Alignment in Large Vision-Language Models with Modality Integration Rate},
author={Huang, Qidong and Dong, Xiaoyi and Zhang, Pan and Zang, Yuhang and Cao, Yuhang and Wang, Jiaqi and Lin, Dahua and Zhang, Weiming and Yu, Nenghai},
journal={arXiv preprint arXiv:2410.07167},
year={2024}
}