[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"me":3,"catalog:tr:ml-engineer\u002Fml-scaling-performance":4,"config":125},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-scaling-performance","Ml Scaling Performance","tr",75,600,[14,15,16],"junior","mid","senior",[18,21,24,27,30,33,36,39],{"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":34,"name":35,"count":11},"ml-monitoring-drift","Ml Monitoring Drift",{"key":37,"name":38,"count":11},"ml-problem-framing","Ml Problem Framing",{"key":8,"name":9,"count":11},[],[42,60,73,86,99,112],{"id":43,"topic":9,"difficulty":44,"body":45,"options":46,"correct_key":57,"explanation":59},"019f6b80-b7ed-7002-8e55-4db9a7598700",1,"Dağıtık eğitimde 'veri paralelliği' temel düzeyde ne anlama gelir?",[47,50,53,56],{"key":48,"text":49},"a","Tek bir modelin katmanlarını birden fazla cihaza bölmek.",{"key":51,"text":52},"b","Farklı makinelerde ilgisiz modeller çalıştırıp tahminlerini ortalamak.",{"key":54,"text":55},"c","Eğitim verisini tek bir merkezi veritabanında tutup kayıt kayıt sorgulamak.",{"key":57,"text":58},"d","Her worker'a model kopyası ve veri dilimi verip gradyanları birleştirmek.","Veri paralelliği, tam modeli her worker'da çoğaltırken veri setini worker'lar arasında böler; her worker kendi veri diliminde gradyan hesaplar ve bu gradyanlar birleştirilerek (örn. ortalanarak) paylaşılan model güncellenir. Bu, modelin kendisini cihazlar arasında bölmekten farklıdır.",{"id":61,"topic":9,"difficulty":44,"body":62,"options":63,"correct_key":57,"explanation":72},"019f6b80-b7ed-78ae-91b3-bd2b73af3066","'Model paralelliği' ne anlama gelir ve genellikle ne zaman gerekir?",[64,66,68,70],{"key":48,"text":65},"Modelin tamamını her worker'a kopyalayıp tahminleri paralel çalıştırmak.",{"key":51,"text":67},"Her epoch öncesinde eğitim verisini rastgele karıştırılmış batch'lere bölmek.",{"key":54,"text":69},"Birbiriyle ilgisiz birkaç küçük modeli eğitip en iyisini seçmek.",{"key":57,"text":71},"Model parametrelerini, tek cihaza sığmadığında cihazlar arasında bölmek.","Model paralelliği, tek bir modelin parametrelerini (örn. katmanlar arasında) birden fazla cihaza böler; böylece tek bir ileri\u002Fgeri geçişin parçaları farklı cihazlarda çalışır. Model tek bir cihazın belleğine sığmadığında kullanılır; bu, her cihazın tam bir model kopyası tuttuğu veri paralelliğinden farklıdır.",{"id":74,"topic":9,"difficulty":44,"body":75,"options":76,"correct_key":48,"explanation":85},"019f6b80-b7ed-7eea-979d-88fd592bf8c5","Model serving bağlamında throughput ve latency arasındaki temel fark nedir?",[77,79,81,83],{"key":48,"text":78},"Throughput, birim zamanda işlenen istek sayısıdır; latency, tek bir isteğin süresidir.",{"key":51,"text":80},"Throughput, tek bir isteğin süresidir; latency, birim zamanda işlenen istek sayısıdır.",{"key":54,"text":82},"Throughput ve latency aynı şeyi farklı birimlerle ölçer.",{"key":57,"text":84},"Throughput yalnızca eğitim işlerine, latency yalnızca depolama sistemlerine uygulanır.","Throughput, tamamlanan işin oranını ölçer (örn. saniyedeki istek sayısı); latency ise tek bir isteğin gönderilmesinden yanıt alınmasına kadar geçen süreyi ölçer. Birini iyileştirmek diğerini otomatik olarak iyileştirmez, ikisi genellikle gerilim içindedir (batching'e bakınız).",{"id":87,"topic":9,"difficulty":44,"body":88,"options":89,"correct_key":54,"explanation":98},"019f6b80-b7ee-74e4-a99a-57abd5d8ec2b","Bir model serving sisteminde 'caching' (önbellekleme) temelde neyi sağlar?",[90,92,94,96],{"key":48,"text":91},"Her girdi için tahmin doğruluğunu kalıcı olarak artırır.",{"key":51,"text":93},"Serving sisteminin izlenmesine olan ihtiyacı ortadan kaldırır.",{"key":54,"text":95},"Önceki sonuçları saklar; tekrarlar yeniden hesaplanmaz.",{"key":57,"text":97},"Tamamen yeni istekler için bile anında yanıt garanti eder.","Caching, önceki hesaplamaların sonuçlarını (örn. belirli bir girdi için tahmini) saklar; böylece aynı ya da benzer bir istek tekrar geldiğinde, hesaplamayı yeniden çalıştırmak yerine saklanan sonuç yeniden kullanılabilir. Tekrarlanan girdilerde yardımcı olur ama gerçekten yeni istekleri hızlandırmaz ve model doğruluğuna etkisi yoktur.",{"id":100,"topic":9,"difficulty":44,"body":101,"options":102,"correct_key":57,"explanation":111},"019f6b80-b7ee-79b1-8913-c7e8b3a0a1bc","Senkron dağıtık eğitim bağlamında 'straggler' (geride kalan worker) nedir?",[103,105,107,109],{"key":48,"text":104},"Hesaplamasını erken bitirdiği için işten çıkarılan bir worker.",{"key":51,"text":106},"Yanlışlıkla iki worker arasında kopyalanan bir veri batch'i.",{"key":54,"text":108},"Bir çökmeden sonra doğru yüklenemeyen bir checkpoint.",{"key":57,"text":110},"Diğerlerinden çok daha yavaş olan ve o adımın güncellemesini geciktiren bir worker.","Senkron dağıtık eğitimde, paylaşılan güncelleme gerçekleşmeden önce tüm worker'ların bir adımı bitirmesi gerekir. Straggler, belirli bir adımda alışılmadık derecede yavaş olan (örn. yavaş bir makine ya da dengesiz veri nedeniyle) bir worker'dır; bu yüzden diğer tüm worker'lar onu beklerken boşta kalır ve genel eğitim hızı düşer.",{"id":113,"topic":9,"difficulty":44,"body":114,"options":115,"correct_key":57,"explanation":124},"019f6b80-b7ef-7054-b754-484f61525f1a","Bir ekip, inference isteklerini tek tek işlediklerinde hızlandırıcılarının (GPU\u002Fbenzeri donanım) istekler arasında çoğunlukla boşta kaldığını ve genel saniye başına istek sayısının düşük olduğunu fark ediyor. Birkaç isteği bir batch'te gruplamanın neden yardımcı olacağının en temel açıklaması nedir?",[116,118,120,122],{"key":48,"text":117},"Her bir tahmini daha doğru hale getirir.",{"key":51,"text":119},"Modelin hiç yeniden eğitilmesine gerek kalmamasını sağlar.",{"key":54,"text":121},"İstemci-sunucu arasındaki ağ gecikmesini tamamen ortadan kaldırır.",{"key":57,"text":123},"Hızlandırıcıyı boşta bırakmak yerine meşgul tutar.","İstekleri tek tek işlemek, paralel hesaplama yapabilen donanımı yetersiz kullanır çünkü istekler arasında boşta zaman geçirir. İstekleri bir batch'te gruplamak, donanımın birim zamanda daha fazla faydalı iş yapmasını sağlar ve throughput'u artırır — ancak batch dolana kadar beklemek her bir isteğin gecikmesini biraz artırabilir.",{"fields":126,"seniorities":311,"interview_shapes":312,"locales":317,"oauth":319,"question_count":322,"coach_enabled":323,"jd_match_enabled":323},[127,152,173,190,214,227,246,265,287,294,300,307],{"key":128,"name_tr":129,"name_en":129,"sort":44,"specializations":130},"backend","Backend",[131,134,137,140,143,146,149],{"key":132,"name":133,"field":128},"general","Genel",{"key":135,"name":136,"field":128},"go","Go",{"key":138,"name":139,"field":128},"python","Python",{"key":141,"name":142,"field":128},"java","Java",{"key":144,"name":145,"field":128},"csharp","C#\u002F.NET",{"key":147,"name":148,"field":128},"nodejs","Node.js",{"key":150,"name":151,"field":128},"php","PHP",{"key":153,"name_tr":154,"name_en":154,"sort":155,"specializations":156},"frontend","Frontend",2,[157,158,161,164,167,170],{"key":132,"name":133,"field":153},{"key":159,"name":160,"field":153},"javascript","JavaScript",{"key":162,"name":163,"field":153},"typescript","TypeScript",{"key":165,"name":166,"field":153},"react","React",{"key":168,"name":169,"field":153},"vue","Vue",{"key":171,"name":172,"field":153},"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":132,"name":133,"field":174},{"key":135,"name":136,"field":128},{"key":138,"name":139,"field":128},{"key":141,"name":142,"field":128},{"key":144,"name":145,"field":128},{"key":147,"name":148,"field":128},{"key":150,"name":151,"field":128},{"key":159,"name":160,"field":153},{"key":162,"name":163,"field":153},{"key":165,"name":166,"field":153},{"key":168,"name":169,"field":153},{"key":171,"name":172,"field":153},{"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":132,"name":133,"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":132,"name":133,"field":215},{"key":138,"name":139,"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":132,"name":133,"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":132,"name":133,"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":132,"name":133,"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":132,"name":133,"field":288},{"key":295,"name_tr":296,"name_en":296,"sort":297,"specializations":298},"data-engineer","Data Engineer",10,[299],{"key":132,"name":133,"field":295},{"key":301,"name_tr":302,"name_en":303,"sort":304,"specializations":305},"game-dev","Oyun Geliştirme","Game Development",11,[306],{"key":132,"name":133,"field":301},{"key":5,"name_tr":6,"name_en":6,"sort":308,"specializations":309},12,[310],{"key":132,"name":133,"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]