الدرس 4 من 24

فهم الضبط الدقيق

اختيار نهجك

3 دقيقة للقراءة

الآن بعد أن فهمت طرق الضبط الدقيق المختلفة، لنبني إطار قرار لمساعدتك في اختيار النهج الصحيح لوضعك المحدد.

شجرة القرار

البداية: هل تحتاج لتخصيص نموذج؟
├─ لا → استخدم النموذج الأساسي مع توجيه جيد
└─ نعم → كم VRAM لديك؟
         ├─ <8GB → استخدم ضبط API (OpenAI، Together AI)
         ├─ 8-16GB → QLoRA على نماذج 7-8B
         ├─ 16-24GB → QLoRA على نماذج 7-70B
         └─ 24GB+ → LoRA أو QLoRA على أي نموذج

الأسئلة الرئيسية للطرح

1. ما عتادك؟

VRAM النهج الموصى الحجم الأقصى للنموذج
8GB QLoRA + Unsloth 7B
16GB QLoRA + Unsloth 13B
24GB QLoRA أو LoRA 70B (QLoRA)
48GB+ LoRA أو ضبط كامل 70B (LoRA)

2. ما هدفك؟

الهدف الطريقة الموصاة لماذا
تعليم معرفة المجال SFT يتدرب على أزواج التعليمة-الاستجابة
تحسين جودة الاستجابة SFT + DPO DPO يحاذي المخرجات للتفضيلات
تغيير صيغة الإخراج SFT سهل لتعلم المخرجات المهيكلة
تقليل المخرجات الضارة DPO تعلم التفضيل مثالي
تخصيص أقصى ضبط دقيق كامل يحدّث كل المعاملات

3. كم بيانات لديك؟

حجم مجموعة البيانات التوصية
<100 مثال استخدم التوجيه بأمثلة قليلة بدلاً
100-1,000 SFT مع LoRA، راقب الإفراط في التعلم
1,000-10,000 SFT مع LoRA، النطاق الأمثل
10,000+ SFT + DPO، أو اعتبر الضبط الكامل

التوصيات العملية

لمعظم المستخدمين: QLoRA + SFT

# تكوين "الافتراضي الآمن"
from peft import LoraConfig
from transformers import BitsAndBytesConfig

# التكميم 4-bit
bnb_config = BitsAndBytesConfig(
    load_in_4bit=True,
    bnb_4bit_quant_type="nf4",
    bnb_4bit_compute_dtype=torch.bfloat16
)

# تكوين LoRA
lora_config = LoraConfig(
    r=16,
    lora_alpha=16,
    target_modules="all-linear",
    lora_dropout=0.0
)

لماذا يعمل هذا:

  • يناسب GPUs المستهلك (8-24GB)
  • جودة ممتازة لمعظم المهام
  • تدريب سريع (ساعات، ليس أيام)
  • سهل للتكرار والتجريب

للسرعة: Unsloth

from unsloth import FastLanguageModel

model, tokenizer = FastLanguageModel.from_pretrained(
    model_name="unsloth/Llama-3.2-3B-Instruct",
    max_seq_length=2048,
    load_in_4bit=True
)

لماذا يعمل هذا:

  • أسرع مرتين من التدريب القياسي
  • 70% أقل استخدام VRAM
  • نفس جودة النتائج

للجودة: خط أنابيب SFT + DPO

الخطوة 1: SFT (الضبط الدقيق المُشرف عليه)
          التدريب على أزواج التعليمة-الاستجابة
الخطوة 2: DPO (التحسين المباشر للتفضيلات)
          التدريب على أزواج التفضيل (مختار/مرفوض)
النتيجة: نموذج مع المهارات والمحاذاة معاً

الأخطاء الشائعة لتجنبها

1. تخطي جودة البيانات

خطأ: "سأرمي 50,000 مثال عليه" صواب: 1,000 مثال عالي الجودة يتفوق على 50,000 مثال مشوش

2. الإفراط في التعلم على مجموعات بيانات صغيرة

خطأ: التدريب لـ 10 epochs على 500 مثال صواب: 1-3 epochs، استخدم مجموعة تحقق، راقب الخسارة

3. حجم النموذج الخاطئ

خطأ: ضبط 70B عندما 7B يكفي صواب: ابدأ صغيراً، كبّر فقط إذا احتجت

4. تجاهل اختيار النموذج الأساسي

خطأ: ضبط أي نموذج عشوائي صواب: اختر نموذجاً أساسياً جيداً بالفعل في نوع مهمتك

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

وضعك افعل هذا
أول ضبط دقيق QLoRA + Unsloth على Llama 3.2 3B
تحتاج جودة إنتاج QLoRA على Llama 3.2 8B أو Mistral 7B
VRAM محدود QLoRA + Unsloth، gradient checkpointing
تحتاج أفضل جودة ممكنة LoRA على 70B أو ضبط كامل

قائمة التحقق الملخصة

قبل أن تبدأ الضبط الدقيق:

  • حددت مقاييس نجاح واضحة
  • جمعت 500+ مثال تدريب عالي الجودة
  • اخترت نموذجاً أساسياً مناسباً للمهمة
  • تحققت أن العتاد يستطيع التعامل مع النهج المختار
  • أعددت مجموعة تحقق (10-20% من البيانات)
  • أعددت تتبع التجارب (wandb، mlflow)

في الوحدة التالية، سنتعمق في إعداد مجموعة بيانات التدريب—العامل الأكثر أهمية لنجاح الضبط الدقيق. :::

اختبار

الوحدة 1: فهم الضبط الدقيق

خذ الاختبار