بناء واللعب! نموذج V&L الخاص بك المجهز بـ LLM! | بواسطة يويتشي إينوي | سبتمبر 2023


في الأوراق البحثية الخاصة بنماذج GIT، تم توضيح أنه تم استخدام مشفر رؤية قوي وتم اعتماد معلمات عشوائية لنموذج اللغة. هذه المرة، نظرًا لأن الهدف هو استخدام نموذج لغة فئة 7B في النهاية، فسيتم تطبيق نموذج مُدرب مسبقًا على نموذج اللغة. سيتم فحص الوحدات التالية من أجل الضبط الدقيق. ال إسقاط الجهاز الهضمينظرًا لكونها وحدة تمت تهيئتها، يتم تضمينها دائمًا. قد تبدو بعض المجموعات زائدة عن الحاجة، ولكن يتم استكشافها دون الاهتمام كثيرًا بهذه التجربة.

يتم إعطاء الوحدات المخصصة للتدريب تدرجات، في حين يتم تعديل الباقي بحيث لا تحتوي على تدرجات.

# تحديد المعلمات المراد تدريبها (التدريب الكل سيزيد من استخدام الذاكرة)
للاسم، p في model.model.named_parameters():
إذا كان np.any([k في اسم k في Keys_finetune]):
p.requires_grad = صحيح
آخر:
p.requires_grad = خطأ

إن Vision Encoder و LLM المستخدم في هذا الفحص هما:

  • openai/clip-vit-base-patch16
  • الفيسبوك/opt-350m

يستخدم التدريب مجموعة بيانات COCO ويستمر لمدة 5 فترات.

فيما يلي الوحدات المستهدفة التي تم تدريبها خلال كل تجربة:

  • المشروع: إسقاط الجهاز الهضمي. تتم تهيئته بشكل عشوائي، لذلك يتم تدريبه دائمًا.
  • لورا: وتم تطبيق الاستعلام والمفتاح وقيمة الاهتمام الذاتي في النموذج اللغوي.
  • يختار، يقرر: تم تدريب جميع الطبقات.
  • فيتامين: تم تدريب جميع الطبقات.
  • رأس: تم تدريب lm_head النهائي لـ OPT.

(ملاحظة: على الرغم من أنه يمكن تطبيق LoRA على ViT، ولكن لتجنب جعل التجارب معقدة للغاية، لم يتم تضمينه هذه المرة.)

يوضح هذا الرقم فقدان التدريب. Proj وLoRA وOPT وViT وHead في وسيلة الإيضاح هي الوحدات التدريبية الموضحة أعلاه. (الرقم من صنع المؤلف)

كما هو موضح في مخطط خسارة التدريب، من الواضح أن بعض المجموعات لا تؤدي أداءً جيدًا. كان هذا هو الحال عندما يتم تضمين التدريب العملي الاختياري في التدريب. على الرغم من أن جميع التجارب أجريت في ظل ظروف مماثلة إلى حد ما، إلا أن التعديلات الأكثر تفصيلاً، مثل معدل التعلم، قد تكون ضرورية عند ضبط نموذج اللغة. سيتم بعد ذلك فحص النتائج، باستثناء النماذج التي يتم تضمين التدريب العملي الاختياري فيها.

يوضح هذا الشكل فقدان التدريب دون الحصول على نتائج ضبط دقيقة كاملة. Proj وLoRA وOPT وViT وHead في وسيلة الإيضاح هي الوحدات التدريبية الموضحة أعلاه. (الرقم من صنع المؤلف)
ويبين هذا الرقم فقدان التحقق من الصحة. Proj وLoRA وOPT وViT وHead في وسيلة الإيضاح هي الوحدات التدريبية الموضحة أعلاه. (الرقم من صنع المؤلف)

انخفضت خسارة التدريب والتحقق بشكل أكبر مع الإسقاط + لورا نموذج. الضبط النهائي رأس وأظهرت الطبقة نتائج متطابقة تقريبا. إذا تم تدريب ViT أيضًا، فستظهر الخسارة أعلى قليلاً وتبدو النتائج غير مستقرة. حتى عند إضافة LoRA أثناء تدريب ViT، فإن الخسارة لا تزال مرتفعة. ولضبط هذه البيانات، يبدو أن استخدام نموذج ViT المُدرب مسبقًا دون تحديث معلماته يؤدي إلى نتائج أكثر استقرارًا. تم الاعتراف بفعالية LoRA في أماكن مختلفة، ومن الواضح من هذه التجربة أن إضافة LoRA إلى LLM أدى إلى تحسين التدريب وفقدان التحقق من الصحة.

