الصفحة الرئيسية | ؟ مجموعة البيانات (معيار M-BEIR) | ؟ نقاط التفتيش (نماذج UniIR ) | أرخايف | جيثب
يحتوي هذا الريبو على قاعدة التعليمات البرمجية لورقة ECCV-2024 " UniIR : التدريب والقياس المعياري لمستردي المعلومات العالمية متعددة الوسائط"
نقترح إطار عمل UniIR (استرجاع المعلومات العالمي متعدد الوسائط) لتعلم مسترد واحد لإنجاز (ربما) أي مهمة استرجاع. على عكس أنظمة IR التقليدية، يحتاج UniIR إلى اتباع التعليمات لإجراء استعلام غير متجانس لاسترجاعه من مجموعة مرشحين غير متجانسة تضم ملايين المرشحين في طرائق متنوعة.
دعابة UniIR" style="width: 80%; الحد الأقصى للعرض: 100%;">
لتدريب وتقييم نماذج الاسترجاع متعددة الوسائط العالمية، قمنا ببناء معيار استرجاع واسع النطاق يسمى M-BEIR (علامة BEnchmark المتعددة الوسائط للاسترجاع الموجه).
نحن نقدم مجموعة بيانات M-BEIR في ؟ مجموعة البيانات . يرجى اتباع التعليمات الواردة في صفحة HF لتنزيل مجموعة البيانات وإعداد البيانات للتدريب والتقييم. تحتاج إلى إعداد GiT LFS واستنساخ الريبو مباشرةً:
git clone https://huggingface.co/datasets/TIGER-Lab/M-BEIR
نحن نقدم قاعدة التعليمات البرمجية للتدريب وتقييم نماذج UniIR CLIP-ScoreFusion وCLIP-FeatureFusion وBLIP-ScoreFusion وBLIP-FeatureFusion.
قم بإعداد قاعدة التعليمات البرمجية لمشروع UniIR وبيئة Conda باستخدام الأوامر التالية:
git clone https://github.com/TIGER-AI-Lab/UniIR
cd UniIR
cd src/models/
conda env create -f UniIR _env.yml
لتدريب نماذج UniIR من نقاط تفتيش CLIP وBLIP المدربة مسبقًا، يرجى اتباع الإرشادات أدناه. ستقوم البرامج النصية تلقائيًا بتنزيل نقاط فحص CLIP وBLIP المدربة مسبقًا.
يرجى تنزيل معيار M-BEIR باتباع الإرشادات الواردة في قسم M-BEIR .
cd src/models/ UniIR _clip/clip_scorefusion/configs_scripts/large/train/inbatch/
قم بتعديل inbatch.yaml
لضبط المعلمة الفائقة و run_inbatch.sh
لبيئتك ومساراتك الخاصة.
UniIR _DIR
في run_inbatch.sh
إلى الدليل الذي تريد تخزين نقاط التفتيش فيه.MBEIR_DATA_DIR
في run_inbatch.sh
إلى الدليل حيث تقوم بتخزين معيار M-BEIR.SRC_DIR
في run_inbatch.sh
إلى الدليل حيث تقوم بتخزين قاعدة التعليمات البرمجية لمشروع UniIR (هذا الريبو)..env
مع WANDB_API_KEY
و WANDB_PROJECT
و WANDB_ENTITY
.ثم يمكنك تشغيل الأمر التالي لتدريب نموذج UniIR CLIP_SF الكبير.
bash run_inbatch.sh
cd src/models/ UniIR _blip/blip_featurefusion/configs_scripts/large/train/inbatch/
قم بتعديل inbatch.yaml
لضبط المعلمة الفائقة و run_inbatch.sh
لبيئتك ومساراتك الخاصة.
bash run_inbatch.sh
نحن نقدم مسار التقييم لنماذج UniIR وفقًا لمعيار M-BEIR.
الرجاء إنشاء بيئة لمكتبة FAISS:
# From the root directory of the project
cd src/common/
conda env create -f faiss_env.yml
يرجى تنزيل معيار M-BEIR باتباع الإرشادات الواردة في قسم M-BEIR .
يمكنك تدريب نماذج UniIR من البداية أو تنزيل نقاط فحص UniIR المدربة مسبقًا باتباع الإرشادات الموجودة في قسم Model Zoo .
cd src/models/ UniIR _clip/clip_scorefusion/configs_scripts/large/eval/inbatch/
قم بتعديل embed.yaml
و index.yaml
و retrieval.yaml
و run_eval_pipeline_inbatch.sh
لبيئتك الخاصة والمسارات وإعدادات التقييم.
UniIR _DIR
في run_eval_pipeline_inbatch.sh
إلى الدليل الذي تريد تخزين الملفات الكبيرة فيه بما في ذلك نقاط التفتيش والتضمينات والفهرس ونتائج الاسترجاع. ثم يمكنك وضع الملف clip_sf_large.pth
في المسار التالي: $ UniIR _DIR /checkpoint/CLIP_SF/Large/Instruct/InBatch/clip_sf_large.pth
model.ckpt_config
في ملف embed.yaml
.MBEIR_DATA_DIR
في run_eval_pipeline_inbatch.sh
إلى الدليل حيث تقوم بتخزين معيار M-BEIR.SRC_DIR
في run_eval_pipeline_inbatch.sh
إلى الدليل حيث تقوم بتخزين قاعدة التعليمات البرمجية لمشروع UniIR (هذا الريبو). سيقوم التكوين الافتراضي بتقييم نموذج UniIR CLIP_SF الكبير على كل من معايير M-BEIR (مجموعة المرشحين غير المتجانسة 5.6M) ومعايير M-BEIR_local (مجموعة المرشحين المتجانسة). يشير UNION
في ملفات yaml إلى M-BEIR (مجموعة مرشحين غير متجانسة تبلغ 5.6 مليون). يمكنك متابعة التعليقات الموجودة في ملفات yaml وتعديل التكوينات لتقييم النموذج على معيار M-BEIR_local فقط.
bash run_eval_pipeline_inbatch.sh
سيتم حفظ نتائج embed
index
logger
ونتائج retrieval_results
في دليل $ UniIR _DIR
.
cd src/models/unii_blip/blip_featurefusion/configs_scripts/large/eval/inbatch/
وبالمثل، إذا قمت بتنزيل نموذج UniIR الذي تم تدريبه مسبقًا، فيمكنك وضع ملف blip_ff_large.pth
في المسار التالي:
$ UniIR _DIR /checkpoint/BLIP_FF/Large/Instruct/InBatch/blip_ff_large.pth
سيقوم التكوين الافتراضي بتقييم نموذج UniIR BLIP_FF الكبير على كل من معايير M-BEIR وM-BEIR_local.
bash run_eval_pipeline_inbatch.sh
تقييم UniRAG يشبه إلى حد كبير التقييم الافتراضي مع الاختلافات التالية:
retrieval_results
. يعد هذا مفيدًا عندما يتم استخدام النتائج المستردة في التطبيقات النهائية مثل RAG.retrieve_image_text_pairs
في retrieval.yaml
على True
، سيتم جلب مرشح مكمل لكل مرشح بطريقة text
أو image
فقط. مع هذا الإعداد، سيكون للمرشح ومكمله دائمًا image, text
. يتم جلب المرشحين المكملين باستخدام المرشحين الأصليين كاستعلامات (على سبيل المثال، نص الاستعلام -> صورة المرشح -> نص المرشح المكمل ).InBatch
و inbatch
بـ UniRAG
و unirag
، على التوالي. نحن نقدم نقاط التفتيش النموذجية UniIR في ؟ نقاط التفتيش . يمكنك استخدام نقاط التفتيش مباشرة لمهام الاسترداد أو ضبط النماذج لمهام الاسترداد الخاصة بك.
اسم النموذج | إصدار | حجم النموذج | رابط النموذج |
---|---|---|---|
UniIR (CLIP-SF) | كبير | 5.13 جيجابايت | رابط التحميل |
UniIR (BLIP-FF) | كبير | 7.49 جيجابايت | رابط التحميل |
يمكنك تنزيلها عن طريق
git clone https://huggingface.co/TIGER-Lab/UniIR
بيبيتكس:
@article { wei2023 UniIR ,
title = { UniIR : Training and benchmarking universal multimodal information retrievers } ,
author = { Wei, Cong and Chen, Yang and Chen, Haonan and Hu, Hexiang and Zhang, Ge and Fu, Jie and Ritter, Alan and Chen, Wenhu } ,
journal = { arXiv preprint arXiv:2311.17136 } ,
year = { 2023 }
}