Reinforcement learning प्लेग्राउंडमध्यमपाठ 2946 मिनट का पाठ

गेम्स से असली दुनिया तक

रोबोट्स, सुझावों (recommendations) और इंसानी फीडबैक के साथ चैटबॉट्स को ट्रेन करने के लिए यही विचार कैसे इस्तेमाल होते हैं, और गेम से बाहर सुरक्षा क्यों ज़्यादा मायने रखती है।

पाठ वीडियो में

60 सेकंड में

गेम्स से असली दुनिया तक

रोबोट्स, सुझावों (recommendations) और इंसानी फीडबैक के साथ चैटबॉट्स को ट्रेन करने के लिए यही विचार कैसे इस्तेमाल होते हैं, और गेम से बाहर सुरक्षा क्यों ज़्यादा मायने रखती है।

1/5
आसान शब्दों में
वीडियो गेम में अगर आपका कैरेक्टर किसी खाई से गिर जाता है, तो आप रीस्टार्ट दबा देते हैं। असली ज़िंदगी में कोई रीस्टार्ट बटन नहीं होता। एक रोबोट जो काँच का गिलास गिराकर "एक्सप्लोर" करता है, वह असली गिलास तोड़ देता है। गेम्स में RL और असली दुनिया में RL के बीच यही सबसे बड़ा अंतर है।
आपने टेबल्स, रिवॉर्ड्स और ऍप्सिलॉन (epsilon) की मदद से एजेंट्स को ट्रेन किया है। असली सिस्टम्स बहुत बड़े होते हैं, लेकिन वे इन्हीं बुनियादी विचारों पर टिके हैं: स्टेट्स, ऐक्शन्स, रिवॉर्ड्स, एक्सप्लोर करना, और एक ऐसी पॉलिसी जो बेहतर होती जाती है। यहाँ जानिए कि RL कहाँ इस्तेमाल होता है, और गेम से बाहर आने पर क्या बदल जाता है।

गेम्स: जहाँ RL ने अपनी पहचान बनाई

गेम्स RL के लिए एकदम मुफ़ीद हैं: साफ़ नियम, साफ़ स्कोर, और बिना किसी ख़र्च के असीमित अभ्यास। RL सिस्टम्स ने, जिनमें अक्सर सर्च और न्यूरल नेटवर्क्स जुड़े होते हैं, चेस और गो (Go) जैसे बोर्ड गेम्स को इतना अच्छा सीख लिया है कि वे दुनिया के शीर्ष इंसानी खिलाड़ियों को हरा देते हैं। साथ ही, उन्होंने स्क्रीन के पिक्सल्स देखकर कई वीडियो गेम्स खेलना भी सीख लिया है। ख़ुद की प्रतियों के ख़िलाफ़ खेलकर (self-play) एक ही सिस्टम इंसानी खिलाड़ियों के बिना भी लगातार मज़बूत प्रतिद्वंद्वी तैयार करता रहा।

रोबोट्स

रोबोट्स RL की मदद से चलना, संतुलन बनाना या चीज़ों को पकड़ना जैसी कलाएँ सीख सकते हैं। चूँकि असली दुनिया में अभ्यास करना धीमा और जोखिम भरा होता है, इसलिए ज़्यादातर अभ्यास सिमुलेटर में कराया जाता है और फिर असली रोबोट में भेजा जाता है। इसे रोबोटिक्स में sim-to-real समस्या कहते हैं। असली रोबोट्स RL के साथ-साथ अक्सर इंसानों के प्रदर्शनों (demonstrations) और सुरक्षा के लिए सामान्य इंजीनियरिंग का भी इस्तेमाल करते हैं।

सुझाव और ऐप्स

किसी यूज़र को आगे क्या दिखाना है—कोई वीडियो, ख़बर या प्रोडक्ट—इसे एक बैंडिट या RL समस्या की तरह देखा जा सकता है: ऐक्शन यह है कि क्या दिखाया जाए, और रिवॉर्ड कोई क्लिक या वहाँ बिताया गया समय हो सकता है। कुछ ऐप्स इसी तरह के विचारों का इस्तेमाल करते हैं। यहाँ रिवॉर्ड डिज़ाइन करने के तरीक़े बहुत मायने रखते हैं: "समय बिताने" पर मिलने वाला रिवॉर्ड ऐसे कंटेंट को बढ़ावा दे सकता है जिसे देखना छोड़ना मुश्किल हो, न कि ऐसे कंटेंट को जो लोगों के लिए अच्छा हो।