مراجعة نتائج الاستدلال على بعض بيانات الاختبار:

نتائج سبيل المثال GIT-OPT. تم الاستشهاد بالصور من مجموعة بيانات M3IT، وتم إجراء النتائج النصية بواسطة نموذج المؤلف

عند تدريب OPT نفسه، تكون النتائج سيئة مثل نتيجة الخسارة، مما يجعل النموذج في حيرة من أمره بالنسبة للكلمات. بالإضافة إلى ذلك، عند تدريب ViT، يكون الإخراج منطقيًا من الناحية الدلالية، ولكنه يصف شيئًا مختلفًا تمامًا عن الصورة المحددة. ومع ذلك، يبدو أن النتائج الأخرى تلتقط ميزات الصور إلى حد ما. على سبيل المثال، تشير الصورة الأولى إلى "قطة" و"موزة"، أما الصورة الثانية فتشير إلى "إشارة المرور". بمقارنة النتائج مع LoRA وبدونه، يميل الأخير إلى استخدام كلمات متشابهة بشكل متكرر، ولكن يبدو أن استخدام LoRA يجعله أكثر طبيعية قليلاً. تدريب ال رأس يؤدي إلى نتائج مثيرة للاهتمام، مثل استخدام "اللعب" بدلاً من "الأكل" للصورة الأولى. ورغم وجود بعض العناصر غير الطبيعية في هذه النتائج، إلا أنه يمكن استنتاج أن التدريب كان ناجحًا في التقاط ميزات الصورة.

ولضبط الظروف في التجارب السابقة، تم استخدام نموذج لغة أصغر قليلاً، OPT-350m. الآن، الهدف هو تبديل نموذج اللغة إلى نموذج 7B. لن يقتصر الأمر على القبول بـ OPT فحسب، بل سيتم أيضًا تقديم شهادات LLM وLLaMA وMPT أقوى.

يمكن دمج هذين النموذجين بطريقة مماثلة لـ OPT. بالإشارة إلى الوظائف الأمامية لـ LlamaModel و MPTModel، قم بدمج متجهات الصورة المسقطة مع الرموز النصية، وقم بتغيير القناع من قناع الانتباه السببي ل قناع انتباه الجهاز الهضمي. هناك شيء واحد يجب ملاحظته: بالنسبة لـ MPT، فإن القناع ليس (0, -inf)، بل (False, True). ويمكن تنفيذ العمليات اللاحقة بالمثل.

لاستخدام الطراز 7B مع OPT، ما عليك سوى تغيير اسم النموذج من facebook/opt-350m إلى facebook/opt-6.7b.

بالنسبة لـ LLaMA، مع توفر LLaMA2، سيكون هذا هو النموذج المفضل. لاستخدام هذا النموذج المُدرب مسبقًا، يلزم الحصول على موافقة كل من Meta وHugging Face. الحساب ضروري لـ Hugging Face، لذا تأكد من إعداده. تأتي الموافقات عادة في غضون ساعات قليلة. بعد ذلك، قم بتسجيل الدخول إلى Hugging Face على المحطة حيث يتم تنفيذ التدريب.

Huggingface-cli تسجيل الدخول

يمكنك تسجيل الدخول باستخدام الرمز المميز الذي تم إنشاؤه في حساب Hugging Face → الإعدادات → رمز الوصول.

تظل معلمات التدريب متسقة، باستخدام مجموعة بيانات COCO وتستمر لمدة 3 عصور. استنادا إلى نتائج التجربة 1، تم تعيين الوحدات للضبط الدقيق الإسقاط + لورا.

دعونا نلقي نظرة على النتائج.

يوضح هذا الشكل فقدان التدريب (الرقم الذي قدمه المؤلف)
يوضح هذا الشكل فقدان التحقق من الصحة (الشكل الذي قدمه المؤلف)

بمراجعة الخسارة، من الواضح أن النماذج التي تستخدم LLaMA2 وMPT كـ LLM تظهر انخفاضًا مرضيًا أكثر. دعونا نلاحظ أيضا نتائج الاستدلال.

نتائج نموذجية لـ GIT-LLMs. تم الاستشهاد بالصور من مجموعة بيانات M3IT، وتم إجراء النتائج النصية بواسطة نموذج المؤلف

