freshness और request की बनावट से तय कीजिए। अगर features और आबादी पहले से पता हों और predictions घंटों तक वैध रहती हों, तो batch में पहले से गणना कर लीजिए और lookup table से serve कीजिए, जो सरल, सस्ता और कहीं ज्यादा भरोसेमंद है। real time तब चुनिए जब features मौजूदा request पर निर्भर हों, entity सेट की कोई सीमा न हो, या बासीपन फैसले को सचमुच नुकसान पहुंचाता हो।
इंटरव्यूअर यह क्यों पूछते हैं
यह आर्किटेक्चर की समझ का सवाल है, और इंटरव्यूअर देखना चाहते हैं कि आपका डिफॉल्ट सरल विकल्प है। बहुत सारे कैंडिडेट वहां low latency सर्विस उठा लेते हैं जहां एक nightly job और एक lookup काफी था, और ऑपरेशनल लागत बेवजह कई गुना हो जाती है। सबसे तगड़े जवाब hybrid पैटर्न का जिक्र करते हैं, यानी भारी features batch में पहले से निकालना और उन्हें request के वक्त के signals के साथ जोड़ना।
अपना जवाब कैसे स्ट्रक्चर करें
- freshness की जरूरत और features की उपलब्धता से शुरू करें।
- जहां batch फिट बैठता है, वहां उसे सस्ते डिफॉल्ट के तौर पर सामने रखें।
- जो हालात real time मजबूर करते हैं, उनका नाम लें।
- बीच के आम रास्ते के तौर पर hybrid पैटर्न रखें।
उदाहरण जवाब
मैं दो सवालों से शुरू करता हूं: prediction कितनी बासी हो सकती है, और क्या मुझे पहले से पता है कि मैं किसे score कर रहा हूं। मौजूदा ग्राहकों पर हफ्तेवार churn score जैसी किसी चीज में दोनों जवाब batch के पक्ष में हैं। मैं एक nightly job चलाता हूं, scores एक table में लिखता हूं, और serving एक primary key lookup बन जाती है जो लगभग फेल हो ही नहीं सकती। request वाले रास्ते पर कोई accelerator नहीं, कोई cold start नहीं, और अगर job टूटे तो भी कल के scores मेरे पास हैं, जो timeout से कहीं नरम नाकामी है। real time तब अपनी जगह कमाती है जब features खुद request से आते हों, जैसे यूजर ने अभी क्या टाइप किया या उसकी cart में अभी क्या है, या जब entity अभी मौजूद ही न हो, जैसे बिल्कुल नया session। मैंने जो ज्यादातर सिस्टम बनाए वे hybrid ही निकले: भारी aggregates batch में निकालकर cache किए, request के वक्त गिनी चुनी live signals के साथ join किए, फिर score किया। इससे online रास्ता सस्ता रहता है और सिस्टम अभी अभी हुई बात पर भी प्रतिक्रिया देता है। जो गलती मैं टालने की कोशिश करता हूं वह है सिर्फ बेहतर दिखने वाले आर्किटेक्चर डायग्राम के लिए real time चुन लेना, जबकि नीचे कोई उस freshness का इस्तेमाल ही नहीं करता।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- बीच में फेल हो जाने वाली batch job को आप कैसे संभालेंगे?
- hybrid पैटर्न जटिलता में आपको क्या कीमत देता है?
- batch और online feature गणना को एक दूसरे से खिसकने से आप कैसे रोकते हैं?
मशीन लर्निंग इंजीनियर के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें