Home
Login

🤗 PEFT هي مكتبة متقدمة لضبط الدقة الفعالة للمعلمات تم تطويرها بواسطة Hugging Face، وتنفذ ضبط الدقة منخفض التكلفة للنماذج الكبيرة من خلال تقنيات مثل LoRA و AdaLoRA.

Apache-2.0Python 18.8khuggingface Last Updated: 2025-06-19

🤗 PEFT - مقدمة تفصيلية لمكتبة الضبط الدقيق الفعال للمعلمات

نظرة عامة على المشروع

PEFT (Parameter-Efficient Fine-Tuning) هي مكتبة متقدمة للضبط الدقيق الفعال للمعلمات تم تطويرها بواسطة Hugging Face. يهدف هذا المشروع إلى حل مشكلة التكلفة الحسابية العالية ومتطلبات التخزين الضخمة في عملية الضبط الدقيق للنماذج الكبيرة المدربة مسبقًا.

عنوان GitHub: https://github.com/huggingface/peft

القيم والمزايا الأساسية

1. فعالية التكلفة

  • تقليل كبير في التكلفة الحسابية: مقارنة بالضبط الدقيق الكامل للمعلمات التقليدي، تتطلب طرق PEFT تدريب جزء صغير فقط من معلمات النموذج.
  • تقليل كبير في متطلبات التخزين: عادةً ما تكون ملفات نقاط التفتيش للنماذج المضبوطة بدقة بضعة ميغابايت فقط، بدلاً من عدة غيغابايت.
  • تحسين استخدام الذاكرة: القدرة على معالجة نماذج أكبر في ظل نفس ظروف الأجهزة.

2. الحفاظ على الأداء

  • أداء مماثل للضبط الدقيق الكامل للمعلمات: تحقيق أداء مماثل للضبط الدقيق الكامل في معظم المهام.
  • تجنب النسيان الكارثي: حماية المعرفة الأصلية للنموذج الأساسي وتقليل خطر التجاوز.

3. المرونة والراحة

  • التكيف مع مهام متعددة: القدرة على تدريب العديد من المحولات خفيفة الوزن لمهام مختلفة.
  • تكامل سلس: تكامل مثالي مع الأنظمة البيئية مثل Transformers و Diffusers و Accelerate.

طرق الضبط الدقيق المدعومة

تقنيات PEFT الرئيسية

  1. LoRA (Low-Rank Adaptation)
  • الطريقة الأكثر شيوعًا للضبط الدقيق الفعال للمعلمات.
  • تقليل كبير في المعلمات القابلة للتدريب من خلال تحليل المصفوفة منخفضة الرتبة.
  • في السيناريوهات النموذجية، يتطلب تدريب 0.1٪ - 1٪ فقط من المعلمات الأصلية.
  1. AdaLoRA
  • نسخة محسنة من LoRA.
  • تعديل حجم الرتبة بشكل تكيفي، مما يزيد من تحسين الكفاءة.
  1. Prefix Tuning
  • إضافة بادئة قابلة للتعلم إلى تسلسل الإدخال.
  • مناسب لمهام الإنشاء.
  1. P-Tuning v2
  • طريقة محسنة لضبط المطالبات.
  • إضافة معلمات قابلة للتعلم في طبقات متعددة.
  1. IA³ (Infused Adapter by Inhibiting and Amplifying Inner Activations)
  • تكييف النموذج عن طريق تثبيط وتضخيم التنشيطات الداخلية.

تأثير التطبيق العملي

مقارنة استخدام الذاكرة (A100 80GB GPU)

النموذج الضبط الدقيق الكامل للمعلمات PEFT-LoRA PEFT-LoRA + DeepSpeed CPU Offload
T0_3B (3 مليارات معلمة) 47.14GB GPU / 2.96GB CPU 14.4GB GPU / 2.96GB CPU 9.8GB GPU / 17.8GB CPU
mt0-xxl (120 مليار معلمة) نفاد الذاكرة 56GB GPU / 3GB CPU 22GB GPU / 52GB CPU
bloomz-7b1 (7 مليارات معلمة) نفاد الذاكرة 32GB GPU / 3.8GB CPU 18.1GB GPU / 35GB CPU

أداء

مقارنة دقة في مهمة تصنيف شكاوى Twitter:

  • خط الأساس البشري: 89.7٪
  • Flan-T5: 89.2٪
  • LoRA-T0-3B: 86.3٪

التثبيت والبدء السريع

التثبيت

pip install peft

