Direct Preference Optimization (DPO)
Doğrudan Tercih Optimizasyonu'nun (DPO) yapay zeka uyumunu nasıl basitleştirdiğini öğren. Bu verimli yöntemin, model güvenliğini ve performansını artırmak için RLHF'nin yerini nasıl aldığını keşfet.
Doğrudan Tercih Optimizasyonu (DPO), yapay zeka modellerine ince ayar yapmak için kullanılan, modellerin insan arzuları, güvenlik standartları ve etik kurallarla uyumlu olmasını sağlayan kararlı ve verimli bir algoritmik tekniktir. İnsan geri bildirimini yakalamak için karmaşık, çok aşamalı boru hatları gerektiren geleneksel yöntemlerin aksine DPO, tercih öğrenimini doğrudan standart bir makine öğreniminde sınıflandırma görevi olarak ele alarak uyum sürecini matematiksel olarak basitleştirir. Açıklayıcıların "kazanan" bir yanıtı "kaybeden"e tercih ettiği bir insan tercihi veri kümesine dayanarak modeli doğrudan optimize eden geliştiriciler, büyük ölçekli temel modellerin ve modern üretken yapay zeka sistemlerinin yararlılığını, dürüstlüğünü ve güvenliğini önemli ölçüde artırabilir.
Link to this sectionDPO Model Uyumunu Nasıl Basitleştirir#
Doğrudan Tercih Optimizasyonu'nun temel yeniliği, mimari "aracıdan" kurtulmasında yatar. Geçmişte bir Büyük Dil Modelini (LLM) veya bir Görüntü-Dil Modelini uyumlu hale getirmek, İnsan Geri Bildiriminden Pekiştirmeli Öğrenme (RLHF) olarak bilinen karmaşık bir süreci içeriyordu. RLHF, insan puanlamasını yaklaşık olarak hesaplamak için ayrı bir ödül modeli eğitmeyi ve ardından ana modeli güncellemek için Proximal Policy Optimization gibi kararsızlığa yatkın bir pekiştirmeli öğrenme algoritması kullanmayı gerektirir.
DPO mathematically eliminates the need for this separate reward model. Instead, it relies on a derived loss function that increases the likelihood of generating "preferred" outputs while simultaneously decreasing the likelihood of "rejected" ones. It uses a reference model to limit Kullback-Leibler divergence, ensuring the updated model does not drift too far from its original training data distribution. This mathematical simplification makes the process behave much closer to standard supervised learning, resulting in faster convergence and lower memory usage on GPU hardware. This inherently reduces the risk of model collapse and eliminates extensive hyperparameter tuning.
Link to this sectionGerçek Dünya Uygulamaları#
Doğrudan Tercih Optimizasyonu, güçlü bir Yapay Zeka Güvenliği arayışıyla, etkileşimli yapay zeka sistemlerinin çeşitli yüksek riskli endüstrilerde nasıl oluşturulduğunu ve konuşlandırıldığını temelden yeniden şekillendiriyor.
- Sohbet Temsilcilerini Geliştirme: Sohbet robotları ve sanal asistanlar alanında DPO, toksisiteyi azaltmak ve yanıtları katı OpenAI güvenlik en iyi uygulamaları ve Anthropic'in yapay zeka uyumu araştırması ile uyumlu hale getirmek için kullanılır. İnsan açıklayıcılar bir isteme verilen iki yanıtı gözden geçirir ve kibar, gerçekçi yanıtı "seçilen" olarak işaretler. DPO daha sonra model ağırlıklarını bu belirli konuşma tarzını destekleyecek şekilde güncellerken halüsinasyonları cezalandırır.
- Görüntü-Dil Modellerini Hassaslaştırma: Görüntü tanıma geliştikçe, modellerden gördüklerini insan operatörlere açıklamaları giderek daha fazla beklenmektedir. Görsel soru-cevap gibi uygulamalar için DPO, araştırmacıların modelin metinsel çıktısını ayrıntılı insan tercihleriyle uyumlu hale getirmesine olanak tanır. Örneğin, bir kullanıcı Ultralytics YOLO26 destekli bir robotik sistemden bir nesneyi tanımlamasını isterse, DPO modeli belirsiz yorumlar yerine gerçekçi, özlü tanımlamalara öncelik verecek ve katı Yapay Zeka Etiği kurallarına sıkı sıkıya bağlı kalacak şekilde eğitir.
Link to this sectionUygulamada DPO#
Implementing DPO requires high-quality pairwise data. Modern workflows utilize comprehensive tools like the Ultralytics Platform to seamlessly manage these datasets, ensuring that the data annotation process yields clear "winner" and "loser" examples. You can explore the foundational research behind this in the paper Direct Preference Optimization: Your Language Model is Secretly a Reward Model or read about Alignment and Human Preferences from Stanford HAI.
Aşağıdaki Python kod parçası, PyTorch API referansında bulunan işlevler kullanılarak DPO tarzı bir kayıp hesaplaması için gereken temel veri yapısını göstermektedir.
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}")





