[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:ml-engineer\u002Fml-monitoring-drift":4,"config":126},null,{"field_key":5,"field_name":6,"seniority":7,"topic_key":8,"topic_name":9,"spec_key":7,"spec_name":7,"locale":10,"cell_total":11,"field_total":12,"seniorities":13,"topics":17,"specs":40,"samples":41},"ml-engineer","ML Engineer","","ml-monitoring-drift","Ml Monitoring Drift","tr",75,600,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,34,37],{"key":19,"name":20,"count":11},"ml-data-preparation","Ml Data Preparation",{"key":22,"name":23,"count":11},"ml-deployment-serving","Ml Deployment Serving",{"key":25,"name":26,"count":11},"ml-experimentation-reproducibility","Ml Experimentation Reproducibility",{"key":28,"name":29,"count":11},"ml-model-selection-tuning","Ml Model Selection Tuning",{"key":31,"name":32,"count":11},"ml-model-training-evaluation","Ml Model Training Evaluation",{"key":8,"name":9,"count":11},{"key":35,"name":36,"count":11},"ml-problem-framing","Ml Problem Framing",{"key":38,"name":39,"count":11},"ml-scaling-performance","Ml Scaling Performance",[],[42,60,73,87,100,113],{"id":43,"topic":9,"difficulty":44,"body":45,"options":46,"correct_key":54,"explanation":59},"019f6b80-b7ca-709f-8156-8196c07452b3",1,"Üretime alınmış bir makine öğrenmesi modeli bağlamında 'data drift' (veri kayması) terimi neyi ifade eder?",[47,50,53,56],{"key":48,"text":49},"a","Eğitim pipeline'ındaki bir hatanın, modelin bozuk etiketlerle eğitilmesine yol açması.",{"key":51,"text":52},"b","Sunum altyapısı yaşlandıkça modelin çıkarım gecikmesinin kademeli olarak artması.",{"key":54,"text":55},"c","Modelin üretimde aldığı girdi dağılımının, eğitim verisine kıyasla değişmesi.",{"key":57,"text":58},"d","Mühendislik ekibinin dağıtımdan sonra model mimarisinde bilinçli olarak yaptığı bir değişiklik.","Data drift, gerçek girdi-çıktı ilişkisi değişmese bile, üretimde görülen girdi (özellik değerleri) dağılımının eğitim dağılımından uzaklaşması anlamına gelir. Bu; pipeline hatalarından, gecikme sorunlarından veya mimari değişikliklerden farklıdır.",{"id":61,"topic":9,"difficulty":44,"body":62,"options":63,"correct_key":48,"explanation":72},"019f6b80-b7ca-7bff-aec5-8988099d47cb","Üretimdeki bir model için 'concept drift' (kavram kayması) ne anlama gelir?",[64,66,68,70],{"key":48,"text":65},"Girdiler ile doğru çıktı arasındaki ilişkinin zamanla değişmesi.",{"key":51,"text":67},"Kaynak veritabanındaki bir şema değişikliği nedeniyle modelin kullanabildiği özellik setinin daralması.",{"key":54,"text":69},"Modelin çıktı formatının olasılık skorundan sınıf etiketine dönüşmesi.",{"key":57,"text":71},"Eğitim veri setinin daha fazla bölgeyi kapsayan daha büyük bir veri setiyle değiştirilmesi.","Concept drift, öğrenilen fonksiyonun (girdi ile sonuç arasındaki ilişkinin) değişmesiyle ilgilidir, sadece girdi dağılımıyla değil. Bu yüzden model 'normal görünen' girdiler almaya devam etse bile gitgide daha yanlış tahminler üretebilir.",{"id":74,"topic":9,"difficulty":75,"body":76,"options":77,"correct_key":57,"explanation":86},"019f6b80-b7cb-7399-be26-0253baafe23d",2,"Bir ekip, girdi özellik değerlerinin dağılımı eğitim dönemine göre neredeyse aynı görünmesine rağmen modelin doğruluğunun düştüğünü fark ediyor. En olası açıklama hangi drift türüdür?",[78,80,82,84],{"key":48,"text":79},"Data drift — girdi özellik dağılımı, özet istatistiklerle tespit edilemeyecek bir şekilde kaymıştır.",{"key":51,"text":81},"Etiket sızıntısı — eğitim setine yanlışlıkla hedef değişken özellik olarak dahil edilmiştir.",{"key":54,"text":83},"Örnekleme yanlılığı — üretim trafiği, değerlendirmede kullanılan test setinden farklı bir kitleyi temsil etmektedir.",{"key":57,"text":85},"Concept drift — girdiler değil, girdiler ile doğru sonuç arasındaki ilişki değişmiştir.","Girdi dağılımları stabil görünüyor ama tahmin performansı düşüyorsa, muhtemelen girdiler değil (data drift), girdiden çıktıya olan eşleme (concept drift) değişmiştir.",{"id":88,"topic":9,"difficulty":44,"body":89,"options":90,"correct_key":51,"explanation":99},"019f6b80-b7cb-7eb8-a1fd-214499fff43b","'Offline' model performans monitoring'ini en iyi tanımlayan seçenek hangisidir?",[91,93,95,97],{"key":48,"text":92},"Her tahmin isteğini ve yanıtını gerçek zamanlı olarak kaydedip hiçbir metrik hesaplamamak.",{"key":51,"text":94},"Modeli, doğruluk benzeri metrikler için etiketli yakın geçmiş veriye karşı periyodik olarak değerlendirmek.",{"key":54,"text":96},"Yalnızca sunum altyapısının CPU ve bellek kullanımını izlemek.",{"key":57,"text":98},"Orijinal eğitim koşusu sırasında modelin eğitim kaybı (loss) eğrisini izlemek.","Offline monitoring, üretimdeki yakın geçmiş veri için gerçek etiketler elde edildikten sonra, precision\u002Frecall\u002Fhata oranı gibi denetimli metrikleri genellikle günlük ya da haftalık bir takvimle yeniden hesaplamak demektir.",{"id":101,"topic":9,"difficulty":75,"body":102,"options":103,"correct_key":48,"explanation":112},"019f6b80-b7cc-76ad-a051-00a64de3c7fe","Üretimde gerçek etiketler genellikle hemen elde edilemediğinden, 'online' monitoring bunun yerine tipik olarak neye dayanır?",[104,106,108,110],{"key":48,"text":105},"Tahmin anında elde edilebilen proxy sinyaller; girdi ve tahmin dağılımları gibi.",{"key":51,"text":107},"Her tahminin sunulmadan önce bir insan uzman tarafından tek tek manuel olarak incelenmesi.",{"key":54,"text":109},"Gelen her istekte tüm offline değerlendirme paketinin yeniden çalıştırılması.",{"key":57,"text":111},"Model sağlığını kontrol etmeden önce bir sonraki planlı yeniden eğitim döngüsünü beklemek.","Online monitoring, gerçek etiketler anında olmadan çalışmalıdır; bu yüzden etiketli değerlendirme mümkün olmadan önce sorunları yakalamak için girdi\u002Ftahmin dağılım kaymaları, güven skorları ve hacim anomalileri gibi proxy sinyalleri izler.",{"id":114,"topic":9,"difficulty":75,"body":115,"options":116,"correct_key":54,"explanation":125},"019f6b80-b7cc-7d35-b825-1ae985ecbe95","Bir dolandırıcılık tespiti modelinin gerçek etiketleri (onaylanmış dolandırıcılık\u002Fdeğil), bir itiraz süreci sonuçlanana kadar işlemden 30 gün sonra elde edilebiliyor. Bu durum ana olarak hangi monitoring zorluğunu yaratır?",[117,119,121,123],{"key":48,"text":118},"Performans değişse de değişmese de model her 30 günde bir yeniden eğitilmelidir.",{"key":51,"text":120},"Feature store 30 günden eski veriyi saklayamaz, bu yüzden geçmişe dönük karşılaştırma imkansızdır.",{"key":54,"text":122},"Precision ve recall ancak 30 günlük bir gecikmeyle hesaplanabilir, bu da sorun tespitini yavaşlatır.",{"key":57,"text":124},"Etiketler geldikten sonra işlemlerin ikinci kez modelden geçirilmesi gerekir.","Gerçek etiket sabit bir pencereyle (burada 30 gün) gecikince, ekiplerin sorunları neredeyse gerçek zamanlı yakalaması için proxy\u002Fonline monitoring'e ihtiyacı olur; çünkü etikete dayalı offline metrikler doğal olarak aynı pencere kadar gecikir.",{"fields":127,"seniorities":311,"interview_shapes":312,"locales":317,"oauth":319,"question_count":322,"coach_enabled":323,"jd_match_enabled":323},[128,153,173,190,214,227,246,265,287,294,300,307],{"key":129,"name_tr":130,"name_en":130,"sort":44,"specializations":131},"backend","Backend",[132,135,138,141,144,147,150],{"key":133,"name":134,"field":129},"general","Genel",{"key":136,"name":137,"field":129},"go","Go",{"key":139,"name":140,"field":129},"python","Python",{"key":142,"name":143,"field":129},"java","Java",{"key":145,"name":146,"field":129},"csharp","C#\u002F.NET",{"key":148,"name":149,"field":129},"nodejs","Node.js",{"key":151,"name":152,"field":129},"php","PHP",{"key":154,"name_tr":155,"name_en":155,"sort":75,"specializations":156},"frontend","Frontend",[157,158,161,164,167,170],{"key":133,"name":134,"field":154},{"key":159,"name":160,"field":154},"javascript","JavaScript",{"key":162,"name":163,"field":154},"typescript","TypeScript",{"key":165,"name":166,"field":154},"react","React",{"key":168,"name":169,"field":154},"vue","Vue",{"key":171,"name":172,"field":154},"angular","Angular",{"key":174,"name_tr":175,"name_en":175,"sort":176,"specializations":177},"fullstack","Fullstack",3,[178,179,180,181,182,183,184,185,186,187,188,189],{"key":133,"name":134,"field":174},{"key":136,"name":137,"field":129},{"key":139,"name":140,"field":129},{"key":142,"name":143,"field":129},{"key":145,"name":146,"field":129},{"key":148,"name":149,"field":129},{"key":151,"name":152,"field":129},{"key":159,"name":160,"field":154},{"key":162,"name":163,"field":154},{"key":165,"name":166,"field":154},{"key":168,"name":169,"field":154},{"key":171,"name":172,"field":154},{"key":191,"name_tr":192,"name_en":192,"sort":193,"specializations":194},"devops-cloud","DevOps \u002F Cloud",4,[195,196,199,202,205,208,211],{"key":133,"name":134,"field":191},{"key":197,"name":198,"field":191},"aws","AWS",{"key":200,"name":201,"field":191},"gcp","GCP",{"key":203,"name":204,"field":191},"azure","Azure",{"key":206,"name":207,"field":191},"kubernetes","Kubernetes",{"key":209,"name":210,"field":191},"terraform","Terraform",{"key":212,"name":213,"field":191},"linux","Linux",{"key":215,"name_tr":216,"name_en":216,"sort":217,"specializations":218},"ai-engineer","AI Engineer",5,[219,220,221,224],{"key":133,"name":134,"field":215},{"key":139,"name":140,"field":215},{"key":222,"name":223,"field":215},"llm-rag","LLM\u002FRAG",{"key":225,"name":226,"field":215},"mlops","MLOps",{"key":228,"name_tr":229,"name_en":230,"sort":231,"specializations":232},"database","Veritabanı","Database",6,[233,234,237,240,243],{"key":133,"name":134,"field":228},{"key":235,"name":236,"field":228},"postgresql","PostgreSQL",{"key":238,"name":239,"field":228},"mysql","MySQL",{"key":241,"name":242,"field":228},"mongodb","MongoDB",{"key":244,"name":245,"field":228},"redis","Redis",{"key":247,"name_tr":248,"name_en":249,"sort":250,"specializations":251},"mobile","Mobil","Mobile",7,[252,253,256,259,262],{"key":133,"name":134,"field":247},{"key":254,"name":255,"field":247},"ios-swift","iOS (Swift)",{"key":257,"name":258,"field":247},"android-kotlin","Android (Kotlin)",{"key":260,"name":261,"field":247},"flutter","Flutter",{"key":263,"name":264,"field":247},"react-native","React Native",{"key":266,"name_tr":267,"name_en":268,"sort":269,"specializations":270},"security","Güvenlik","Security",8,[271,272,275,278,281,284],{"key":133,"name":134,"field":266},{"key":273,"name":274,"field":266},"appsec","AppSec",{"key":276,"name":277,"field":266},"offensive-pentest","Offensive \u002F Pentest",{"key":279,"name":280,"field":266},"cloud-security","Cloud Security",{"key":282,"name":283,"field":266},"devsecops","DevSecOps",{"key":285,"name":286,"field":266},"blue-team-incident","Blue Team \u002F Incident",{"key":288,"name_tr":289,"name_en":290,"sort":291,"specializations":292},"qa-test-automation","QA \u002F Test Otomasyonu","QA \u002F Test Automation",9,[293],{"key":133,"name":134,"field":288},{"key":295,"name_tr":296,"name_en":296,"sort":297,"specializations":298},"data-engineer","Data Engineer",10,[299],{"key":133,"name":134,"field":295},{"key":301,"name_tr":302,"name_en":303,"sort":304,"specializations":305},"game-dev","Oyun Geliştirme","Game Development",11,[306],{"key":133,"name":134,"field":301},{"key":5,"name_tr":6,"name_en":6,"sort":308,"specializations":309},12,[310],{"key":133,"name":134,"field":5},[14,15,16],{"junior":313,"mid":315,"senior":316},{"questions":314,"median_sec":3},20,{"questions":314,"median_sec":3},{"questions":314,"median_sec":3},[10,318],"en",[320,321],"google","github",21750,true]