Experience Replay
एक model ने ग्राहकों के सवालों को "डिलीवरी" और "वापसी" विभागों में भेजना सीख लिया है। अब आप उसे शिकायतें पहचानना सिखा रहे हैं, जैसे "सामान टूटा हुआ पहुँचा"। अगर आगे के अभ्यासों में उसे सिर्फ़ शिकायतें दिखती हैं, तो हो सकता है कि वह पहले से जाने-पहचाने "पार्सल कहाँ है?" को पहले से ख़राब सँभाले। पूरा पुराना archive उपलब्ध नहीं है। क्या बचाकर रखे गए कुछ ही संदेशों पर लौटा जा सकता है?
Experience Replay (ER) का मतलब है पहले के कुछ उदाहरणों को सँभालकर रखना और उन्हें training में दोबारा इस्तेमाल करना। सरल रूप में हम नए data के batch में memory से लिए गए उदाहरण मिला देते हैं; इस memory को replay buffer कहते हैं। यह दोहराव के लिए रखे गए data का डिब्बा है, model के पूरे ज्ञान का record नहीं। ऐसी साझा training का वर्णन Chaudhry et al., Continual Learning with Tiny Episodic Memories, §2, algorithm 1 में है।

अगले अभ्यास में क्या जाता है
Archive खोने से पहले हमने चार संदेश उनके सही विभागों के साथ बचा लिए थे। अब हमारे पास चार नई शिकायतें हैं। दोहराव के बिना model चार नए संदेशों पर सीखता है। दोहराव के साथ वह चार पुराने संदेशों पर भी अभ्यास करता है: उसे फिर से संकेत मिलता है कि "पार्सल कहाँ है?" डिलीवरी का मामला है। इस छोटे उदाहरण में हम पूरा buffer इस्तेमाल करते हैं; बड़े buffers से आम तौर पर एक यादृच्छिक हिस्सा लिया जाता है।
लेकिन memory की जगहें गिन लेना काफ़ी नहीं है। डिलीवरी के बारे में बचाए गए चार सवालों में वापसी का एक भी उदाहरण नहीं है। उनमें से दो की जगह "ख़रीदा हुआ सामान कैसे लौटाऊँ?" और "मुझे कमीज़ लौटानी है" रख देने पर दोहरावों की संख्या वही रहती है, लेकिन अब उनमें पहले के दोनों विभाग शामिल हैं। नीचे का प्रयोग data के batch में उदाहरण गिनता है; वह model की accuracy का अनुमान नहीं लगाता।
दोहराव सिर्फ़ उपलब्ध data पर मदद करता है
Model को पहले के जवाबों का अभ्यास करने का मौक़ा मिलता है, सारी क्षमताएँ बची रहने की गारंटी नहीं। यादृच्छिक छोटा नमूना किसी दुर्लभ श्रेणी को पूरी तरह छोड़ सकता है; शोधकर्ताओं ने यह समस्या बहुत छोटे buffers के साथ देखी (उसी पेपर का §4.4)। हमारे संदेश हमारा अपना उदाहरण हैं, उन प्रयोगों का नतीजा नहीं। Training का असर अलग रखे गए पुराने और नए संदेशों पर जाँचना पड़ता है, जो training में इस्तेमाल न हुए हों। Buffer memory भी घेरता है और उसके लिए चुने हुए data को सँभालकर रखना पड़ता है।
यह भी देखें: Reservoir Sampling — यह तय करने का तरीका कि stream के कौन-से उदाहरण तय आकार वाले buffer में जाएँ, जिसमें हर उदाहरण को बराबर मौक़ा मिलता है।
Games में, Reinforcement Learning [Polski] में — यानी rewards के आधार पर actions सीखने में — स्थिति, action, reward और अगली स्थिति सँभालकर रखी जाती है। ऐसे records को यादृच्छिक ढंग से चुनने से ठीक एक के बाद एक आने वाली घटनाओं पर निर्भरता घटती है (Mnih et al., Human-level control through deep reinforcement learning, Methods, "Training algorithm for deep Q-networks")। यह सही विभाग वाले संदेश से अलग क़िस्म का data है; Atari के नतीजों को सीधे LLM पर लागू नहीं करना चाहिए।
- Continual Learning पहले की क्षमताओं को बचाए रखते हुए आगे सीखने का लक्ष्य बताता है; ER उसे हासिल करने के तरीकों में से एक है।
- Catastrophic Forgetting [Polski] पुरानी क्षमताओं में भारी गिरावट को बताता है, जिसे दोहराव कम कर सकता है।
- Fine-tuning [Polski] model की आगे की training है; replay उसके data का चुनाव बदल देता है। पुराने संदेशों को बातचीत में बस चिपका देना model का ऐसा update नहीं है।
पाठ और चित्र AI की मदद से तैयार किए गए हैं। संदेश और demonstration सिखाने के लिए बनाया गया मेरा अपना सरल उदाहरण हैं; चित्र एक रूपक है, model की बनावट का आरेख नहीं।