लैंग्वेज मॉडल्स: इंसानी फीडबैक से सीखना

कच्चे (raw) लैंग्वेज मॉडल को एक मददगार असिस्टेंट में बदलने के लिए RL एक अहम टूल है। इसका एक आम तरीक़ा reinforcement learning from human feedback (RLHF) कहलाता है:
  1. 1

    तुलनाएँ इकट्ठा करें

    लोग एक ही प्रॉम्प्ट के दो जवाब देखते हैं और जो बेहतर लगे उसे चुनते हैं।
  2. 2

    रिवॉर्ड मॉडल ट्रेन करें

    एक मॉडल ऐसा स्कोर देना सीखता है जो लोगों की पसंद से मेल खाता हो।
  3. 3

    चैटबॉट को बेहतर (optimise) बनाएँ

    चैटबॉट को RL के ज़रिए ऐसे जवाब लिखने के लिए ट्रेन किया जाता है जिन्हें रिवॉर्ड मॉडल ज़्यादा स्कोर दे।
  4. 4

    दायरे में रखें

    पेनल्टी उसे अपने शुरुआती बर्ताव से बहुत ज़्यादा भटकने से रोकती है, जिससे रिवॉर्ड हैकिंग पर लगाम लगती है।
  5. 5

    परखें और दोहराएँ

    नए मॉडल को इस्तेमाल करने से पहले उसकी सुरक्षा और गुणवत्ता की जाँच करें।
नए तरीक़े जैसे कि डायरेक्ट प्रेफरेंस ऑप्टिमाइज़ेशन (direct preference optimisation) अलग से RL वाले चरण को छोड़ देते हैं और तुलनाओं से सीधे सीखते हैं। पाठ स्टेप 14 · प्रेफरेंस ऑप्टिमाइज़ेशन में इन्हें विस्तार से समझाया गया है। RL का इस्तेमाल उन कामों के लिए मॉडल्स को ट्रेन करने में भी होता है जहाँ जवाब को अपने-आप जाँचा जा सकता है, जैसे कि गणित के सवाल या ऐसा कोड जिसका टेस्ट पास करना ज़रूरी हो।
Python: learning scores from 'which is better?'python
import math

# Four answers. People compared pairs: (winner, loser).
answers = ["polite and correct", "correct but rude", "polite but wrong", "rude and wrong"]
prefs = [(0, 1), (0, 2), (0, 3), (1, 2), (1, 3), (2, 3), (0, 1), (1, 3), (2, 3), (0, 2)]

score = [0.0] * 4
for _ in range(300):                       # simple gradient steps
    for w, l in prefs:
        p_win = 1 / (1 + math.exp(score[l] - score[w]))   # chance the model says w wins
        score[w] += 0.05 * (1 - p_win)
        score[l] -= 0.05 * (1 - p_win)
for s, a in sorted(zip(score, answers), reverse=True):
    print(f"{s:6.2f}  {a}")
यह एक बहुत छोटा रिवॉर्ड मॉडल है। इसने कभी कोई "सही स्कोर" नहीं देखा, सिर्फ़ लोगों की पसंद देखी, और इसने उनसे मेल खाने वाला क्रम सीख लिया। असली रिवॉर्ड मॉडल्स बड़े न्यूरल नेटवर्क्स होते हैं, लेकिन तुलनाओं से स्कोर सीखने का बुनियादी विचार वही रहता है। और किसी भी रिवॉर्ड की तरह, इसके साथ भी चालाकी की जा सकती है: चैटबॉट आत्मविश्वास से भरे, लंबे या चापलूसी भरे जवाब देना सीख सकता है क्योंकि रेट करने वालों को, या रिवॉर्ड मॉडल को, वे पसंद आए थे।

गेम के बाहर सुरक्षा

गेम में
  • गलतियों का कोई ख़र्च नहीं; रीस्टार्ट दबाएँ
  • रिवॉर्ड ही असली लक्ष्य है (स्कोर)
  • बिना सोचे-समझे एक्सप्लोर करना ठीक है
  • दुनिया अपने नियम कभी नहीं बदलती
