الفصل 3: ORPO وطرق أخرى
تحسين التفضيلات المتقدمة
يجمع ORPO بين SFT وتحسين التفضيلات في مرحلة واحدة.
ORPO (تحسين تفضيلات نسبة الأرجحية)
الابتكار الرئيسي
لا حاجة لخطوة SFT منفصلة—يجمع بين الهدفين:
from trl import ORPOTrainer, ORPOConfig
orpo_config = ORPOConfig(
beta=0.1,
learning_rate=8e-6,
num_train_epochs=1,
bf16=True,
)
trainer = ORPOTrainer(
model=model,
args=orpo_config,
train_dataset=dataset,
tokenizer=tokenizer,
)
مقارنة الطرق
| الطريقة | خطوة SFT | خطوة التفضيلات | التعقيد |
|---|---|---|---|
| RLHF | منفصلة | PPO + نموذج المكافأة | عالي |
| DPO | منفصلة | تحسين مباشر | متوسط |
| ORPO | مجمعة | مجمعة | منخفض |
طرق أخرى
KTO (تحسين كاهنمان-تفرسكي)
يستخدم التغذية الراجعة الثنائية (جيد/سيء) بدلاً من التفضيلات.
IPO (تحسين سياسة الهوية)
يحسن DPO بأسس نظرية أفضل.
SimPO (تحسين التفضيلات البسيط)
يزيل الحاجة إلى نموذج مرجعي.
اختيار طريقة
| السيناريو | الموصى به |
|---|---|
| لديك أزواج تفضيلات | DPO أو ORPO |
| تغذية راجعة ثنائية فقط | KTO |
| خط أنابيب بسيط | ORPO |
| أقصى تحكم | DPO |