logic को cells से निकालकर tested modules में ले जाएं, और feature engineering को training व serving के बीच साझा रखें ताकि दोनों अलग हो ही न सकें। training को एक parameterized job की तरह लपेटें, सिर्फ estimator नहीं बल्कि preprocessing समेत पूरी pipeline serialize करें, और scoring को input validation वाले किसी interface के पीछे रखें। launch से पहले, बाद में नहीं, inputs और predictions पर निगरानी जोड़ें।
इंटरव्यूअर यह क्यों पूछते हैं
इंटरव्यूअर देख रहा है कि आप engineers को कुछ ऐसा सौंप सकते हैं या नहीं जिसे उन्हें दोबारा लिखना न पड़े। सबसे अहम बात है feature transformation का एक साझा रास्ता, क्योंकि serving वाली भाषा में features दोबारा लिखना training serving skew की चिरपरिचित जड़ है। पूरी pipeline serialize करना और पहले से निगरानी जोड़ना, ये दूसरे निशान हैं जो बताते हैं कि आपने model सिर्फ train नहीं किया, चलाया भी है।
अपना जवाब कैसे स्ट्रक्चर करें
- बताएं कि logic को cells से निकालकर import होने लायक, tested functions में कैसे लाते हैं।
- training और serving के लिए एक साझा feature रास्ते पर अड़ें।
- नंगे estimator नहीं, पूरी pipeline serialize करें।
- live जाने से पहले input validation और निगरानी जोड़ें।
उदाहरण जवाब
notebook वह जगह है जहां मैं तय करता हूं कि model है क्या, यह नहीं कि ship क्या होगा। पहला कदम है logic को एक module में ले जाना जिसके functions मैं import और test कर सकूं, साथ में feature transforms पर एक छोटे fixture से दो चार unit tests, क्योंकि सूक्ष्म बग वहीं रहते हैं। जिस नियम पर मैं सबसे सख्त हूं वह यह कि training और serving एक ही feature code को कॉल करें। जिस पल कोई service में features दोबारा लिखता है, वे खिसक जाते हैं, और आपको ऐसा model मिलता है जो production में अलग score करता है और वजह हफ्ते भर किसी को नहीं मिलती। फिर मैं पूरी pipeline, imputer, encoder, scaler, model, को एक ही object के तौर पर serialize करता हूं, ताकि serving कोई preprocessing कदम भूल ही न सके। training एक ऐसा job बन जाता है जो एक config और एक date range लेता है और versioned artifact लिखता है। serving की तरफ मैं inputs validate करता हूं और दायरे से बाहर की चीज को चुपचाप score करने के बजाय reject या default कर देता हूं। और निगरानी launch से पहले लगती है: input distributions, prediction distribution, null दरें, latency। अगर इनमें से सिर्फ एक मिले तो मैं input drift लूंगा, क्योंकि सबसे पहले वही बदलता है।
जल्दी ही यह इंटरव्यू देने जा रहे हैं? GhostPilot आपकी लाइव कॉल सुनता है, सवाल पूछे जाते ही उसे पकड़ लेता है, और रियल-टाइम में एक स्ट्रक्चर्ड जवाब आपकी स्क्रीन पर डाल देता है। अगले मॉक में इसे आजमाएं, या ले लें एक $29 Session Pass, कोई सब्सक्रिप्शन नहीं, असली इंटरव्यू के लिए।
देखें यह कैसे काम करता हैफॉलो-अप सवाल जिनकी उम्मीद रखें
- जिन features को serving के समय real time aggregation चाहिए, उन्हें आप कैसे संभालेंगे?
- किसी model के लिए अच्छा rollback plan कैसा दिखता है?
- continuous integration में model pipeline को आप कैसे test करते हैं?
डेटा साइंटिस्ट के और सवाल
आपका इंटरव्यूअर इसका अपना वर्ज़न पूछेगा। फ्री Question Predictor में अपना असली जॉब डिस्क्रिप्शन पेस्ट कीजिए और वो 20 सवाल पाइए जो उस रोल में सबसे ज्यादा पूछे जाने की संभावना है, साथ में यह भी कि हर सवाल असल में क्या टटोल रहा है।
मेरे सवाल प्रेडिक्ट करें