36 पॉइंट द्वारा xguru 2024-06-10 | 4 टिप्पणियां | WhatsApp पर शेयर करें
  • सवाल के जवाब देने वालों की बातों का संक्षेप

schmookeeg

  • इस समय मशीन लर्निंग इंजीनियर के रूप में काम करते हुए सबसे पसंदीदा हिस्सा non-technical background वाले लोगों के साथ सहयोग करना है
    • जो लोग 5 में से 3 बार से ज़्यादा MS Outlook भी नहीं खोल पाते, उनके पास भी अपने विशेषज्ञता क्षेत्र के बारे में चौंका देने वाली गहराई और समझ होती है
    • यह बहुत विनम्र बना देता है
  • non-technical background वाले लोग मुझे जादूगर समझते हैं, और मैं उन्हें वूडू पुजारी की तरह देखता हूँ
    • जब हम अपनी पसंद की चीज़ों को train करते हैं और prediction करते हैं, तो यह दोनों पक्षों के लिए बहुत संतोषजनक होता है
  • ज़्यादातर modeling healthcare से जुड़ी होती है
    • claims, prescriptions, डॉक्टर की राय, vital signs, diagnostic imaging जैसे विशाल data lake से insights निकाले जाते हैं
    • इस जानकारी तक इतनी आसानी से पहुँचा जा सकता है, यह भी बहुत बड़ी बात है (HIPAA को अभी अलग रख दें)
  • समय की वास्तविकता
    • हफ्ते में लगभग 3 घंटे meetings में चले जाते हैं
    • काम की तैयारी, ETL समस्याएँ सुलझाने, और business के लिए one-off queries चलाने में लगभग 3 घंटे लगते हैं
    • बाकी समय data को explore करने में जाता है ताकि multi-million dollar revenue की prediction में थोड़ा-सा edge मिल सके
      • यह कुछ ऐसा है जैसे गणित से Where's Wally ढूँढना
      • और वह Wally scene लगभग 50TB का है :D

burnedout_dc4e3

  • 2000 के दशक के मध्य से मशीन लर्निंग कर रहा हूँ
  • आधा समय model training और usage के लिए data को साफ़-सुथरा करने, यानी "data pipeline को चलते रहने" में जाता है
  • बाकी आधा समय उन "AI scientists" के लिए technical support में जाता है जिनकी coding skills लगभग न के बराबर हैं
    • वे अलग-अलग chatbot services में चीज़ें copy/paste करने में समय बिताते हैं
      • उन्हें Python packages install करना और Git इस्तेमाल करना सिखाना ही मुख्य काम है
    • उनके पास इस बात की कोई योजना नहीं है कि उनका काम हमारे प्रोजेक्ट में कैसे लागू होगा
      • लेकिन वे दावा करते हैं कि transformer models हमारी सारी data processing समस्याएँ हल कर देंगे
  • इस hype cycle के खत्म होने तक कोई नया काम न करके नौकरी छोड़ देने पर विचार कर रहा हूँ

tambourineman88

  • मशीन लर्निंग पढ़ते समय जो उम्मीद थी, असलियत उसका उल्टा निकली
    • इस काम का 95% data cleaning, datasets को जोड़ना, और feature engineering है
    • model fitting और testing सिर्फ 5% है
  • इस पोस्ट पर जवाब #1
    • शुरुआत से ऐसा ही था, अभी भी ऐसा ही है, और आगे भी ऐसा ही रहेगा, आमीन
    • staff/principal level पर महत्वपूर्ण बातें
      • inference models पर निर्भर product features और data capture के बीच "data impedance" बनाए रखना ज़रूरी है
      • ताकि product या feature बदलने पर भी instrumentation और data granularity, जो data stores और training corpus को data देती है, टूटे नहीं
    • reinforcement learning (RL) समस्याओं में महत्वपूर्ण बात
      • यह सुनिश्चित करना ज़रूरी है कि state और action space tuples के लिए सही variables capture किए गए हों
      • उसके बाद reward feedback के लिए interface या environment model को कैसे adjust किया जाए, यह ढूँढना आता है

