Direct Preference Optimization (DPO)
تعرف على كيفية تبسيط تحسين التفضيل المباشر (DPO) لمحاذاة الذكاء الاصطناعي. اكتشف كيف تحل هذه الطريقة الفعالة محل RLHF لتحسين سلامة النموذج وأدائه.
التحسين المباشر للتفضيلات (DPO) هو تقنية خوارزمية مستقرة وفعالة تُستخدم لضبط نماذج الذكاء الاصطناعي، مما يضمن توافقها مع رغبات البشر ومعايير الأمان والإرشادات الأخلاقية. على عكس الطرق التقليدية التي تتطلب خطوط أنابيب معقدة ومتعددة المراحل لالتقاط تعليقات البشر، فإن DPO يُبسّط عملية التوافق رياضياً من خلال التعامل مع تعلم التفضيلات مباشرةً باعتباره مهمة تصنيف في التعلم الآلي. ومن خلال تحسين النموذج مباشرةً بناءً على مجموعة بيانات من تفضيلات البشر — حيث يختار المُقيّمون استجابة "فائزة" على أخرى "خاسرة" — يمكن للمطورين تحسين فائدة وصدق وأمان النماذج الأساسية واسعة النطاق وأنظمة الذكاء الاصطناعي التوليدي الحديثة بشكل كبير.
كيف يبسط DPO مواءمة النموذج#
يكمن الابتكار الأساسي للتحسين المباشر للتفضيلات في إزالتها لـ "الوسيط" المعماري. تاريخياً، تطلب توافق نموذج لغوي كبير (LLM) أو نموذج رؤية-لغة عملية معقدة تُعرف باسم التعلم المعزز من التغذية الراجعة البشرية (RLHF). يتطلب RLHF تدريب نموذج المكافأة منفصل لتقريب التقييم البشري، يليه استخدام خوارزمية تعلم معزز عرضة عدم الاستقرار مثل تحسين السياسة القريبة لتحديث النموذج الرئيسي.
يقضي DPO رياضياً على الحاجة إلى نموذج المكافأة المنفصل هذا. بدلاً من ذلك، يعتمد على دالة فقد مشتقة تزيد من احتمالية إنتاج مخرجات "مفضلة" بينما تقلل في نفس الوقت من احتمالية المخرجات "المرفوضة". وهو يستخدم نموذجاً مرجعياً للحد من تباعد كولباك-لايبلر، مما يضمن عدم انحراف النموذج المحدث بشكل كبير عن توزيع بيانات التدريب الأصلية. تجعل هذه البساطة الرياضية العملية تسلك سلوكاً أقرب بكثير إلى التعلم المُشرف القياسي، مما ينتج عنه تقارب أسرع واستخدام أقل للذاكرة على عتاد وحدة معالجة الرسوميات. وهذا يقلل بطبيعته من مخاطر انهيار النموذج ويلغي ضبط المعلمات الفائقة المكثف.
تطبيقات العالم الحقيقي#
يعيد التحسين المباشر للتفضيلات صياغة كيفية بناء أنظمة الذكاء الاصطناعي التفاعلية ونشرها بشكل أساسي عبر مختلف الصناعات عالية المخاطر في سعى وراء تحقيق أمان الذكاء الاصطناعي القوي.
- تحسين الوكلاء المحادثين: في مجال روبوتات الدردشة والمساعدين الافتراضيين، يُستخدم DPO لتقليل السمية ومواءمة الاستجابات مع أفضل ممارسات الأمان من OpenAI الصارمة وأبحاث Anthropic حول مواءمة الذكاء الاصطناعي. يراجع المُقيّمون البشريون إجابتين لموجه ما، ويحددون الإجابة المهذبة والواقعية على أنها "مختارة". بعد ذلك، يقوم DPO بتحديث أوزان النموذج لتفضيل هذا النمط المحادثي المحدد مع معاقبة الهلوسة.
- تحسين نماذج الرؤية واللغة: مع تطور التعرف على الصور، تُطلب النamosej بشكل متزايد لشرح ما تراه للمشغلين البشريين. بالنسبة لتطبيقات مثل الإجابة على الأسئلة المرئية، يسمح DPO للباحثين بمواءمة المخرجات النصية للنموذج مع تفضيلات البشر التفصيلية. على سبيل المثال، إذا طلب المستخدم من نظام روبوتي مدعوم بواسطة Ultralytics YOLO26 وصف كائن ما، فإن DPO يدرب النموذج على إعطاء الأولوية للوصف الواقعي والموجز على التفسيرات الغامضة، التزاماً وثيقاً بإرشادات أخلاقيات الذكاء الاصطناعي الصارمة.
DPO في الممارسة العملية#
يتطلب تنفيذ DPO بيانات أزواج عالية الجودة. تستخدم سير العمل الحديثة أدوات شاملة مثل منصة Ultralytics لإدارة مجموعات البيانات هذه بسلاسة، مما يضمن أن عملية تسميات البيانات تنتج أمثلة واضحة "للفائز" و"الخاسر". يمكنك استكشاف البحث الأساسي الكامن وراء ذلك في ورقة التحسين المباشر للتفضيلات: نموذجك اللغوي هو نموذج مكافأة سراً أو قراءة حول المواءمة وتفضيلات البشر من Stanford HAI.
تُظهر مقتطفة Python التالية بنية البيانات الأساسية المطلوبة لحساب الفقد بأسلوب DPO باستخدام الوظائف الموجودة في مرجع واجهة برمجة تطبيقات PyTorch.
import torch
import torch.nn.functional as F
def dpo_loss(chosen_logps, rejected_logps, beta=0.1):
# DPO maximizes the margin between chosen and rejected log probabilities
logits = beta * (chosen_logps - rejected_logps)
# The loss minimizes the negative log sigmoid of this margin
return -F.logsigmoid(logits).mean()
print(f"DPO Loss: {dpo_loss(torch.tensor([-0.5]), torch.tensor([-2.5])):.4f}")





