Zubnet AIसीखेंWiki › Adam Optimizer
प्रशिक्षण

Adam Optimizer

इसे भी कहा जाता है: Adam, AdamW
Neural networks को प्रशिक्षित करने के लिए सबसे व्यापक रूप से उपयोग किया जाने वाला optimization algorithm। Adam (Adaptive Moment Estimation) momentum (पिछले gradients के running average का उपयोग) को adaptive learning rates (पिछले gradient magnitudes के inverse द्वारा updates को scale करना) के साथ जोड़ता है। AdamW बेहतर regularization के लिए decoupled weight decay जोड़ता है। लगभग हर आधुनिक LLM AdamW के साथ प्रशिक्षित है।

यह क्यों मायने रखता है

Adam कार्यों और hyperparameters की एक विस्तृत श्रृंखला में अच्छी तरह काम करता है, जो इसे default optimizer बनाता है। इसे समझने से पता चलता है कि प्रशिक्षण अधिकांश समय "बस काम क्यों करता है" (Adam per-parameter adapt करता है) और कभी-कभी क्यों नहीं करता (Adam की memory आवश्यकताएँ मॉडल के parameters की 2x हैं, जो बड़े मॉडलों के लिए मायने रखती है)। यह 90% मामलों में "कौन सा optimizer उपयोग करूँ?" का उत्तर भी है।

गहन अध्ययन

Adam प्रति parameter दो moving averages बनाए रखता है: पहला moment (gradients का mean — momentum) और दूसरा moment (squared gradients का mean — adaptive scaling)। Update नियम: parameter -= lr × m̂ / (√v̂ + ε), जहाँ m̂ और v̂ bias-corrected moments हैं। लगातार बड़े gradients वाले parameters को छोटे updates मिलते हैं (वे पहले से ही अच्छी तरह calibrated हैं)। छोटे, noisy gradients वाले parameters को बड़े updates मिलते हैं (उन्हें अधिक आक्रामक movement की आवश्यकता है)।

AdamW: The Fix

मूल Adam ने moments की गणना करने से पहले gradient में weight decay जोड़कर लागू किया, जिससे decay adaptive learning rate द्वारा scale हो जाता था — जो आप नहीं चाहते। AdamW (Loshchilov & Hutter, 2017) weight decay को gradient update से decouple करता है, इसे सीधे parameters पर लागू करता है। यह एक मामूली fix लगता है लेकिन generalization में महत्वपूर्ण सुधार करता है। सभी आधुनिक LLM training AdamW का उपयोग करते हैं।

Memory लागत

Adam प्रति parameter दो अतिरिक्त values (पहले और दूसरे moments) store करता है, optimizer state के लिए आवश्यक memory को तीन गुना करता है: एक 70B मॉडल को weights के लिए ~140 GB (FP16) plus Adam states के लिए ~280 GB (FP32) की आवश्यकता होती है, कुल ~420 GB। यही कारण है कि optimizer state sharding (DeepSpeed ZeRO, FSDP) बड़े मॉडल training के लिए आवश्यक है। कुछ नए optimizers (Adafactor, CAME, Lion) stability की कुछ कीमत पर इस memory overhead को कम करते हैं।

संबंधित अवधारणाएँ

← सभी शब्द
← Activation Function AGI →
ESC