davedx

  • pip install pytorch चलाया
  • environment टूट गया
  • Python environment ठीक करने में 4 घंटे लगे
  • pip install Pillow चलाया
  • error आया कि यह MacBook की CPU architecture से मेल नहीं खाता
  • Python से जुड़ी हर चीज़ हटाकर शुरुआत से फिर install करने में और 4 घंटे लगे
  • pip install ... चलाने ही वाला था, लेकिन घर जाने का समय हो गया!

Xenoamorphous

  • मैं एक सामान्य software developer हूँ, लेकिन ज़रूरत के कारण ML का काम करना पड़ा
  • जिज्ञासा है कि "असल" ML experts probabilistic/gradient descent के परिणामों और लोगों की expectations को कैसे संभालते हैं
  • सामान्य software काम में चीज़ या तो चलती है या नहीं चलती, और अगर नहीं चलती तो वजह समझाई जा सकती है और उम्मीद है कि उसे ठीक भी किया जा सकता है
  • लेकिन ML में सवाल आता है: "इस text classifier ने इस text को सही classify क्यों नहीं किया?"
    • इसके जवाब में बस इतना ही कहा जा सकता है कि "यह threshold पूरा करने से 0.004 points कम रह गया" या "शब्दों के चुनाव या क्रम की वजह से यह पास नहीं हुआ"
    • लगता है इससे कोई भी संतुष्ट नहीं होता

angarg12

  • पदनाम ML engineer है, लेकिन असली काम लगभग पूरी तरह pure software engineering के क़रीब है
  • मुख्य काम production environment में ML systems को support करने वाले systems बनाना है
    • जैसा दूसरों ने भी कहा, इसमें ज़्यादातर data transformation, model training, model serving वगैरह शामिल हैं
  • tools बनाना या मौजूदा systems में बदलाव करना ताकि scientists अपना काम कर सकें, यह भी काम का हिस्सा है
  • लेकिन बाहर से देखने पर लगता है कि मेरी कंपनी थोड़ा अपवाद है
  • industry में ML engineer से अपेक्षाएँ data/applied scientist के कामों (जैसे model बनाना और test करना) से ज़्यादा मेल खाती दिखती हैं
    • इससे हर कंपनी में हर role की अपेक्षाओं को लेकर काफी अस्पष्टता पैदा होती है

runban

  • ऊँची तनख्वाह वाला सफ़ाईकर्मी
    • गंदे data से अच्छे results नहीं मिलते
    • और हाँ, इस काम के लिए Python से कहीं बेहतर Perl है
  • ऊँची तनख्वाह वाला motherboard troubleshooter
    • water cooling होने पर भी H100 सच में बहुत गर्म हो जाते हैं
    • क्योंकि हमारे पास dedicated hardware व्यक्ति नहीं है
  • और सबकी तरह अपनी मर्ज़ी से चलने वाली third-party dependencies से लड़ाई

primaprashant

  • पिछले 5 साल से MLE के रूप में काम कर रहा हूँ, और जैसा दूसरे comments में कहा गया है, ज़्यादातर काम SWE जैसा ही है
  • project phase के अनुसार रोज़मर्रा का काम बदलता रहता है, लेकिन आम तौर पर इनमें से एक होता है:
    • stakeholders और TPM के साथ मिलकर, data analysis के ज़रिए high-priority business problems को हल करने के लिए hypotheses बनाना
    • business problem को ML problem के रूप में frame करना, और ML model तथा business problem के अनुरूप metrics बनाना
    • नई features और ideas की technical feasibility validate करने के लिए PoC और prototypes बनाना
    • architecture और technical decisions के लिए design docs लिखना
    • platform team के साथ मिलकर, नई और मौजूदा ML projects की requirements के अनुसार data pipelines सेटअप और maintain करना
    • inference के लिए ML microservices बनाना, deploy करना और maintain करना
    • A/B tests चलाना और post-test analysis के लिए design docs लिखना
    • ML model retraining के लिए pipelines सेटअप करना

