Direct Preference Optimization (DPO) मुळे डेव्हलपर्सना वेगळे रिवॉर्ड मॉडेल (reward model) प्रशिक्षित न करता किंवा रिइन्फोर्समेंट-लर्निंग (RL) लूप न चालवता लार्ज लँग्वेज मॉडेल्सना फाईन-ट्यून करणे शक्य होते, ज्यामुळे कम्प्युट खर्च आणि पारंपारिक RL-from-human-feedback पाइपलाइनमध्ये आढळणारी अस्थिरता (instability) दोन्ही कमी होतात.

RL-from-Human-Feedback कठीण का वाटते

मानक RL-from-human-feedback (RLHF) प्रक्रियेमध्ये तीन टप्पे असतात. प्रथम, एका निवडक (curated) डेटासेटवर बेस मॉडेलला फाईन-ट्यून केले जाते. त्यानंतर, रिवॉर्ड मॉडेल दोन आउटपुट जोड्यांमधील मानवी पसंती ओळखण्यास शिकते. शेवटी, मूळ मॉडेलच्या जवळ राहून पॉलिसीला उच्च अंदाजित रिवॉर्ड्सकडे नेण्यासाठी तज्ज्ञ Proximal Policy Optimization (PPO) – जो एक क्लासिक RL अल्गोरिदम आहे – चालवतात.

ही तीन मॉडेल्सची मांडणी एकाच वेळी मेमरीमध्ये असते आणि प्रत्येक अपडेटवर नवीन मजकूर सॅम्पल करण्यासाठी खर्चिक RL लूपवर अवलंबून असते. अनेकदा असे दिसून येते की, पॉलिसी रिवॉर्डला “गेम” (game) करायला शिकते, म्हणजेच असे आउटपुट देते जे प्रॉक्सीवर चांगले स्कोअर करतात परंतु अपेक्षित गुणवत्ता प्रदान करत नाहीत. परिणामी, ही पाइपलाइन खर्चिक, नाजूक आणि स्केल करणे कठीण असते.

DPO चा अल्जेब्रिक शॉर्टकट

DPO रिवॉर्ड मॉडेल पूर्णपणे वगळते. मुख्य निरीक्षण असे आहे की, RLHF चे उद्दिष्ट – म्हणजेच रेफरन्स मॉडेलपासून होणारे विचलन (divergence) रोखत अपेक्षित रिवॉर्ड जास्तीत जास्त करणे – याचे एक क्लोज्ड-फॉर्म एक्सप्रेशन (closed-form expression) उपलब्ध आहे. गणितीय मांडणी बदलून, कोणत्याही टोकनसाठीचा रिवॉर्ड हा पॉलिसीने दिलेली log-probability आणि रेफरन्स मॉडेलने दिलेली log-probability यातील फरक बनतो.

व्यवहारात याचा अर्थ असा आहे की “रिवॉर्ड” स्वतः पॉलिसीमध्येच असतो. ट्रेनिंग आता केवळ पसंतीच्या जोड्यांवरील (preference pairs) एका सिंगल क्लासिफिकेशन लॉसमध्ये (classification loss) रूपांतरित होते: एक निवडलेला प्रतिसाद आणि एक नाकारलेला प्रतिसाद दिल्यास, मॉडेलला निवडलेल्या मजकुराला अधिक संभाव्यता (probability) देण्यास प्रवृत्त केले जाते. यात कोणतेही सॅम्पलिंग, PPO अपडेट्स किंवा साठवण्यासाठी अतिरिक्त मॉडेलची गरज नसते.

नवीन लॉस (loss) कसा दिसतो

हा लॉस सध्याच्या पॉलिसीमधील पसंतीच्या उत्तराची log-probability आणि रेफरन्स मॉडेलमधील log-probability यांची तुलना करतो, ज्यामध्ये $\beta$ सारख्या 'टेम्परेचर-सदृश' हायपरपॅरामीटरने (hyperparameter) प्रमाण (scale) ठरवले जाते. उच्च $\beta$ मुळे पॉलिसी रेफरन्स मॉडेलच्या जवळ राहण्यास भाग पडते, ज्यामुळे ओघवतेपणा (fluency) आणि सुरक्षितता टिकून राहते. कमी $\beta$ मुळे पॉलिसी अधिक दूर जाऊ शकते, ज्यामुळे निवडलेल्या उत्तरासाठी तिची पसंती अधिक स्पष्ट होते.