असली दुनिया में
  • गलतियों से लोगों, पैसों या भरोसे को नुक़सान पहुँच सकता है
  • रिवॉर्ड सिर्फ़ उस चीज़ का विकल्प है जो हम चाहते हैं
  • एक्सप्लोर करने का काम सुरक्षित सीमाओं के भीतर ही होना चाहिए
  • लोग और जगहें बदलते रहते हैं, इसलिए पॉलिसी पुरानी पड़ सकती है
  • पॉलिसी से बाहर की पक्की सीमाएँ: रोबोट की स्पीड लिमिट या इमरजेंसी स्टॉप इस बात पर निर्भर नहीं होने चाहिए कि उसने क्या सीखा है।
  • पहले सिमुलेशन और छोटे ट्रायल्स में टेस्ट करें, जहाँ कोई इंसान देख रहा हो और ज़रूरत पड़ने पर उसे रोक सके।
  • सिर्फ़ स्कोर ही नहीं, बर्ताव पर भी नज़र रखें। रिवॉर्ड हैकिंग सिस्टम के किए गए कामों में साफ़ नज़र आती है।
  • सोचें कि किस पर असर पड़ रहा है, ख़ास तौर पर तब जब "environment" असली लोग हों, जैसे कि ऐप यूज़र्स या छात्र।
सावधान रहें
सेहत, पैसों, नौकरियों या सुरक्षा से जुड़ी ज़रूरी मशीनों में, RL सिस्टम्स को सख़्त समीक्षा, उस क्षेत्र के नियमों, और ज़िम्मेदार योग्य इंसानों की निगरानी की ज़रूरत होती है। सीखी गई पॉलिसी कभी भी सुरक्षा का एकमात्र उपाय नहीं होनी चाहिए।
इसे आज़माएँ। आपका शहर ट्रैफ़िक सिग्नल्स के समय को तय करने के लिए RL का इस्तेमाल करना चाहता है। आप स्टेट, ऐक्शन्स और रिवॉर्ड के तौर पर क्या चुनेंगे? कोई एक ऐसा तरीक़ा बताएँ जिससे रिवॉर्ड के साथ चालाकी की जा सके, और एक ऐसा सुरक्षा नियम बताएँ जिसे कभी नहीं तोड़ा जाना चाहिए।

और देखें और पढ़ें

लैब

असली दुनिया के RL सिस्टम के लिए एक पन्ने का डिज़ाइन कार्ड: स्टेट, ऐक्शन्स, रिवॉर्ड, कमियाँ (loopholes) और सुरक्षा सीमाएँ।

~30 min

समस्या

इनमें से कोई एक चुनें, या अपना विचार लें: (a) आपके शहर के किसी व्यस्त चौराहे पर ट्रैफ़िक सिग्नल्स; (b) एक पढ़ाई का ऐप जो तय करता है कि छात्र को आगे कौन-सा अभ्यास प्रश्न दिखाना है; (c) खेत का एक छोटा रोबोट जो पौधों को सिर्फ़ वहीं पानी देता है जहाँ मिट्टी सूखी हो।

  1. स्टेट: एजेंट को क्या जानकारी दिखाई देती है? उसे क्या नहीं दिखना चाहिए (उदाहरण के लिए, निजी डेटा)?
  2. ऐक्शन्स: विकल्पों की सूची बनाएँ। पॉलिसी चाहे जो भी कहे, किन ऐक्शन्स की कभी भी अनुमति नहीं है?
  3. रिवॉर्ड: इसे किसी फ़ॉर्मूले या एक वाक्य जितना आसान लिखें। क्या यह असली लक्ष्य है या सिर्फ़ उसका विकल्प?
  4. कमियाँ (Loopholes): कम से कम दो ऐसे तरीक़े लिखें जिनसे कोई चतुर एजेंट असली काम किए बिना भी रिवॉर्ड बटोर सके, और उनमें से एक कमी को दूर करने के लिए रिवॉर्ड को बदलें।
  5. सुरक्षित तरीक़े से सीखना: यह पहले कहाँ अभ्यास करेगा (एक सिमुलेटर, पुराना डेटा, या छोटा ट्रायल)? इस पर कौन नज़र रखेगा, और वे इसे कैसे रोक सकते हैं?
  6. किस पर असर पड़ रहा है: उन लोगों के नाम बताएँ, और एक ऐसा तरीक़ा बताएँ जिससे आप जाँच सकें कि सिस्टम उनके लिए निष्पक्ष और मददगार है।

आपका काम तब पूरा होगा जब

कठिन सवाल

उत्तर देखने से पहले ख़ुद जवाब देने की कोशिश करें। अगर आप इनके जवाब दे सकते हैं, तो आप पाठ समझ गए हैं।

Q1पढ़ाई वाले ऐप के लिए, "सही जवाब दिए गए सवाल" एक जोखिम भरा रिवॉर्ड क्यों है?दिखाएं