jackspawn

  • 50% से ज़्यादा समय backend engineering में जाता है
    • क्योंकि ML एक बड़े API के भीतर इस्तेमाल होता है
  • उस API के end-to-end experience की ज़िम्मेदारी भी मेरी है
    • इसलिए मैं वही करता हूँ जो समय के हिसाब से सबसे ज़्यादा value देता है
    • और अक्सर उसका ML model से कोई संबंध नहीं होता

mardifoufs

  • inference code optimize करना और trained models को "productize" करना मेरा काम है
  • अभी मैं ऐसे industry में काम कर रहा हूँ जहाँ cloud services अभी आम तौर पर इस्तेमाल नहीं होतीं, इसलिए local training और inference पर काम कर रहा हूँ
    • यह दिलचस्प है क्योंकि यह LLM नहीं है, इसलिए ready-made tools बहुत ज़्यादा नहीं हैं
    • बहुत-सी चीज़ें खुद बनानी पड़ती हैं
  • data quality evaluation (जिसमें local हिस्सा चुनौतीपूर्ण है) से लेकर सीधे CUDA इस्तेमाल करने तक, तरह-तरह के काम करता हूँ
    • क्योंकि कुछ signal processing libraries पहले से CUDA पर बनी हुई हैं और उनका लाभ उठाया जा सकता है
  • कभी-कभी team (researchers/MLE mixed team) के लिए internal tools बनाना भी शामिल होता है
    • यह बहुत niche domain है, इसलिए data और inference को visualize करने के लिए चीज़ें खुद बनानी पड़ती हैं
  • tools और internal software design को लेकर पूरी आज़ादी है, इसलिए संगठन के भीतर काफी प्रभाव डाल पाया हूँ
  • जो tools मैंने जल्दी-जल्दी बनाकर खड़े किए थे, उनमें से एक अब मुख्य product में भी शामिल होने जा रहा है

hirako2000

  • यह मेरा मुख्य काम नहीं है, लेकिन ज़्यादातर समय "यह-वह जोड़ने" वाले कामों में चला जाता है
    • मौजूदा open source को tweak करना
    • resources optimize करने के तरीके ढूँढना
    • अलग datasets पर models को retrain करना
    • बेतरतीब लिखे Python code को चलाने की कोशिश करना
    • missing requirements files जोड़ना
    • data cleaning
  • यह सोचने में समय जाता है कि ऐसी कौन-सी चीज़ है जिसे सचमुच ML से उपयोगी तरीके से हल किया जा सकता है और जो कई साल पहले ही हल नहीं हो चुकी
  • नवीनतम GPU prices देखना, और हिसाब लगाना कि hosting provider से महँगा समय किराए पर लेने के बजाय GPU खरीदना बेहतर होगा या नहीं
  • सिर दर्द होने तक papers पढ़ना
    • abstracts पढ़ने और बीच के कुछ diagrams सरसरी तौर पर देखने में समय लग जाता है

tenache

  • मशीन लर्निंग पढ़ी थी और मूल रूप से उसी role के लिए hire किया गया था, लेकिन कंपनी ने दिशा बदल ली और अब LLM पर काम कर रहा हूँ
  • ज़्यादातर समय इन चीज़ों में जाता है:
    • अलग-अलग LLM कैसे काम करते हैं, यह समझना
    • सबसे अच्छे parameters ढूँढना
    • RAG(Retrieval-Augmented Generation) कैसे किया जाए
    • दूसरे bots के साथ integration कैसे किया जाए

