الدرس 17 من 24

المحاذاة مع DPO

DPO مقابل RLHF

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

التحسين المباشر للتفضيلات (DPO) أحدث ثورة في كيفية محاذاة نماذج اللغة. دعنا نفهم لماذا يُفضّل على RLHF التقليدي.

ما هي المحاذاة؟

المحاذاة تضمن أن مخرجات النموذج تطابق التفضيلات البشرية:

  • استجابات مفيدة ودقيقة
  • سلوك آمن وغير ضار
  • اتباع التعليمات بشكل صحيح
  • نبرة وأسلوب مناسبين

خط أنابيب RLHF التقليدي

التعلم المعزز من الملاحظات البشرية (RLHF) كان النهج الأصلي:

الخطوة 1: درّب نموذج SFT
الخطوة 2: اجمع بيانات التفضيل البشري
الخطوة 3: درّب نموذج المكافأة على التفضيلات
الخطوة 4: اضبط بـ PPO باستخدام نموذج المكافأة
النتيجة: نموذج مُحاذى

تحديات RLHF

التحديالوصف
التعقيدخط أنابيب 4 خطوات، نماذج متعددة
عدم الاستقرارتدريب PPO معروف بعدم استقراره
الموارديحتاج نموذج مكافأة منفصل
المعاملات الفائقةمعاملات كثيرة للضبط

DPO: نهج أبسط

DPO يتخطى نموذج المكافأة بالكامل:

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

مزايا DPO

الميزةالشرح
أبسطلا يحتاج نموذج مكافأة
مستقرتدريب مُشرف قياسي
كفءمرحلة تدريب واحدة
فعاليطابق أو يتفوق على نتائج RLHF

كيف يعمل DPO

DPO يعامل المحاذاة كمشكلة تصنيف:

المعطى: محث، استجابة_مختارة، استجابة_مرفوضة
الهدف: اجعل النموذج يفضل المختار على المرفوض

الخسارة = -log(sigmoid(β * (log_prob(chosen) - log_prob(rejected))))

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

الرؤية الرياضية

# كود خسارة DPO الوهمي
def dpo_loss(policy_model, reference_model, chosen, rejected, beta):
    # احصل على احتمالات اللوغاريتم من السياسة الحالية
    policy_chosen = log_prob(policy_model, chosen)
    policy_rejected = log_prob(policy_model, rejected)

    # احصل على احتمالات اللوغاريتم من النموذج المرجعي (SFT)
    ref_chosen = log_prob(reference_model, chosen)
    ref_rejected = log_prob(reference_model, rejected)

    # خسارة DPO
    chosen_reward = beta * (policy_chosen - ref_chosen)
    rejected_reward = beta * (policy_rejected - ref_rejected)

    loss = -log_sigmoid(chosen_reward - rejected_reward)
    return loss

ملخص المقارنة

الجانبRLHFDPO
مراحل خط الأنابيب42
نموذج المكافأةمطلوبغير مطلوب
استقرار التدريبمنخفض (PPO)عالي
استخدام الذاكرةعاليمتوسط
المعاملات الفائقةكثيرةقليلة
النتائجممتازةممتازة

متى نستخدم DPO

استخدم DPO عندما:

  • تحسين جودة الاستجابة بعد SFT
  • محاذاة النموذج مع تفضيلات محددة
  • تقليل المخرجات الضارة
  • تحسين اتباع التعليمات
  • تريد تدريباً أبسط

اعتبر RLHF عندما:

  • تحتاج تعلم متصل مع ملاحظات حية
  • بحث يتطلب الوصول لنموذج المكافأة
  • تحسين متعدد الأهداف معقد

DPO عملياً

سير العمل النموذجي:

1. مرحلة SFT
   التدريب على أزواج التعليمة-الاستجابة
   النموذج يتعلم مهارات المهمة الأساسية

2. مرحلة DPO
   التدريب على أزواج التفضيل (مختار/مرفوض)
   النموذج يتعلم أي الاستجابات أفضل

المعاملات الرئيسية

المعاملالوصفالقيمة النموذجية
β (بيتا)قوة التنظيم0.1 - 0.5
learning_rateمعدل تعلم التدريب5e-7 إلى 5e-6
epochsepochs التدريب1-3

رؤية أساسية: DPO يحقق نتائج مشابهة لـ RLHF بجزء من التعقيد. لمعظم الممارسين، DPO هو الخيار الصحيح للمحاذاة في 2026.

بعد ذلك، لنتعلم كيفية إعداد بيانات التفضيل لتدريب DPO. :::

مراجعة سريعة: كيف تجد هذا الدرس؟

اختبار

الوحدة 5: المحاذاة مع DPO

خذ الاختبار
نشرة أسبوعية مجانية

ابقَ على مسار النيرد

بريد واحد أسبوعياً — دورات، مقالات معمّقة، أدوات، وتجارب ذكاء اصطناعي.

بدون إزعاج. إلغاء الاشتراك في أي وقت.