Kazanimlar:
- Yapay zekanın ML iş akışının (kod, veri, doküman) neresinde düşük riskle zaman kazandırdığını, neresinde metrik/veri/üretime alma gibi kararların insana kaldığını görev risk düzeyine göre ayırt edebilme
- Her yapay zeka çıktısını kaynağa bağlama, yeniden çalıştırıp ölçme ve mühendislik süzgecinden geçirme adımlarıyla doğrulayan bir disiplin uygulayabilme
- Gizli ve kişisel veriyi harici araçlara ham göndermeme, kurumsal onaylı araç kullanma ve güvenlik konularını yalnızca savunma amaçlı ele alma alışkanlığını edinebilme
Makine Öğrenmesi Mühendisliğinde Yapay Zeka: Rol, Sınırlar, Doğrulama ve Sorumluluk
Makine öğrenmesi mühendisi (ML mühendisi: veriden öğrenen modelleri tasarlayan, eğiten ve üretime taşıyan yazılım profesyoneli), bugün işinin her adımında bir başka yapay zeka aracıyla çalışıyor. Kod yazarken bir kodlama asistanı, veri keşfederken bir sohbet modeli, dokümantasyon üretirken bir büyük dil modeli (LLM: metni anlayıp üreten, milyarlarca parametreli sinir ağı) devrede. Bu modül, yapay zekayı bir ML mühendisinin hem geliştirdiği ürün hem de günlük iş aracı olarak ele alır. İki rolü de karıştırmadan, sorumluluk sınırlarını net çizerek işler.
Bu ilk ünitede temel soruyu yanıtlıyoruz: Yapay zeka, ML mühendisliğinin neresinde gerçek zaman kazandırır, neresinde kararı insana bırakmak zorundayız? Cevap, mühendislik disiplininin kalbindedir: üreten hızlıdır, doğrulayan sorumludur.
Yapay zeka ML mühendisliğinin neresinde işe yarar
Bir ML projesi kabaca şu hattan geçer: veri toplama, veri temizleme, öznitelik üretimi (feature engineering: ham veriyi modelin anlayacağı sayısal sinyallere çevirme), model eğitimi, değerlendirme, dağıtım (deployment: modeli gerçek kullanıcıya açma) ve izleme. Yapay zeka bu hattın her durağında yardımcı olur ama yetki düzeyi değişir.
Yüksek kazanç, düşük risk olan yerler: kod iskeleti üretmek, veri dönüşüm fonksiyonu taslağı yazmak, log mesajlarını yorumlamak, bir hata izini (stack trace) açıklamak, deney notlarını özetlemek, dokümantasyon ve README yazmak, test senaryosu önermek. Buralarda yapay zekanın hatası ucuzdur; çünkü çıktı zaten testlerden ve gözden geçirmeden geçecektir.
Yüksek risk olan yerler: hangi verinin eğitime gireceğine karar vermek, bir modelin üretime çıkıp çıkmayacağını onaylamak, bir metriğin "yeterince iyi" olduğuna hükmetmek, kişisel veriyi işleme kararı, bir güvenlik açığını "önemsiz" diye kapatmak. Bunlar para, gizlilik, yasal yükümlülük ve kullanıcı güvenini etkiler. Yapay zeka burada öneri verir; kararı yetkin mühendis ve sorumlu ekip verir.
Ipucu: Bir işi yapay zekaya devretmeden önce sor: "Bu çıktı yanlış olursa bedeli ne, ve yanlışı kim ne kadar kolay yakalar?" Bedel düşük ve yakalama kolaysa devret. Bedel yüksek veya yakalama zorsa yapay zekayı yalnızca taslak için kullan, kararı sen ver.
Doğrulama disiplini: üç adım
ML mühendisliğinde yapay zeka çıktısı hiçbir zaman "bitmiş iş" değildir; bir taslaktır. Her çıktıyı şu üç adımdan geçirin:
- Kaynağa bağla. Model bir sayı, bir eşik ya da bir "en iyi uygulama" söylediyse, bunu resmi dokümana, kod tabanındaki gerçek değere veya ölçülmüş bir metriğe dayandır. "Modelin uydurması" (halüsinasyon: dil modelinin gerçek olmayan bilgiyi güvenle üretmesi) en sık burada yakalanır.
- Yeniden çalıştır ve ölç. Üretilen kodu çalıştır, ürettiği metriği kendi test kümende yeniden hesapla, önerilen SQL sorgusunu küçük bir örnekte doğrula. Çalışmayan kod, güzel görünse de değersizdir.
- Mühendislik süzgecinden geçir. Çıktı ölçekte ayakta durur mu? Uç durumlar (boş veri, çok büyük girdi, eksik alan) düşünülmüş mü? Güvenlik ve gizlilik ihlali var mı? Bu adımı yalnızca alanı bilen insan yapabilir.
Zayıf prompt / Güçlü prompt
Zayıf prompt: "Bana bir model eğitme kodu yaz."
Güçlü prompt: "scikit-learn ile ikili sınıflandırma (binary classification) için bir eğitim betiği yaz. Girdi: data/train.parquet, hedef sütun is_churn. Sınıf dengesizliği var (pozitif oran ~%8), bunu class_weight ile ele al. Değerlendirme metriği olarak PR-AUC (precision-recall eğrisi altındaki alan) kullan, çünkü dengesiz veri için accuracy yanıltıcı. Rastgelelik tohumunu (random seed) 42'ye sabitle. Kodun sonunda test kümesi PR-AUC'yi yazdır."
Fark: ikinci prompt görevi, veri gerçeğini, doğru metriği, dengesizlik bilgisini ve tekrarlanabilirlik şartını içerir. Çıktının doğrulanabilir ve kullanılabilir olması bu bağlamdan gelir.
Gizlilik ve veri güvenliği: mühendisin ilk sorumluluğu
ML mühendisi genellikle şirketin en hassas verisine dokunur: müşteri kayıtları, işlem geçmişi, sağlık veya finans verisi, üretim sistemlerinin logları. Yapay zeka araçlarına veri verirken üç kural:
- Kişisel ve gizli veriyi harici araçlara ham göndermeyin. Örnek, prompt'a müşteri e-postalarını yapıştırmak yerine, şemayı ve sahte (sentetik) örnekleri gönderin. Gerçek veri yerine "ör: ahmet@ornek.com" gibi maskelenmiş örnek kullanın.
- Kurumsal onaylı araç kullanın. Verinin nerede işlendiği, saklanıp saklanmadığı, eğitime kullanılıp kullanılmadığı sözleşmeyle netleşmiş araçları tercih edin. Kişisel hesapla kurumsal veri işlemek çoğu şirkette ihlaldir.
- En az veri ilkesi. Görevi çözmek için gereken minimum bağlamı verin. Tüm tabloyu değil, ilgili 5 sütunu ve şemayı.
Dikkat: Bir dil modeline verdiğiniz metnin geri alınamayacağını varsayın. "Sonra silerim" diye ham kişisel veri göndermeyin; gönderildiği an risk oluşmuştur.
Güvenlik alanında savunma amaçlı kullanım
ML mühendisleri sıklıkla güvenlik sistemleri kurar: dolandırıcılık tespiti, kötü amaçlı trafik sınıflandırma, kimlik doğrulama. Bu modül boyunca güvenlik konularını yalnızca savunma amaçlı ele alırız: saldırıyı tespit etmek, sistemi sağlamlaştırmak, açığı kapatmak. Yapay zekayı yetkisiz erişim, veri sızdırma veya başkasının sistemine izinsiz müdahale için kullanmak hem yasa dışıdır hem meslek etiğine aykırıdır. Bir açığı bulduğunuzda doğru yol, onu sorumlu biçimde raporlamak ve düzeltmektir; sömürmek değil.
Üç mini vaka
Vaka 1 - Kazanılan zaman. Bir ML mühendisi, 40 sütunlu bir veri setinin keşif analizini (EDA: exploratory data analysis) yapmak için normalde yarım gün harcıyordu. Yapay zekaya şemayı ve df.describe() çıktısını verip "hangi sütunlarda aykırı değer ve eksik oranı yüksek, hangi dönüşümleri öneriyorsun" diye sordu. 20 dakikada önceliklendirilmiş bir liste aldı, her maddeyi kendi koduyla doğruladı. Kazanç: ~3 saat, hata riski düşük çünkü her iddiayı ölçtü.
Vaka 2 - Yakalanan hata. Model, bir sohbet asistanına "eğitim doğruluğu %99, harika" dedirtmişti. Mühendis üçüncü adımı (mühendislik süzgeci) uyguladı ve fark etti: hedef sütun yanlışlıkla özniteliklere sızmıştı (veri sızıntısı, data leakage: modelin eğitimde görmemesi gereken bilgiyi görmesi). Gerçek performans çok daha düşüktü. Yapay zekanın "harika" yorumu değil, mühendisin şüphesi işi kurtardı.
Vaka 3 - Gizlilik ihlalinin önlenmesi. Bir ekip, üretimdeki hata loglarını olduğu gibi harici bir modele yapıştırıp "bu hatayı çöz" diyordu. Loglarda müşteri kimlik numaraları vardı. Ekip, logları önce maskeleyen (kimlik numaralarını *** yapan) küçük bir betik yazıp öyle gönderme kuralı koydu. İhlal riski ortadan kalktı, yardım hızı değişmedi.
Kopyalanabilir şablonlar
Görev: [ne yapılacak, tek cümle]Bağlam: [veri şeması, boyut, kısıtlar; GERÇEK kişisel veri YOK]Kısıtlar: [dil/kütüphane, performans, tekrarlanabilirlik]Metrik: [başarı nasıl ölçülecek]İstenen çıktı: [kod / açıklama / liste] ve neden bu formatta
Şu kodu gözden geçir. Sadece çalıştığını değil, şu açılardan da değerlendir:1) Uç durumlar (boş girdi, eksik sütun, çok büyük veri)2) Veri sızıntısı riski3) Tekrarlanabilirlik (seed, sürüm)Bulduğun her sorun için düzeltme öner. Emin olmadığın yeri "doğrula" diye işaretle.Kod:[kod]
Bu metrik sonucunu yorumla ama önce sor: bu metrik bu problem için doğru mu?Problem: [dengeli/dengesiz sınıflandırma, regresyon, sıralama...]Rapor edilen metrik ve değer: [ör. accuracy 0.99]Hangi metriği neden önerirsin, ve mevcut sonucu şüpheyle karşılamam için hangi işaretlere bakayım?
Şu prompt'a vereceğim veride kişisel/gizli bilgi olup olmadığını denetle.Aşağıdaki metinde maskelenmesi gereken alanları (isim, e-posta, kimlik no, telefon, adres) listele.Metin: [metin]
Rol ve yetki tablosu
Görev
Yapay zekanın rolü
Kararın sahibi
Kod iskeleti / dönüşüm fonksiyonu
Taslak üretici
Mühendis (gözden geçirir)
EDA / veri özeti
Hızlandırıcı
Mühendis (ölçerek doğrular)
Metrik yorumu
Öneri
Mühendis
Eğitime hangi veri girecek
Öneri
Ekip + veri sahibi
Modeli üretime alma
Kontrol listesi hatırlatıcı
Sorumlu mühendis + ekip
Kişisel veri işleme
Yok (kullanılmaz)
Hukuk + veri sorumlusu
Sık yapılan hatalar
- Çıktıyı doğrulamadan kullanmak. En sık ve en pahalı hata. Güzel görünen kod veya metrik, doğru olduğu anlamına gelmez.
- Ham gizli veriyi araca yapıştırmak. Bir kez gönderildi mi geri alınamaz.
- Yanlış metriğe güvenmek. Dengesiz veride accuracy, sıralama probleminde RMSE gibi uyumsuz metrikler yanıltır.
- Yapay zekayı karar merci sanmak. O öneri verir; sorumluluk imzayı atanındır.
- Bağlamsız prompt. "Model yaz" gibi belirsiz istekler, doğrulanamaz çıktı üretir.
Ozetle
Yapay zeka, ML mühendisinin hem geliştirdiği ürün hem günlük çoğaltıcısıdır. Değeri, kod-veri-doküman gibi düşük riskli, kolay doğrulanan işlerde en yüksektir; para, gizlilik ve güvenlik etkileyen kararlar insanda kalır. Her çıktıyı kaynağa bağla, yeniden ölç, mühendislik süzgecinden geçir. Gizli veriyi koru, onaylı araç kullan, güvenlikte yalnızca savunma amaçlı çalış. Bu disiplin, sonraki tüm ünitelerin zeminidir.
Uygulama gorevi
Kendi projenden bir görev seç (ör. bir veri temizleme fonksiyonu yazma). Önce zayıf bir prompt, sonra bu ünitedeki şablonla güçlü bir prompt yaz. İki çıktıyı da al, üç adımlı doğrulamayı (kaynağa bağla, yeniden çalıştır, mühendislik süzgeci) uygula. Hangi promptun kaç dakika ve kaç düzeltme kazandırdığını not et.
Kontrol listesi
- [ ] Görevimin risk düzeyini (düşük/yüksek) belirledim.
- [ ] Prompt'a gerçek kişisel/gizli veri koymadım; maskeledim veya sentetik örnek kullandım.
- [ ] Çıktıyı kaynağa bağladım, yeniden çalıştırdım, mühendislik açısından süzdüm.
- [ ] Doğru metriği seçtiğimi kontrol ettim.
- [ ] Kritik kararı (üretime alma, veri işleme) kendim/ekiple verdim, yapay zekaya bırakmadım.
- [ ] Kurumsal onaylı araç kullandım.