मशीन लर्निंग इंजीनियर इंटरव्यू सवाल

momentum वाले SGD और Adam में क्या फर्क है, और आप किसे चुनते हैं?

इंटरव्यूअर असल में क्या परख रहा है, अपना जवाब कैसे स्ट्रक्चर करें, और एक बोला हुआ उदाहरण जिसे आप अपना सकते हैं।

छोटा जवाब

momentum वाला SGD एक ही global learning rate इस्तेमाल करता है और updates को smooth करने के लिए एक velocity term जमा करता रहता है। Adam gradient के first और second moment के running estimates से हर parameter का अपना adaptive rate रखता है, इसलिए वह बहुत कम tuning में तेजी से converge हो जाता है। transformers और sparse समस्याओं के लिए डिफॉल्ट Adam है; बहुत सारे vision models पर ढंग से tune किया गया momentum वाला SGD आज भी बेहतर generalize करता है।

इंटरव्यूअर यह क्यों पूछते हैं

इंटरव्यूअर देखना चाहते हैं कि आप optimizers को एक mechanism की तरह समझते हैं या सिर्फ एक string argument की तरह। असली फर्क per parameter adaptivity है और उससे आपको क्या मिलता है: गलत चुने गए learning rate और sparse gradients के सामने मजबूती। अच्छे कैंडिडेट AdamW का जिक्र करते हैं और यह भी बताते हैं कि weight decay को अलग करना क्यों मायने रखता है, साथ में warmup और schedules, क्योंकि इन दोनों के बिना transformer तो लगभग कोई ट्रेन ही नहीं करता।

अपना जवाब कैसे स्ट्रक्चर करें

  • बताएं कि हर optimizer अपने state में क्या रखता है।
  • समझाएं कि per parameter adaptivity असल में आपको क्या देती है।
  • अपना डिफॉल्ट बताएं और वह केस भी जहां आप बदल देंगे।
  • AdamW, warmup और जिस schedule के साथ आप उसे जोड़ते हैं, उसका जिक्र करें।

उदाहरण जवाब

बोला हुआ उदाहरण, पहले व्यक्ति में

momentum पिछले gradients का running average रखता है, इसलिए update flat हिस्सों में गति लेकर चलता है और किसी घाटी के आर पार होने वाला oscillation दब जाता है। फिर भी learning rate हर parameter के लिए एक ही रहता है। Adam एक दूसरा running average जोड़ता है, squared gradients का, और उसके square root से भाग देता है, जिससे हर parameter को अपना effective step size मिल जाता है। जिन parameters के gradients लगातार बड़े होते हैं उन्हें छोटे कदम मिलते हैं, और sparse gradients वाले दुर्लभ features को बड़े। व्यावहारिक तौर पर इसका मतलब है कि शुरुआती learning rate गलत चुनने पर Adam कहीं कम संवेदनशील है, और इसीलिए वह हर transformer जैसी चीज और embedding heavy models के लिए डिफॉल्ट है। मेरा असल डिफॉल्ट सादा Adam नहीं, AdamW है, क्योंकि weight decay को adaptive term के अंदर घोल देने से decay हर parameter के लिए अलग अलग हो जाता है, और उसे अलग करना यही ठीक करता है। मैं उसके साथ कुछ सौ steps का linear warmup और फिर cosine decay लगाता हूं। जहां मैं सचमुच momentum वाले SGD पर जाता हूं वह है convolutional vision backbones का fine tuning, जहां ढंग से tune किया गया schedule validation accuracy पर आज भी करीब एक पॉइंट बेहतर उतरता है, बशर्ते उसे tune करने का बजट मेरे पास हो।

जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।

देखें यह कैसे काम करता है

फॉलो-अप सवाल जिनकी उम्मीद रखें

  • शुरुआती steps में Adam को bias correction की जरूरत क्यों पड़ती है?
  • Adam के मुकाबले AdamW असल में क्या बदलता है?
  • जिस मॉडल को आपने कभी ट्रेन नहीं किया, उसके लिए शुरुआती learning rate आप कैसे चुनेंगे?

मशीन लर्निंग इंजीनियर के और सवाल

आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।

मेरे सवाल प्रेडिक्ट करें

मुश्किल सवाल पूछे जाने से पहले उनकी रिहर्सल कीजिए

एक लाइव कोपायलट के साथ प्रैक्टिस कीजिए, फिर तैयार होकर अंदर जाइए। $29 Session Pass आपको इंटरव्यू पार करा देता है, न कोई सब्सक्रिप्शन, न कोई लॉक-इन।

GhostPilot पाएं