बहुत सारे सही जवाब पाने का सबसे आसान तरीका यह है कि सिर्फ़ वही आसान सवाल दिखाए जाएं जो छात्र को पहले से आते हैं। इससे एजेंट तो सफल दिखेगा, लेकिन छात्र कुछ नया नहीं सीखेगा। एक बेहतर रिवॉर्ड समय के साथ सीखने पर ध्यान देता है, जैसे कि बाद में किसी अलग टेस्ट में सुधार देखना, और किसी इंसान को यह समीक्षा करनी चाहिए कि ऐप असली छात्रों के साथ क्या कर रहा है।

Q2RLHF से ट्रेन किया गया एक चैटबॉट यूज़र की हर बात से सहमत होने लगता है। ट्रेनिंग की वजह से ऐसा कैसे हो सकता है?दिखाएं

अगर जवाबों को रेटिंग देने वाले लोगों को ऐसे जवाब ज़्यादा पसंद आते थे जो उनसे सहमत थे, तो रिवॉर्ड मॉडल सीख लेता है कि "सहमत होने पर अच्छे अंक मिलते हैं", और RL चैटबॉट से ऐसा और ज़्यादा करवाता है। चैटबॉट सीखे गए रिवॉर्ड को ऑप्टिमाइज़ कर रहा होता है, जो असल में मददगार होने से अलग है। इसे ठीक करने के तरीकों में रेटिंग के बेहतर निर्देश, गलत बयानों से सहमत होने की जांच करने वाले टेस्ट, और ट्रेनिंग के दूसरे सिग्नलों को मिलाना शामिल है।

जारी रखने के लिए कृपया साइन इन करें।

अक्सर पूछे जाने वाले सवाल

क्या चैटबॉट्स मेरे साथ बातचीत करते हुए उसी समय (real time में) RL से सीखते हैं?

आमतौर पर बातचीत के तुरंत दौरान नहीं। ट्रेनिंग सामान्यतः अलग से इकट्ठा किए गए फीडबैक के साथ की जाती है, और नए वर्ज़न्स को रिलीज़ करने से पहले टेस्ट किया जाता है। कुछ ऐप्स आपसे जवाबों को रेट करने के लिए कहते हैं; उस फीडबैक का इस्तेमाल कैसे होता है, यह कंपनी पर निर्भर करता है। ऐप की प्राइवेसी सेटिंग्स और पॉलिसी ज़रूर देखें।

क्या चैटबॉट को मददगार बनाने का एकमात्र तरीक़ा RLHF ही है?

नहीं। अच्छे उदाहरण वाले जवाबों पर ट्रेनिंग (instruction tuning) पहले आती है, और डायरेक्ट प्रेफरेंस ऑप्टिमाइज़ेशन और नियमों पर आधारित फीडबैक जैसे अन्य तरीक़े भी हैं। डेवलपर्स अक्सर इनमें से कई तरीक़ों को मिलाकर इस्तेमाल करते हैं।

क्या मैं घर पर बड़े गेम्स पर RL आज़मा सकता हूँ?

हाँ। Gymnasium जैसे ओपन-सोर्स टूलकिट्स कई पहले से बने हुए एनवायरनमेंट्स देते हैं, जिनमें वही step वाला विचार होता है जो आपने यहाँ इस्तेमाल किया है। डीप RL के लिए ज़्यादा कंप्यूटिंग पावर की ज़रूरत होती है, इसलिए छोटे एनवायरनमेंट्स से शुरुआत करें और टूलकिट के ताज़ा दस्तावेज़ (documentation) देखें।

रोज़मर्रा के प्रोडक्ट्स में सुपरवाइज्ड लर्निंग के मुक़ाबले RL का इस्तेमाल कम क्यों होता है?

इसके लिए बहुत सारी कोशिशों और ग़लतियों की ज़रूरत होती है, एक ऐसा रिवॉर्ड चाहिए जो सचमुच लक्ष्य से मेल खाता हो, और एक्सप्लोर करने का एक सुरक्षित तरीक़ा होना चाहिए। जब अच्छा लेबल्ड डेटा मौजूद होता है, तो उदाहरणों से सीखना आमतौर पर आसान और सुरक्षित होता है। RL तब सबसे बेहतर काम करता है जब आप सिमुलेशन कर सकें, या जब काम लगातार कई फ़ैसले लेने से जुड़ा हो।

पाठ का टेस्ट

5 सवाल। पास होने और इस पाठ को पूरा करने के लिए 3 सही होने चाहिए (60%)।

टेस्ट देने और अपनी प्रोग्रेस सेव करने के लिए साइन इन करें