डेव्हलपर्ससाठी महत्त्वाचे फायदे

  • रिवॉर्ड मॉडेलची गरज नाही – वेगळ्या प्रेडिक्टरसाठी अतिरिक्त मानवी फीडबॅक गोळा करण्याची गरज उरत नाही.
  • ट्रेनिंग दरम्यान सॅम्पलिंगची गरज नाही – ग्रेडियंट्स (gradients) मोजण्यासाठी मॉडेलला कधीही नवीन मजकूर तयार करावा लागत नाही, ज्यामुळे GPU वेळेत मोठी बचत होते.
  • स्थिरता (Stability) – उच्च-व्हेरियन्स (high-variance) असलेल्या RL ग्रेडियंट्सच्या जागी मानक 'बायनरी-क्रॉस-एन्ट्रॉपी लॉस' (binary-cross-entropy loss) वापरला जातो, ज्यामुळे मॉडेल विचलित होण्याचे प्रमाण कमी होते.
  • कार्यक्षमता (Efficiency) – प्रत्येक पसंतीच्या जोडीवर एक सिंगल ग्रेडियंट स्टेप पुरेशी असते; PPO च्या तुलनेत ट्रेनिंग खूप कमी इपॉक्समध्ये (epochs) पूर्ण होते.

सुरुवातीच्या प्रयोगांवरून असे दिसून येते की, DPO अत्यंत कमी कम्प्युट बजेट वापरून बेंचमार्क पसंती डेटासेटवर PPO च्या कामगिरीला टक्कर देते किंवा त्यापेक्षा सरस ठरते. या खर्चिक फायद्यामुळेच अनेक ओपन-सोर्स प्रोजेक्ट्सनी DPO किंवा त्याच्या जवळच्या प्रकाराला आपली डीफॉल्ट अलाइनमेंट पद्धत म्हणून स्वीकारले आहे.

तडजोडी (Trade-offs)

DPO पसंतीच्या जोड्यांच्या एका निश्चित संचावर काम करते. ट्रेनिंग दरम्यान ते कधीही नवीन पूर्णता (completions) सॅम्पल करत नसल्यामुळे, मूळ डेटामध्ये नसलेल्या उत्तरांच्या क्षेत्रांचा (answer spaces) शोध ते घेऊ शकत नाही. याउलट, ऑनलाइन PPO रन मॉडेलला सतत तपासून नवीन आणि उच्च-रिवॉर्ड देणारी वर्तने शोधू शकते.

जर $\beta$ खूप कमी ठेवला किंवा ट्रेनिंग खूप जास्त स्टेप्ससाठी चालवले, तर पॉलिसी रेफरन्स मॉडेलपासून इतकी दूर जाऊ शकते की तिचा ओघवतेपणा कमी होऊ शकतो किंवा नको असलेले आर्टिफॅक्ट्स (artefacts) निर्माण होऊ शकतात.

निष्कर्ष (Takeaway)

Direct Preference Optimization हे तीन-मॉडेल आणि RL-आधारित RLHF स्टॅकची जागा एका सिंगल, स्थिर लॉसने (loss) घेते, जो थेट मानवी पसंतीच्या जोड्यांमधून शिकतो. याचा परिणाम म्हणजे लँग्वेज मॉडेल्स अलाइन करण्यासाठी एक स्वस्त आणि अधिक अंदाजित मार्ग मिळतो—जर तुमचा ट्रेनिंग डेटा आवश्यक वर्तने टिपणारा असेल आणि तुम्ही 'ड्रिफ्ट पॅरामीटर' (drift parameter) नियंत्रणात ठेवला असेल तर.