إنتقل إلى المحتوى الرئيسي

الفصل 2: تقنيات دمج النماذج

دمج النماذج للحصول على نتائج أفضل​

دمج النماذج يجمع بين نماذج متعددة محسنة في نموذج واحد.


طرق الدمج​

الطريقةالوصفالأفضل لـ
خطيمتوسط الأوزاندمج بسيط
SLERPاستيفاء كرويدمج سلس
TIESحل النزاعاتخبراء متعددون
DAREإسقاط وإعادة قياسنماذج متنوعة

دمج LoRA​

# دمج LoRA في النموذج الأساسي
from peft import PeftModel

model = PeftModel.from_pretrained(base_model, "adapter_path")
merged_model = model.merge_and_unload()
merged_model.save_pretrained("merged_model")

مثال MergeKit​

# config.yaml
slices:
- sources:
- model: base_model
layer_range: [0, 32]
- model: finetuned_model
layer_range: [0, 32]
merge_method: slerp
base_model: base_model
parameters:
t: 0.5 # عامل الاستيفاء
dtype: bfloat16
mergekit-yaml config.yaml ./merged_output

متى يتم الدمج​

✅ ادمج عندما:

  • تجمع بين نماذج مخصصة لمهام معينة
  • تنشر بنية أبسط
  • لا حاجة لتبديل المحولات

❌ احتفظ بها منفصلة عندما:

  • تحتاج إلى تبديل المهام ديناميكيًا
  • التخزين محدود
  • ترغب في تحديث المهام بشكل مستقل

تابع إلى الفصل 3 →