Batch Size & Epoch
यह क्यों मायने रखता है
गहन अध्ययन
व्यवहार में, stochastic gradient descent प्रशिक्षण डेटा को यादृच्छिक mini-batches में प्रोसेस करता है। प्रत्येक batch सच्चे gradient का एक अनुमान देता है — बड़े batches बेहतर अनुमान देते हैं (कम शोर) लेकिन प्रति चरण अधिक मेमोरी और compute की लागत लगती है। सामान्य batch sizes 32 (छोटे मॉडल, एकल GPU) से लेकर लाखों टोकन (हज़ारों GPUs पर LLM प्री-ट्रेनिंग) तक होते हैं।
बड़े-Batch प्रशिक्षण चुनौती
LLM प्री-ट्रेनिंग कई GPUs पर वितरित विशाल effective batch sizes (प्रति अपडेट लाखों टोकन) का उपयोग करती है। इस पैमाने पर, learning rate को सावधानीपूर्वक ट्यून करना होता है — रैखिक स्केलिंग नियम (batch size दोगुना करें, learning rate दोगुनी करें) एक बिंदु तक काम करता है, फिर विफल हो जाता है। Gradient accumulation आपको अपडेट करने से पहले कई forward passes में gradients जमा करके छोटे हार्डवेयर पर बड़े batches का अनुकरण करने देता है।
LLM युग में Epochs
आधुनिक LLM प्री-ट्रेनिंग आम तौर पर पूर्ण dataset पर एक epoch से कम चलती है — डेटा इतना बड़ा है कि मॉडल कभी इसे पूरा नहीं देखता। यह शास्त्रीय ML से बदलाव है जहाँ 10–100 epochs सामान्य था। शोध बताता है कि डेटा दोहराना (कई epochs) वास्तव में memorization प्रभावों के कारण LLM प्रदर्शन को नुकसान पहुँचा सकता है, हालाँकि यह डेटा गुणवत्ता पर निर्भर करता है। इसके विपरीत, फ़ाइन-ट्यूनिंग आम तौर पर बहुत छोटे dataset पर 1–5 epochs चलती है।