- Soruyu yanıtlayan kişilerin görüşlerinin özeti
schmookeeg
- Şu anda makine öğrenimi mühendisi olarak çalışırken en sevdiğim şey, teknik geçmişi olmayan insanlarla işbirliği yapmak
- MS Outlook'u 5 seferin 3'ünden fazlasında açamayan insanlar bile kendi uzmanlık alanlarında şaşırtıcı bir derinlik ve içgörüye sahip
- Bu insanı oldukça mütevazı kılıyor
- Teknik geçmişi olmayan insanlar bana sihirbaz gözüyle bakıyor, ben de onlara voodoo rahibi gibi bakıyorum
- Sevdiğimiz şeyleri eğitip tahminler ürettiğimizde bu her iki taraf için de çok ödüllendirici oluyor
- Modellemenin çoğu sağlık alanıyla ilgili
- Faturalar, reçeteler, doktor notları, yaşamsal bulgular, tanısal görüntüleme vb. devasa veri göllerinden içgörü çıkarıyorum
- Bu bilgilere çok kolay erişilebilmesi de inanılmaz (HIPAA'yı bir kenara bırakırsak)
- Zamanın pratik gerçekliği
- Haftada yaklaşık 3 saat toplantı sürüyor
- İşe hazırlık, ETL sorunlarını çözme, iş birimi için tek seferlik sorgular çalıştırma gibi işlere yaklaşık 3 saat gidiyor
- Kalan zamanda, milyonlarca dolarlık geliri tahmin ederken küçük bir avantaj bulabilmek için veriyi keşfediyorum
- Bu biraz matematikle Wally'yi bulmaya benziyor
- O Wally sahnesi de yaklaşık 50 TB büyüklüğünde :D
burnedout_dc4e3
- 2000'lerin ortalarından beri makine öğrenimiyle uğraşıyorum
- Zamanın yarısı, model eğitimi ve kullanımı için veriyi düzenleyen "veri pipeline'ını çalışır halde tutma" işine gidiyor
- Diğer yarısı ise neredeyse hiç kod yazma becerisi olmayan "AI bilimcileri" için teknik desteğe gidiyor
- Onlar zamanlarını çeşitli chatbot servislerine bir şeyler kopyalayıp yapıştırarak geçiriyor
- Benim esas işim onlara Python paketlerini kurmayı ve Git kullanmayı öğretmek
- Yaptıkları işin üzerinde çalıştığımız projeye nasıl uygulanacağına dair bir plan yok
- Ama transformer modellerinin tüm veri işleme sorunlarımızı çözeceğini iddia ediyorlar
- Bu hype döngüsü bitene kadar yeni bir iş yapmadan ayrılmayı düşünüyorum
tambourineman88
- Makine öğrenimi okurken beklediğimin tam tersi bir gerçeklikle karşılaştım
- Bu işin %95'i veri temizleme, veri setlerini birleştirme ve feature engineering
- Model fitting ve test ise sadece %5
- Bu yazıya verilen yanıt #1
- Başından beri böyleydi, şimdi de böyle, gelecekte de böyle olacak, amin
- Staff/principal seviyesinde önemli olanlar
- Çıkarım modeline dayanan ürün özellikleri ile veri yakalama arasındaki "data impedance"ı korumak önemli
- Bunun nedeni, ürün ya da özellik değişse bile veri depolarına ve eğitim korpusuna veri sağlayan enstrümantasyonun ve veri ayrıntı düzeyinin bozulmamasını sağlamak
- Pekiştirmeli öğrenme (RL) problemlerinde önemli olanlar
- Durum ve eylem uzayı tuple'ları için doğru değişkenlerin yakalandığından emin olmak önemli
- Sonrasında ise ödül geri bildirimi için arayüzü ya da ortam modelini nasıl ayarlayacağını bulmak geliyor
davedx
pip install pytorch çalıştır
- Ortam bozulur
- Python ortamını düzeltmek için 4 saat harca
pip install Pillow çalıştır
- MacBook'un CPU mimarisiyle eşleşmediğine dair hata al
- Python'la ilgili her şeyi kaldırıp en baştan yeniden kurmak için 4 saat daha harca
pip install ... çalıştıracaktım ama mesai bitti!
Xenoamorphous
- Ben genel bir yazılım geliştiricisiyim ama ihtiyaçtan dolayı ML işi yapmak zorunda kaldım
- "Gerçek" ML uzmanlarının olasılıksal/gradyan inişi sonuçlarını ve insanların beklentilerini nasıl yönettiğini merak ediyorum
- Normal yazılım işlerinde bir şey ya çalışır ya çalışmaz; çalışmıyorsa nedenini açıklayabilir ve umarım düzeltebilirsiniz
- Ama ML'de size "Bu metin sınıflandırıcı bu metni neden doğru sınıflandırmadı?" diye soruyorlar
- Buna ancak "Eşiği geçmek için 0.004 puan eksikti" ya da "Kelime seçimi veya sıralaması nedeniyle sağlayamadı" gibi cevaplar verebiliyorsunuz
- Bu da sanki herkesi tatminsiz bırakıyor
angarg12
- Unvanım ML mühendisi ama yaptığım iş aslında neredeyse tamamen saf yazılım mühendisliğine yakın
- Asıl işim, production ortamında ML sistemlerini destekleyen sistemler kurmak
- Diğerlerinin de belirttiği gibi buna çoğunlukla veri dönüşümü, model eğitimi, model serving vb. dahil
- Bilim insanlarının işlerini yapabilmesi için araçlar geliştirmek ya da mevcut sistemleri değiştirmek de işin bir parçası
- Ama dışarıdan bakınca şirketim bu konuda istisna gibi görünüyor
- Sektörde ML mühendisinden beklentiler daha çok veri/uygulamalı bilim insanlarının yaptığı işe uyuyor gibi görünüyor (ör. model kurma ve test etme)
- Bu da her şirkette her rol için beklentiler konusunda çok fazla belirsizlik yaratıyor
runban
- Yüksek maaşlı bir temizlikçi
- Kirli veriden düzgün sonuç çıkmaz
- Bu arada bu iş için Perl, Python'dan çok daha iyi
- Yüksek maaşlı bir anakart sorun gidericisi
- Sıvı soğutma kullansanız bile H100'ler gerçekten çok ısınıyor
- Çünkü özel bir donanım sorumlumuz yok
- Herkes gibi kendi kafasına göre davranan üçüncü taraf bağımlılıklarla uğraşıyorum
primaprashant
- Son 5 yıldır MLE olarak çalışıyorum ve diğer yorumlarda da söylendiği gibi işin çoğu SWE'ye benziyor
- Projenin aşamasına göre günlük işler değişiyor ama genel olarak şunlardan biri oluyor:
- Paydaşlar ve TPM'lerle işbirliği yapıp veri analizi üzerinden yüksek öncelikli iş problemlerini çözmek için hipotezler geliştirmek
- İş problemini bir ML problemine dönüştürmek ve ML modeliyle iş problemine uygun metrikler üretmek
- Yeni özelliklerin ve fikirlerin teknik olarak uygulanabilir olup olmadığını doğrulamak için PoC'ler ve prototipler geliştirmek
- Mimari ve teknik kararlar için tasarım dokümanları yazmak
- Platform ekibiyle birlikte, yeni ve mevcut ML projelerinin ihtiyaçlarına göre veri pipeline'larını kurmak ve sürdürmek
- Çıkarım için ML mikroservisleri kurmak, dağıtmak ve bakımını yapmak
- A/B testleri yürütmek ve test sonrası analiz için tasarım dokümanları yazmak
- ML modelini yeniden eğitmek için pipeline'lar kurmak
jackspawn
- Zamanımın %50'sinden fazlasını backend engineering'e ayırıyorum
- Çünkü ML daha büyük bir API'nin içinde kullanılıyor
- O API'nin uçtan uca deneyiminden ben sorumluyum
- Bu yüzden zaman karşılığında en yüksek değeri sağlayan neyse onu yapıyorum
- Bunun da ML modeliyle çoğu zaman hiçbir ilgisi olmuyor
mardifoufs
- Çıkarım kodunu optimize ediyor, eğitilmiş modelleri "ürünleştiriyorum"
- Şu anda bulut servislerinin hâlâ yaygın olarak kullanılmadığı bir sektörde çalıştığım için eğitim ve çıkarımı yerelde yapıyorum
- LLM olmadığı için hazır araç çok fazla yok; bu da ilginç
- Birçok şeyi kendiniz inşa etmeniz gerekiyor
- Veri kalitesini değerlendirmekten (yerel kısım zorlayıcı) doğrudan CUDA kullanmaya kadar çok çeşitli işler yapıyorum
- Çünkü CUDA üzerine kurulmuş ve yararlanabileceğim sinyal işleme kütüphaneleri var
- Bazen ekip içi araçlar da geliştiriyorum (araştırmacılar ve MLE'lerden oluşan karma ekip için)
- Çok niş bir alan olduğu için veriyi ve çıkarımı görselleştirmek üzere araçları kendimiz yapmak zorundayız
- Araçlar ve iç yazılım tasarımı konusunda tam özgürlüğüm var; bu sayede organizasyon içinde büyük etki yaratabildim
- Hızlıca ortaya çıkardığım araçlardan biri şimdi amiral gemisi ürüne de eklenecek
hirako2000
- Ana işim bu olmasa da zamanımın çoğu "bir şeyleri birbirine yapıştırmakla" geçiyor
- Mevcut açık kaynağı ayarlamak
- Kaynakları nasıl optimize edeceğini bulmak
- Modelleri başka veri setleriyle yeniden eğitmek
- Dağınık yazılmış Python kodunu çalıştırmaya uğraşmak
- Eksik requirements dosyalarını eklemek
- Veri temizlemek
- Yıllar önce zaten yapılmamış, ML ile gerçekten faydalı biçimde çözülebilecek şeyin ne olduğunu düşünüyorum
- Güncel GPU fiyatlarına bakıp, hosting sağlayıcısından pahalı süre kiralamak yerine GPU satın almanın değerli olup olmadığını hesaplıyorum
- Başım ağrıyana kadar makale okuyorum
- Özeti okuyup ortadaki birkaç diyagrama göz gezdirmek bile zaman alıyor
tenache
- Makine öğrenimi okudum ve aslında o rol için işe alındım ama şirket yön değiştirince şu anda LLM üzerinde çalışıyorum
- Zamanımın çoğunu şu işlere ayırıyorum:
- Çeşitli LLM'lerin nasıl çalıştığını anlamak
- En iyi parametreleri bulmak
- RAG (Retrieval-Augmented Generation) nasıl yapılır
- Diğer botlarla nasıl entegre edilir
trybackprop
- Tipik bir haftada genelde şunları yapıyorum:
- %15: Teknik tartışma toplantıları veya 1:1 görüşmeler
- Genellikle model fikirleri, planlar veya ML ürün desteği konuşuluyor
- %40: ML geliştirme
- Projenin erken aşamalarında ürün gereksinimlerini anlamaya çalışıyorum
- Ürün/iş hedeflerine ulaşmaya yardımcı olabilecek ML modellerini ya da algoritmaları ekiple tartışıyorum
- Analistlerden ve veri bilimcilerinden mevcut veri setlerini topluyorum
- Bu veri setlerini kullanarak eğitim ve doğrulama veri setleri üreten pipeline'lar kuruyorum
- Eğitim/doğrulama veri setlerinin dolmasını beklerken (bu 2 haftaya kadar sürebiliyor), aynı anda geliştirme aşaması daha ileride ya da geride olan başka projelerde çalışıyorum
- Yeni modeller üzerinde de çalışıyorum (PyTorch ile yazılmış), bunları küçük miktarda veriyle test ederek offline performansı değerlendiriyor ve beklendiği gibi çalışıp çalışmadıklarını inceliyorum
- Büyük ölçekli deneyler olmadan sadece kendi ve ekip arkadaşlarımın sezgisine güvenebildiğimiz için, modelin mantıklı davranıp davranmadığını görmek amacıyla ürün bilgilerini modelle dolduran bazı manuel testler yürütüyorum
- Eğitim/doğrulama veri setleri dolduğunda modeli büyük veri üzerinde eğitiyor, offline sonuçlara bakıyor, sorun varsa modeli ayarlıyor ya da mimariyi değiştiriyorum
- Offline sonuçlar iyi ya da umut verici görünürse modeli deney için production'a dağıtıyorum
- Aynı zamanda geliştirdiğim yeni modeli test etmek için ürün/infrastrüktür kodunu da değiştirebiliyorum
- Deneyi başlatıp trafiği yavaş yavaş artırarak %1-5 atamaya getiriyor ve bunu birkaç hafta ya da bir ay çalıştırıyorum
- Bu sırada sonuçları gözlemliyor ve ilgili tüm pipeline'ları izleyerek modelin düzgün eğitildiğinden emin olmaya çalışıyorum; böylece beklenmeyen altyapı/hata/ürün faktörleri deney sonucunu değiştirmiyor
- Sonuçlar beklendiği gibi görünür ve ilk hipotezle uyuşursa, ekiple lansman yapıp yapmamayı tartışıyoruz; karar verilirse de yayına alıyoruz!
- (Not: model geliştirme; feature yazımı, veri seti hazırlığı, analiz, ML modelinin kendisinin oluşturulması ve ürün/infrastrüktür kodu değişikliklerinin uygulanmasını içeriyor)
- %20: Bakım
- Yeni model geliştiriyor olmam, mevcut modelleri görmezden geldiğim anlamına gelmiyor
- Performans düşüşü ya da beklenmedik değişiklik olup olmadığını görmek için her gün kontrol ediyorum
- Ayrıca pipeline'ları düzeltiyor ve daha verimli hâle getiriyorum
- %15: Araştırma makaleleri ve beceri geliştirme
- AI/ML dünyası çok hızlı değiştiği için sürekli yeni makaleler okuyup güncel kalmak adına evde yeni teknikleri test ediyorum
- Eğlenceli olduğu için yük gibi gelmiyor
- Bunu sadece güncel kalmak için yapılan bir iş olarak görmüyorum
- %10: İç araştırma
- Bu zamanı ekipteki ya da şirketteki diğer ürünler hakkında daha fazla şey öğrenmek, ekibimizin nasıl yardımcı olabileceğini veya onlardan hangi teknikleri/yöntemleri ödünç alabileceğimizi anlamak için kullanıyorum
- Ayrıca son 6 ay/1 yıl içindeki çalışmalarıma dönüp oradan çıkardığım içgörüleri yazmak için de bu zamanı kullanıyorum
4 yorum
"Teknik geçmişi olmayan insanlar beni bir sihirbaz gibi görüyor, ben de onları bir vudu rahibi gibi görüyorum" ifadesi eğlenceli.
Veri... veri... katılıyorum
Tam da belirsiz biçimde öyle yaptıklarını düşündüğüm gibiymiş.
İlginç bir içerikmiş!