trybackprop

  • किसी सामान्य हफ्ते में मैं आम तौर पर ये काम करता हूँ:
  • 15%: technical discussion meetings या 1:1 meetings
    • आम तौर पर models के ideas, planning, या ML product support पर चर्चा होती है
  • 40%: ML development
    • project के शुरुआती चरण में product requirements समझता हूँ
    • team के साथ इस पर चर्चा करता हूँ कि कौन-सा ML model या algorithm product/business goals हासिल करने में मदद कर सकता है
    • analysts और data scientists से मौजूदा datasets इकट्ठा करता हूँ
    • इन datasets का उपयोग करके training और validation datasets बनाने वाली pipeline बनाता हूँ
    • जब तक training/validation datasets भरते हैं (अधिकतम 2 हफ्ते लग सकते हैं), तब तक दूसरे projects पर साथ-साथ काम करता हूँ जो development के अलग चरणों में होते हैं
    • नए models (PyTorch में लिखे गए) पर भी काम करता हूँ, उन्हें थोड़े data पर test करके offline performance देखता हूँ, और यह परखता हूँ कि वे उम्मीद के मुताबिक काम कर रहे हैं या नहीं
    • model की बुनियादी समझदारी जाँचने के लिए, model से product information भरवाने वाले कुछ manual tests चलाता हूँ (बड़े experiments के बिना मुझे और मेरे teammates की intuition पर ही निर्भर रहना पड़ता है)
    • training/validation datasets तैयार हो जाने पर, model को बड़े data पर train करता हूँ, offline results देखता हूँ, और अगर समस्या हो तो model tune करता हूँ या architecture बदलता हूँ
    • अगर offline results अच्छे या आशाजनक लगें, तो experiment के लिए model को production में deploy करता हूँ
    • साथ ही, बनाए गए नए model की testing के लिए product/infrastructure code में बदलाव भी कर सकता हूँ
    • experiment चलाता हूँ और traffic को धीरे-धीरे बढ़ाकर 1-5% allocation तक ले जाता हूँ, फिर उसे कई हफ्तों या एक महीने तक चलाता हूँ
    • इस बीच, results observe करता हूँ और सभी संबंधित pipelines monitor करता हूँ ताकि model ठीक से train हो, और अनपेक्षित infrastructure/bug/product factors की वजह से experiment results प्रभावित न हों
    • अगर results उम्मीद के मुताबिक दिखें और शुरुआती hypothesis से मेल खाएँ, तो team के साथ launch पर चर्चा करते हैं, और अगर launch का फैसला होता है, तो launch कर देते हैं!
      • (नोट: model development में feature writing, dataset preparation, analysis, ML model खुद बनाना, और product/infrastructure code changes लागू करना सब शामिल है)
  • 20%: maintenance
    • नया model develop करने का मतलब यह नहीं कि पुराने models को नज़रअंदाज़ कर दिया जाए
    • रोज़ जाँचता हूँ कि performance गिर तो नहीं रही या किसी अनपेक्षित तरीके से बदल तो नहीं गई
    • साथ ही pipelines को ठीक करता हूँ और उन्हें ज़्यादा efficient बनाता हूँ
  • 15%: research papers और skills सीखना
    • AI/ML की दुनिया बहुत तेज़ी से बदल रही है, इसलिए लगातार नए research papers पढ़ता हूँ और updated रहने के लिए घर पर नई techniques test करता हूँ
    • यह मज़ेदार है, इसलिए बोझ नहीं लगता
    • इसे updated रहने के लिए किया जाने वाला काम नहीं मानता
  • 10%: internal research
    • इस समय का उपयोग team या कंपनी के दूसरे products के बारे में ज़्यादा सीखने, और यह पता लगाने में करता हूँ कि हमारी team उनकी कैसे मदद कर सकती है या उनसे कौन-सी skills/techniques उधार ले सकती है
    • पिछले 6 महीनों/1 साल के काम को पीछे मुड़कर देखकर मिली insights लिखने में भी यह समय जाता है

4 टिप्पणियां

 
ohyecloudy 2024-06-17

"जिन लोगों का technical background नहीं है, वे मुझे जादूगर समझते हैं, और मैं उन्हें वूडू पुजारी समझता हूँ" — यह अभिव्यक्ति मज़ेदार है।

 
nutella 2024-06-12

डेटा... डेटा... relatable है

 
halfenif 2024-06-10

जैसा मैंने धुंधले तौर पर सोचा था, वे सचमुच वही कर रहे हैं।

 
tttttaa 2024-06-10

काफ़ी दिलचस्प बात है!