فيما يتعلق بالصورة الأولى، بالنسبة لجميع الطرازات، تبدو التعبيرات أكثر طبيعية مقارنة بـ OPT-350m. لا توجد تعبيرات غريبة مثل "موزة بموزة"، مما يسلط الضوء على قوة LLM. بالنسبة للصورة الثانية، لا تزال هناك بعض الصعوبة في استخدام عبارات مثل "إشارة المرور" أو "المبنى". بالنسبة لمثل هذه الصور المعقدة، قد تكون هناك حاجة إلى النظر في ترقية نموذج ViT.

أخيرًا، دعونا نجري استنتاجًا على الصور التي أصبحت شائعة مع GPT-4.

نتائج نموذجية لـ GIT-LLMs. الصورة مقتبسة من هنا، وتم عمل النتائج النصية بواسطة نماذج المؤلف

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

ونظرًا للنتائج المخيبة للآمال للتجربة السابقة، فقد تقرر دمج بيانات أخرى غير COCO للتدريب. تعد مجموعة بيانات M3IT المستخدمة حاليًا شاملة تمامًا، ويمكنها التعامل مع كمية كبيرة من البيانات بنفس تنسيق COCO.

هذا الجدول مقتبس من الجدول 3 في "M3IT: مجموعة بيانات واسعة النطاق نحو ضبط التعليمات متعددة الوسائط ومتعددة اللغات"

الغرض منه هو استخدام البيانات من هذا المصدر باستثناء الفئتين "الصينية" و"الفيديو". في الأصل، كانت مجموعة بيانات التدريب COCO تحتوي على 566,747 قطعة من البيانات. ومن خلال دمجها مع مصادر إضافية، ارتفع هذا إلى 1,361,650. على الرغم من أن الحجم قد تضاعف تقريبًا، يُعتقد أن مجموعة البيانات أصبحت ذات جودة أعلى بسبب زيادة تنوع المهام.

يمكن التعامل بسهولة مع مجموعات بيانات Pytorch المتعددة باستخدام ConcatDataset.

قائمة البيانات = [
datasets.load_dataset("MMInstruction/M3IT"، i) for i في m3it_name_list
]
Train_dataset = torch.utils.data.ConcatDataset([d["train"] for d in dataset_list])

تم إجراء التدريب لمدة حقبة واحدة، وتم استخدام نموذج LLaMA2 لضبط الإسقاط وLoRA، على غرار التجربة 2.

نظرًا لعدم وجود خسارة للمقارنة بهذا الوقت، فلنتعمق مباشرة في نتائج الاستدلال.

نتائج سبيل المثال GIT-LLaMA2. تم الاستشهاد بالصور من مجموعة بيانات M3IT، وتم إجراء النتائج النصية بواسطة نموذج المؤلف
نتائج سبيل المثال GIT-LLaMA2. تم الاستشهاد بالصور من مجموعة بيانات M3IT، وتم إجراء النتائج النصية بواسطة نموذج المؤلف
نتائج سبيل المثال GIT-LLaMA2. تم الاستشهاد بالصور من مجموعة بيانات M3IT، وتم إجراء النتائج النصية بواسطة نموذج المؤلف

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

دعونا نختبر ذلك مع الصورة المثال التالية. ونظرًا للتنوع المتزايد في مجموعة البيانات، تم تعديل طريقة عرض الأسئلة بشكل طفيف.

نتائج سبيل المثال GIT-LLaMA2. الصورة مقتبسة من هنا، وتم عمل النتائج النصية بواسطة نماذج المؤلف

على الرغم من أن وصف "المظلة" لا يزال شائعًا، إلا أنه يبدو وكأنه يتحسن. لمزيد من التحسين، هناك حاجة إلى زيادة عدد فترات التدريب، وإضافة المزيد من أنواع أو أحجام مجموعات البيانات، والاستفادة من ViT أو LLM الأكثر قوة. ومع ذلك، فمن المثير للإعجاب أن مثل هذا النموذج يمكن تطويره في نصف يوم فقط بالنظر إلى الموارد الحسابية والبيانية.



رابط المصدر

اترك رد

لن يتم نشر عنوان بريدك الإلكتروني. الحقول المطلوبة مشار إليها *

يمكنك استخدام علامات وسمات HTML هذه: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

arArabic