Transformers documentation
FLAN-UL2
تمت مساهمة هذا النموذج في Hugging Face Transformers في 2023-06-20.
FLAN-UL2
نظرة عامة
Flan-UL2 هو نموذج مُشفِّر-مُفكِّك (encoder-decoder) مبني على معمارية T5. يستخدم نفس الإعدادات المستخدمة في نموذج UL2 الذي تم إصداره في وقت سابق من العام الماضي.
تم ضبطه بدقة باستخدام تقنية ضبط الاستعلامات "Flan" ومجموعة البيانات الخاصة بها. وبالمثل مع Flan-T5، يمكن استخدام أوزان FLAN-UL2 مباشرة دون الحاجة إلى ضبط النموذج بدقة:
وفقاً للمدونة الأصلية، هذه أبرز التحسينات:
- تم تدريب نموذج UL2 الأصلي فقط بحقل استقبال يبلغ 512، مما جعله غير مثالي للاستدلال متعدد الأمثلة (N-shot prompting) عندما يكون N كبيراً.
- يستخدم نقطة التفتيش Flan-UL2 مجال استقبال يبلغ 2048، مما يجعلها أكثر قابلية للاستخدام في التعلم السياقي بعدد قليل من الأمثلة.
- كانت نموذج UL2 الأصلي يحتوي أيضاً على رموز تبديل وضع كانت ضرورية إلى حد كبير للحصول على أداء جيد. ومع ذلك، كانت هذه الرموز متعبة بعض الشيء، إذ تتطلب غالباً إجراء بعض التغييرات أثناء الاستدلال أو الضبط الدقيق. في هذا التحديث/التغيير، واصلنا تدريب UL2 20B لـ 100 ألف خطوة إضافية (مع دفعة صغيرة) لتنسيه "رموز الوضع" قبل تطبيق ضبط التعليمات الخاص بـ Flan. لا يتطلب نقطة الفحص Flan-UL2 هذه رموز الوضع بعد الآن. أصدرت Google المتغيرات التالية:
يمكن العثور على نقاط التفتيش الأصلية هنا.
التشغيل على أجهزة ذات موارد محدودة
النموذج ثقيل إلى حد كبير (حوالي 40 غيغابايت بدقة نصفية)، لذا إذا كنت ترغب فقط في تشغيل النموذج، فتأكد من تحميله بدقة 8 بت، واستخدم device_map="auto" للتأكد من عدم حدوث أي مشكلة نفاد ذاكرة!
from transformers import AutoModelForSeq2SeqLM, AutoTokenizer, BitsAndBytesConfig
model = AutoModelForSeq2SeqLM.from_pretrained("google/flan-ul2", quantization_config=BitsAndBytesConfig(load_in_8bit=True), device_map="auto")
tokenizer = AutoTokenizer.from_pretrained("google/flan-ul2")
inputs = tokenizer("A step by step recipe to make bolognese pasta:", return_tensors="pt").to(model.device)
outputs = model.generate(**inputs)
print(tokenizer.batch_decode(outputs, skip_special_tokens=True))
['In a large skillet, brown the ground beef and onion over medium heat. Add the garlic']Update on GitHubراجع صفحة توثيق T5 للاطلاع على مرجع واجهة برمجة التطبيقات، والنصائح، وأمثلة الأكواد، ودفاتر الملاحظات.