مثال على الاستخدام الأساسي

from transformers import AutoModelForSeq2SeqLM
from peft import get_peft_config, get_peft_model, LoraConfig, TaskType

# تكوين PEFT
model_name_or_path = "bigscience/mt0-large"
peft_config = LoraConfig(
    task_type=TaskType.SEQ_2_SEQ_LM, 
    inference_mode=False, 
    r=8, 
    lora_alpha=32, 
    lora_dropout=0.1
)

# تحميل وتغليف النموذج
model = AutoModelForSeq2SeqLM.from_pretrained(model_name_or_path)
model = get_peft_model(model, peft_config)

# عرض المعلمات القابلة للتدريب
model.print_trainable_parameters()
# الإخراج: trainable params: 2359296 || all params: 1231940608 || trainable%: 0.19

استخدام الاستدلال

from peft import AutoPeftModelForCausalLM
from transformers import AutoTokenizer

# تحميل النموذج المضبوط بدقة
model = AutoPeftModelForCausalLM.from_pretrained("ybelkada/opt-350m-lora").to("cuda")
tokenizer = AutoTokenizer.from_pretrained("facebook/opt-350m")

# إجراء الاستدلال
model.eval()
inputs = tokenizer("نص الإدخال الخاص بك", return_tensors="pt")
outputs = model.generate(input_ids=inputs["input_ids"].to("cuda"), max_new_tokens=50)

تكامل النظام البيئي

1. تكامل Transformers

  • دعم مختلف هياكل النماذج المدربة مسبقًا.
  • تدفقات تدريب واستدلال سلسة.
  • تكوين وتحسين تلقائي للنموذج.

2. تكامل Diffusers

  • دعم الضبط الدقيق الفعال للنماذج الانتشارية.
  • مناسب لإنشاء الصور وتحريرها وما إلى ذلك.
  • تقليل كبير في متطلبات ذاكرة التدريب.

3. تكامل Accelerate

  • دعم التدريب الموزع.
  • تحسين التدريب على وحدات معالجة الرسومات المتعددة و TPUs.
  • سهل الاستخدام للأجهزة الاستهلاكية.

4. تكامل TRL (Transformer Reinforcement Learning)

  • دعم RLHF (التعلم المعزز من ردود الفعل البشرية).
  • DPO (التحسين المباشر للتفضيلات).
  • تدريب محاذاة النماذج الكبيرة.

سيناريوهات التطبيق

1. الضبط الدقيق للنماذج اللغوية الكبيرة

  • الضبط الدقيق للتعليمات.
  • تحسين أنظمة المحادثة.
  • التكيف مع مجالات محددة.

2. نماذج متعددة الوسائط

  • الضبط الدقيق لنماذج الرؤية واللغة.
  • تكييف نماذج معالجة الصوت.

3. نماذج الانتشار

  • تخصيص Stable Diffusion.
  • تدريب DreamBooth.
  • تحويل الأنماط.

4. التعلم المعزز

  • الضبط الدقيق لنماذج السياسة.
  • تدريب نماذج المكافآت.
  • محاذاة التفضيلات البشرية.

المزايا التقنية والابتكارات

1. كفاءة المعلمات

  • تدريب 0.1٪ - 1٪ فقط من المعلمات الأصلية.
  • الحفاظ على أكثر من 95٪ من الأداء.
  • تقليل حجم ملفات نقاط التفتيش إلى 1/100 من الأصل.

2. تحسين الذاكرة

  • تقليل كبير في متطلبات ذاكرة GPU.
  • دعم تدريب النماذج الكبيرة على الأجهزة الاستهلاكية.
  • نقاط تفتيش التدرج لتحسين الذاكرة بشكل أكبر.

3. توافق القياس الكمي

  • تكامل مثالي مع القياس الكمي 8 بت و 4 بت.
  • دعم تقنية QLoRA.
  • زيادة خفض عتبة الأجهزة.

4. تصميم معياري

  • دعم طرق PEFT المتعددة.
  • خيارات تكوين مرنة.
  • سهولة توسيع الطرق الجديدة.

المجتمع والنظام البيئي

الموارد الرسمية

  • الوثائق: https://huggingface.co/docs/peft
  • مكتبة النماذج: https://huggingface.co/PEFT
  • أجهزة الكمبيوتر المحمولة النموذجية: تغطي مختلف سيناريوهات التطبيق.
  • دروس المدونة: شرح تقني مفصل وأفضل الممارسات.

ملخص

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