مواءمة MLLMs من خلال تعليقات AI مفتوحة المصدر للحصول على موثوقية Super GPT-4V
中文 | إنجليزي
[2024.11.26] نحن ندعم تدريب LoRA الآن!
[2024.05.28] ورقتنا متاحة الآن على arXiv!
[2024.05.20] يتم استخدام مجموعة بيانات RLAIF-V لتدريب MiniCPM-Llama3-V 2.5، والذي يمثل أول مستوى GPT-4V للجانب النهائي MLLM!
[2024.05.20] نحن نفتح المصدر للكود والأوزان (7B، 12B) وبيانات RLAIF-V!
نقدم RLAIF-V، وهو إطار عمل جديد يعمل على محاذاة MLLMs في نموذج مفتوح المصدر بالكامل للحصول على موثوقية GPT-4V الفائقة. يستغل RLAIF-V إلى أقصى حد ردود الفعل مفتوحة المصدر من منظورين رئيسيين، بما في ذلك بيانات التعليقات عالية الجودة وخوارزمية تعلم التعليقات عبر الإنترنت. تشمل الميزات البارزة لـ RLAIF-V ما يلي:
الجدارة بالثقة الفائقة لـ GPT-4V عبر التعليقات مفتوحة المصدر . من خلال التعلم من تعليقات الذكاء الاصطناعي مفتوحة المصدر، يحقق RLAIF-V 12B جدارة بالثقة الفائقة لـ GPT-4V في كل من المهام التوليدية والتمييزية.
بيانات تعليقات قابلة للتعميم عالية الجودة . إن بيانات التعليقات التي يستخدمها RLAIF-V تقلل بشكل فعال من هلوسة MLLMs المختلفة .
⚡️ تعلم فعال بالتغذية الراجعة من خلال المحاذاة التكرارية. يُظهر RLAIF-V كفاءة تعلم أفضل وأداء أعلى مقارنةً بالنهج غير التكراري.
مجموعة البيانات
ثَبَّتَ
الأوزان النموذجية
الاستدلال
توليد البيانات
يدرب
تقييم
كائن هالبينش
ممهال مقعد
RefoMB
الاقتباس
نقدم مجموعة بيانات RLAIF-V، وهي عبارة عن مجموعة بيانات تفضيلية تم إنشاؤها بواسطة الذكاء الاصطناعي وتغطي مجموعة متنوعة من المهام والمجالات. تحتوي مجموعات بيانات التفضيلات متعددة الوسائط مفتوحة المصدر هذه على 83,132 زوج مقارنة عالي الجودة . تحتوي مجموعة البيانات على أزواج التفضيلات التي تم إنشاؤها في كل تكرار تدريبي لنماذج مختلفة، بما في ذلك LLaVA 1.5 7B وOmniLMM 12B وMiniCPM-V.
انسخ هذا المستودع وانتقل إلى مجلد RLAIF-V
استنساخ البوابة https://github.com/RLHF-V/RLAIF-V.gitcd RLAIF-V
تثبيت الحزمة
conda create -n rlaifv python=3.10 -y كوندا تفعيل rlaifv تثبيت النقطة -e .
تثبيت نموذج SpaCy المطلوب
wget https://github.com/explosion/spacy-models/releases/download/en_core_web_trf-3.7.3/en_core_web_trf-3.7.3.tar.gz تثبيت النقطة en_core_web_trf-3.7.3.tar.gz
نموذج | وصف | تحميل |
---|---|---|
رليف-V 7B | البديل الأكثر جدارة بالثقة في LLaVA 1.5 | ؟ |
رليف-V 12B | استنادًا إلى OmniLMM-12B، يحقق موثوقية فائقة لـ GPT-4V. | ؟ |
نقدم مثالاً بسيطًا لتوضيح كيفية استخدام RLAIF-V.
من استيراد الدردشة RLAIFVChat, img2base64chat_model = RLAIFVChat('openBMB/RLAIF-V-7B') # أو 'openBMB/RLAIF-V-12B'image_path="./examples/test.jpeg"msgs = "وصف الأشخاص بالتفصيل في الصورة."inputs = {"image": image_path, "question": msgs}answer = chat_model.chat (المدخلات) طباعة (الإجابة)
يمكنك أيضًا تشغيل هذا المثال عن طريق تنفيذ البرنامج النصي التالي:
بيثون chat.py
سؤال:
لماذا توقفت السيارة في الصورة؟
المخرجات المتوقعة:
وفي الصورة سيارة متوقفة على الطريق بسبب وجود خروف على الطريق. من المحتمل أن تتوقف السيارة للسماح للأغنام بالتحرك بأمان بعيدًا عن الطريق أو تجنب أي حوادث محتملة مع الحيوان. ويسلط هذا الوضع الضوء على أهمية توخي الحذر والانتباه أثناء القيادة، خاصة في المناطق التي قد تتجول فيها الحيوانات بالقرب من الطرق.
إعداد البيئة
نحن نقدم نموذج OmniLMM 12B ونموذج MiniCPM-Llama3-V 2.5 لتوليد التعليقات. إذا كنت ترغب في استخدام MiniCPM-Llama3-V 2.5 لتقديم التعليقات، فيرجى تكوين بيئة الاستدلال الخاصة به وفقًا للتعليمات الموجودة في مستودع MiniCPM-V GitHub.
يرجى تنزيل نماذج Llama3 8B المضبوطة لدينا: النموذج المقسم ونموذج تحويل الأسئلة، وتخزينهما في المجلد ./models/llama3_split
والمجلد ./models/llama3_changeq
على التوالي.
تعليقات حول طراز OmniLMM 12B
يوضح البرنامج النصي التالي استخدام نموذج LLaVA-v1.5-7b لإنشاء إجابات المرشحين ونموذج OmniLMM 12B لتقديم التعليقات.
مكدير ./results باش ./script/data_gen/run_data_pipeline_llava15_omni.sh
ملاحظات نموذج MiniCPM-Llama3-V 2.5
يوضح البرنامج النصي التالي استخدام نموذج LLaVA-v1.5-7b لإنشاء إجابات المرشحين ونموذج MiniCPM-Llama3-V 2.5 لتقديم التعليقات. أولاً، استبدل minicpmv_python
في ./script/data_gen/run_data_pipeline_llava15_minicpmv.sh
بمسار Python الخاص ببيئة MiniCPM-V التي قمت بإنشائها.
مكدير ./results باش ./script/data_gen/run_data_pipeline_llava15_minicpmv.sh
تحضير البيانات (اختياري)
إذا كان بإمكانك الوصول إلى مجموعة بيانات Huggingface، فيمكنك تخطي هذه الخطوة، وسنقوم تلقائيًا بتنزيل مجموعة بيانات RLAIF-V.
إذا قمت بالفعل بتنزيل مجموعة البيانات، فيمكنك استبدال "openbmb/RLAIF-V-Dataset" بمسار مجموعة البيانات الخاصة بك هنا في السطر 38.
تمرين
نقدم هنا نصًا تدريبيًا لتدريب النموذج في تكرار واحد . يجب تعديل المعلمة max_step
وفقًا لكمية بياناتك.
ضبط دقيق بالكامل
قم بتشغيل الأمر التالي لبدء الضبط الدقيق بالكامل.
باش ./script/train/llava15_train.sh
لورا
قم بتشغيل الأمر التالي لبدء تدريب Lora.
نقطة تثبيت peft باش ./script/train/llava15_train_lora.sh
المحاذاة التكرارية
لإعادة إنتاج عملية التدريب التكرارية في الورقة، عليك القيام بالخطوات التالية لمدة 4 مرات:
S1. توليد البيانات.
اتبع الإرشادات الموجودة في إنشاء البيانات لإنشاء أزواج التفضيلات للنموذج الأساسي. قم بتحويل ملف jsonl الذي تم إنشاؤه إلى الباركيه المعانق.
S2. تغيير تكوين التدريب
في كود مجموعة البيانات، استبدل 'openbmb/RLAIF-V-Dataset'
هنا في مسار البيانات.
في البرنامج النصي للتدريب، استبدل --data_dir
بدليل جديد، واستبدل --model_name_or_path
بمسار النموذج الأساسي، واضبط --max_step
على عدد الخطوات لمدة 4 حقبة، واضبط --save_steps
على عدد الخطوات لمدة 1/4 حقبة .
S3. قم بتدريب DPO.
قم بتشغيل البرنامج النصي للتدريب لتدريب النموذج الأساسي.
S4. اختر النموذج الأساسي للتكرار التالي.
قم بتقييم كل نقطة تفتيش على Object HalBench وMMHal Bench، واختر نقطة التفتيش الأفضل أداءً كنموذج أساسي في التكرار التالي.
قم بإعداد التعليقات التوضيحية لـ COCO2014
يعتمد تقييم Object HalBench على التعليقات التوضيحية والتعليقات التوضيحية للتجزئة من مجموعة بيانات COCO2014. يرجى أولاً تنزيل مجموعة بيانات COCO2014 من الموقع الرسمي لمجموعة بيانات COCO.
mkdir coco2014cd coco2014 wget http://images.cocodataset.org/annotations/annotations_trainval2014.zip فك ضغط التعليقات التوضيحية_trainval2014.zip
الاستدلال والتقييم والتلخيص
يرجى استبدال {YOUR_OPENAI_API_KEY}
بمفتاح OpenAI API صالح.
ملاحظة: يعتمد التقييم على gpt-3.5-turbo-0613
.
# cd RLAIF-Vbash ./script/eval/eval_rlaifv_objhal.sh ./RLAIF-V_weight ./results/RLAIF-V ./coco2014/annotations {YOUR_OPENAI_API_KEY}
إعداد بيانات MMHal
يرجى تنزيل بيانات تقييم MMHal هنا، وحفظ الملف في eval/data
.
قم بتشغيل البرنامج النصي التالي لإنشاء MMHal Bench:
ملاحظة: يعتمد التقييم على gpt-4-1106-preview
.
# cd RLAIF-Vbash ./script/eval/eval_rlaifv_mmhal.sh ./RLAIF-V_weight ./results/RLAIF-V {YOUR_OPENAI_API_KEY}
تحضير
لاستخدام تقييم GPT-4، يرجى تشغيل pip install openai==0.28
أولاً لتثبيت حزمة openai. بعد ذلك، قم بتغيير openai.base
و openai.api_key
في eval/gpt4.py
إلى الإعداد الخاص بك.
يمكن العثور على بيانات التقييم لمجموعة التطوير على eval/data/RefoMB_dev.jsonl
. تحتاج إلى تنزيل كل صورة من مفتاح image_url
في كل سطر.
التقييم للنتيجة الإجمالية
احفظ إجابتك النموذجية في مفتاح answer
لملف بيانات الإدخال eval/data/RefoMB_dev.jsonl
، على سبيل المثال:
{ "image_url": "https://thunlp.oss-cn-qingdao.aliyuncs.com/multimodal_openmme_test_20240319__20.jpg", "question": "What is the background of the image?", "type": "Coarse Perception", "split": "dev", "answer": "The background of the image features trees, suggesting that the scene takes place outdoors.", "gt_description": "......" }
قم بتشغيل البرنامج النصي التالي لتقييم نتيجة النموذج الخاص بك:
save_dir="YOUR SAVING DIR" model_ans_path="YOUR MODEL ANSWER PATH" model_name="YOUR MODEL NAME" bash ./script/eval/run_refobm_overall.sh $save_dir $model_ans_path $model_name
تقييم لدرجة الهلوسة
بعد تقييم النتيجة الإجمالية، سيتم إنشاء ملف نتائج التقييم بالاسم A-GPT-4V_B-${model_name}.json
. باستخدام ملف نتائج التقييم هذا لحساب درجة الهلوسة على النحو التالي:
eval_result="EVAL RESULT FILE PATH, e.g. 'A-GPT-4V_B-${model_name}'" # Do not include ".json" in your file path! bash ./script/eval/run_refomb_hall.sh $eval_result
ملاحظة: للحصول على استقرار أفضل، ننصحك بالتقييم أكثر من 3 مرات واستخدام متوسط النتيجة كنتيجة نهائية للنموذج.
إشعارات الاستخدام والترخيص : البيانات والتعليمات البرمجية ونقاط التفتيش مخصصة ومرخصة للاستخدام البحثي فقط. كما أنها تقتصر أيضًا على الاستخدامات التي تتبع اتفاقية ترخيص LLaMA وVicuna وChat GPT. مجموعة البيانات هي CC BY NC 4.0 (تسمح فقط بالاستخدام غير التجاري) ولا ينبغي استخدام النماذج التي تم تدريبها باستخدام مجموعة البيانات خارج أغراض البحث.
RLHF-V: قاعدة التعليمات البرمجية التي بنينا عليها.
LLaVA: نموذج التعليمات ونموذج الملصق لـ RLAIF-V-7B.
MiniCPM-V: نموذج التعليمات ونموذج الملصق لـ RLAIF-V-12B.
إذا وجدت النموذج/الرمز/البيانات/الورقة الخاصة بنا مفيدة، فيرجى التفكير في الاستشهاد بأوراقنا وتمييزنا بنجمة ️!
@article{yu2023rlhf, title={Rlhf-v: نحو خدمات تعليمية جديرة بالثقة عبر مواءمة السلوك من ردود الفعل الإنسانية التصحيحية الدقيقة}، المؤلف={Yu, Tianyu and Yao, Yuan and Zhang, Haoye and He, Taiwen and Han, Yifeng and Cui وGanqu وHu وJinyi وLiu وZhiyuan وZheng وHai-Tao وSun وMaosong وآخرون}، Journal={arXiv preprint arXiv:2312.00849}, year={2023}}@article{yu2024rlaifv, title={RLAIF-V: محاذاة MLLMs من خلال تعليقات الذكاء الاصطناعي مفتوحة المصدر لجدارة الثقة الفائقة GPT-4V}، المؤلف={Yu, Tianyu وتشانغ وهاوي وياو ويوان ودانغ ويونكاي وتشين ودا و لو، شياومان وتسوي، غانكو وهو، تايوين وليو، تشي يوان وتشوا، تات سينغ وصن، ماوسونغ}، مجلة={arXiv preprint arXiv:2405.17220}، سنة={2024}، }