Where Data Sits in the ML Pipeline: Collect, Label, Train, Evaluate, Deploy Loop
Full lifecycle of an ML system: collect → label → train → eval → deploy → monitor → re-collect. Each stage's relationship with labeling, the feedback loop, continuous improvement, and why the data flywheel is modern AI's main competitive advantage.
Şükrü Yusuf KAYA
27 min read
Beginner🔄 Bu derste
Bir ML sisteminin baştan sona nasıl yaşadığını izleyeceğiz. Veri toplamadan üretime kadar her halkayı tek tek inceleyeceğiz ve veri etiketlemenin neden tüm zincirin omurgası olduğunu göreceğiz.
Yanlış İmaj: "Pipeline Düz Bir Hattır"#
Çoğu blog yazısı ML pipeline'ını şöyle çizer:
[Veri Topla] → [Etiketle] → [Eğit] → [Deploy]
Dört adım, sağa doğru ok, bitti. Bu temelden yanlış bir resim. Çünkü gerçek hayatta:
- Deploy'dan sonra iş bitmiyor — asıl iş başlıyor
- Model üretimde bozulmaya başlıyor (data drift)
- Yeni hatalar yeni etiketler gerektiriyor
- Etiketleme süreci modelin kendisinden geri besleme alıyor
- Schema kararları 6 ay sonra değişiyor — versiyon problemi başlıyor
Doğru resim döngüsel:
Sekiz Halka: ML Sisteminin Tam Yaşam Döngüsü#
Modern bir AI sisteminin tam yaşam döngüsü 8 halkadan oluşur. Her halka için: ne yapılır, kim yapar, hangi araçlar, etiketleme bağlantısı.
① Problem Tanımı ② Veri Toplama ③ Veri Etiketleme ④ Model Eğitimi ⑤ Değerlendirme ⑥ Deploy / Üretim ⑦ İzleme ⑧ Geri Besleme + Active Sampling ↓ (geri ①'e veya ③'e döner)
Tek tek inceleyelim.
① Problem Tanımı — "Bu Modelden Ne Bekliyoruz?"#
Kim yapar: Product Manager + ML Lead + (ideal olarak) Veri Etiketleme Lideri.
Çıktı: Net olarak yazılmış 1 sayfalık problem brief:
- Görev: Sınıflandırma mı, regresyon mu, üretim mi, ranking mi?
- Girdi: Ne tür veri (metin, görüntü, tabular, multimodal)?
- Çıktı: Tam olarak ne istiyoruz? Skalar mı, label mı, span mı, embedding mi?
- Başarı metriği: F1, AUC, BLEU, MRR — hangi sayı yükselince mutluyuz?
- Karar metriği: Modelin doğrudan etkileyeceği iş sonucu (kullanıcı reten, sipariş tamamlama, fraud kaybı).
- Geçme eşiği: Kabul edilebilir minimum performans.
- Sabit kalan: Hangi varsayımlar değişmez? (örn. "tek dil Türkçe")
Etiketleme bağlantısı: Bu adımda yapılan her muğlaklık, etiketleme aşamasında 10x sorun olarak geri döner. "Negatif/pozitif sınıflandırma" deniyor — "nötr" ne olacak? Bir cümlede hem pozitif hem negatif var — hangi etiket? Bunlar burada netleşmezse, etiketleyiciler kendi başlarına karar verir ve dataset gürültülü olur.
💡 Pratik kural
Problem brief'i yazılmadan tek bir örnek bile etiketlenmemeli. "Önce etiketleyelim, schema sonra netleşir" tuzağına düşme — etiketleyiciler ilk 1000 örnekte kendi mental modellerini kurar, sonra sen schema yazsan da farklı yorumlamaya devam ederler. Bu kursa Modül 3-4'te buna ayrıca döneceğiz.
② Veri Toplama — "Kaynak Hangi?"#
Kim yapar: Data Engineer + Domain Expert + Privacy/Legal.
Tipik kaynaklar:
- Production logs: Kendi sistemin (kullanıcı sorguları, tıklamalar, geri bildirimler). Bedava ama bias'lı.
- Web scraping: Common Crawl, Hugging Face, açık datasets. Bedava ama hak ve KVKK riski.
- Synthetic data: LLM ile üretim. Hızlı ama gerçekten farklı dağılım.
- Satın alma: Veri pazaryerleri, vendor (Surge, Scale). Pahalı, kalite garantisi.
- In-house production: Ekibin kendi ürettiği (radyolog kayıtları, finansal işlemler). Yüksek kalite ama yavaş.
Anahtar sorular:
- Kapsam (coverage): Tüm önemli durumları içeriyor mu? (Mevsim, gün-gece, etnik dağılım, jargon)
- Doğal dağılım (natural distribution): Gerçek dünyayı yansıtıyor mu, yoksa sentetik mi?
- Yasallık: KVKK uyumlu mu? Telif hakkı?
- Hacim: 1.000 mi gerek, 1.000.000 mı?
Etiketleme bağlantısı: Eğer toplanan veride sınıf dengesizliği varsa (örn. fraud'da %99.5 negatif), etiketleme stratejisi değişir. Toplam 10.000 örnek varsa ama sadece 50'si pozitif, "rastgele 1.000 etiketle" yanlış strateji — pozitif örnekleri özellikle ara.
③ Veri Etiketleme — Bu Kursun Kalbi#
Kim yapar: Annotator + Reviewer + Annotation Lead + Annotation Engineer.
Alt adımlar:
- Schema dondurma: Etiket setinin son hali. Versiyonlanmış doküman.
- Kılavuz yazımı: 15-50 sayfa, örnek + anti-örnek + decision tree.
- Pilot etiketleme: 50-200 örnek, 2-3 etiketleyici. IAA ölçülür.
- Kalibrasyon oturumu: Tartışmalı örnekler grup halinde çözülür.
- Ana etiketleme: Hacim üretilir. Gold question'lar ile QA.
- Adjudication: Çelişkili annotation'lar uzman tarafından çözülür.
- Final dataset: Train/val/test split + datasheet.
Tipik süreler (10.000 örnek için):
- Pilot + kalibrasyon: 1-2 hafta
- Ana etiketleme: 2-8 hafta (görev karmaşıklığına göre)
- QA + adjudication: 1-2 hafta
Tipik bütçeler:
- Basit sınıflandırma: 10.000 örnek için $500-2.000 (crowdsource), 5.000-15.000 ₺ (yerli freelance)
- Karmaşık (medikal, hukuki): 10.000 örnek için $15.000-50.000+
- RLHF preference: pair başı $1.5-5 (yerli vendor), $4-12 (premium ABD)
④ Model Eğitimi — Etiketin Veriye Dönüştüğü Yer#
Kim yapar: ML Engineer + ML Researcher.
Bu kursta detayına girmiyoruz ama etiketleme tarafında bilmen gereken üç şey:
-
Train/Val/Test split: Standart 70/15/15 veya 80/10/10. Etiketleme aşamasında bu split'in temporal split mi yoksa random split mi olacağı kararlaştırılmalı. (Üretim'e zaman geçtikçe veri değişiyorsa temporal şart.)
-
Sınıf dengesi: Eğitimde class weight, oversampling, focal loss kullanılacaksa etiketleme stratejisi de bunu desteklemeli (pozitif örnekleri özellikle ara).
-
Inductive bias: Modelin mimarisi neyi öğrenebilir? BBox modeli polygon yapamaz, BPE tokenizer karakter-seviyesinde NER yapamaz. Etiket formatı mimari ile uyumlu olmalı.
Etiketleme bağlantısı: Eğer eğitim sırasında etiket gürültüsü (label noise) varsa model dolu dolu öğrenir ama kötü genelleşir. Modül 26'da bunu sistematik nasıl tespit edip temizleyeceğimizi göstereceğiz.
⑤ Değerlendirme — "Model İyi Mi?"#
Kim yapar: ML Engineer + Quality Lead + ürün ekibi.
İki seviye eval:
a) Otomatik metrikler#
- F1, precision, recall (sınıflandırma)
- mAP, IoU (detection, segmentation)
- BLEU, ROUGE, BERTScore (üretim)
- nDCG, MRR (ranking)
- Helpfulness score, harmlessness (LLM)
b) İnsan eval#
- Side-by-side comparisons (model A vs model B)
- Likert scale rating (1-5)
- Free-text quality feedback
- Red teaming (adversarial test)
Etiketleme bağlantısı: Eval set'in kalitesi modelden bağımsızdır. Yanlış etiketli bir test set varsa, dünyanın en iyi modeli bile düşük skor alır. Test set genelde "gold standard" olur — en deneyimli annotator ekibi tarafından oluşturulur, IAA çok yüksektir (κ > 0.85), her örnek en az 3 kez gözden geçirilir.
⑥ Deploy / Üretim — "Model Sahaya Çıkıyor"#
Kim yapar: ML Engineer + DevOps + Platform.
Standart deploy stratejileri:
- Shadow mode: Yeni model üretimde tahmin yapar ama kullanıcıya gösterilmez. Eski modelin yanında çalışır. Tahminler loglanır, karşılaştırma yapılır.
- Canary: %1 → %5 → %25 → %100 kullanıcıya dağılır.
- A/B test: %50 kullanıcı yeni model, %50 eski. İş metriği karşılaştırılır.
- Multi-arm bandit: Trafiği başarıya göre dinamik dağıt.
Etiketleme bağlantısı: Shadow mode özellikle etiketleme için altın madeni. Yeni modelin emin olmadığı (uncertainty yüksek) örnekleri loglar, bunları active sampling'de kullanırsın. Tesla'nın data engine'inin temeli budur.
⑦ İzleme — "Bozulmadığını Nasıl Bileceğiz?"#
Kim yapar: ML Engineer + SRE + Quality Lead.
İzlenmesi gerekenler:
- Doğruluk metriği (online, eğer label feedback varsa)
- Tahmin dağılımı drifti (modelin verdiği sınıf dağılımı değişti mi?)
- Input dağılımı drifti (gelen verilerin istatistikleri değişti mi?)
- Latency, error rate (klasik SRE)
- User feedback (thumbs up/down, retry oranı)
- İş metriği (siparişler, kullanıcı reten, vs.)
Drift türleri:
- Covariate shift: P(X) değişti — kullanıcılar başka şeyler soruyor.
- Label shift: P(Y) değişti — gerçek pozitif oranı arttı (yeni fraud türü).
- Concept drift: P(Y|X) değişti — aynı girdiye farklı çıktı doğru (sezon, regülasyon değişti).
Etiketleme bağlantısı: Drift fark edildiği anda yeni etiketleme partisi tetiklenir. Modül 31-32'de bu otomasyonu nasıl pipeline'a koyacağımızı göreceğiz.
⑧ Geri Besleme + Active Sampling — "Döngünün Kapandığı Yer"#
Kim yapar: Annotation Engineer + ML Engineer.
Akış:
- Üretimde modelin emin olmadığı (uncertain) örnekleri logla.
- Yeni gelen verilerden diverse bir alt küme seç.
- Eski yanlış tahminlerden error slice'ları çıkar.
- Bu üçünü birleştir → yeni etiketleme kuyruğu.
- Etiket gel → ③'e geri dön.
Bu kapanan döngüye "Data Flywheel" denir. Tesla, OpenAI, Anthropic, Trendyol AI ekiplerinin hepsi bu pattern üzerine kurulu.
Etkili bir data flywheel:
- Haftada bir yenilenir (büyük şirket) veya günde bir (öncü şirket)
- Active learning ile bütçeyi %40-70 düşürür
- Auto-labeling ile insan saatini %50-80 düşürür
- Yeni model döngüde her hafta %1-3 daha iyi olur
Birikim etkisi: 1 yıl sonra rakiplerinden 50-100 katı veriye sahipsin. Bu, kapanmaz bir uçurum yaratır.
Vaka: Bir Türk E-Ticaret Şirketinin Data Flywheel'i#
Senaryo: Bir Türk e-ticaret firması (anonim) ürün kataloğunda forbidden content (taklit, illegal item, telif ihlali) tespiti yapıyor.
Ay 1 — Sıfırdan Başlangıç#
- ② Topla: Manuel raporlardan 5.000 örnek (3.500 temiz, 1.500 forbidden — dengesiz).
- ③ Etiketle: Hukuk ekibi + 5 kıdemli annotator, 2 hafta, ~120.000 ₺ bütçe.
- ④ Eğit: BERT-large fine-tune.
- ⑤ Değerlendir: F1 = 0.72. Hedef 0.85.
Ay 2-3 — Active Learning Başlıyor#
- ⑥ Deploy (shadow): Tüm yeni listing'lere model bakıyor ama insan onayı son söz.
- ⑦ İzle: Modelin emin olmadığı (entropy yüksek) ~500/gün listing seçiliyor.
- ⑧ Active sample: Bunlar etiketleme kuyruğuna ekleniyor, günde 100 örnek yeni etiket.
Ay 4 — İlk Döngü Sonucu#
- ③ Yeniden etiket: 3.000 yeni örnek + eski 5.000 = 8.000 total.
- ④ Yeniden eğit: F1 = 0.81.
- Maliyet: ~80.000 ₺/ay continuous annotation.
Ay 6 — İkinci Tam Döngü#
- F1 = 0.87, hedefi geçti.
- Aylık manuel review yükü %60 düştü (model çoğunu otomatik karar veriyor).
- Yeni forbidden kategoriler (taklit elektronik) tespitine geçildi.
Ay 12 — Kararlı Operasyon#
- 30.000 etiketli örnek toplam.
- F1 = 0.91.
- Aylık annotation bütçesi 30-40.000 ₺'ye düştü (auto-labeling + active sampling).
- Model yeni forbidden türlerini tespit ediyor (yeni regülasyonlar geldiğinde).
Kritik nokta: Eğer ay 2'de döngü kurulmasaydı, her yeni etiket batch'i izole olurdu, model 12 ay sonra hâlâ F1 0.75-0.78 civarında olurdu. Döngü = sürekli iyileşme.
Anti-Pattern'lar: Pipeline'ı Yıkan Yaygın Hatalar#
❌ "Etiketleyelim sonra schema'ya bakarız"#
İlk 1.000 örnek schemasız etiketlenir, sonra schema değişir, hepsi yeniden etiketlenir. 2x maliyet, 2x zaman.
❌ "Test set'i train'den ayır yeter"#
Random split ile temporal data → veri sızıntısı (data leakage). Model train sırasında "gelecek"i görür, üretimde tökezler.
❌ "Deploy bittikten sonra dönmeyiz"#
Drift fark edilmez, F1 sessizce düşer, 3 ay sonra ürün ekibi şikayet eder.
❌ "Active learning karmaşık, rastgele örnek alalım"#
Rastgele örnekleme, dağılımı aynen kopyalar — model yine aynı yerlerde tökezler. Active learning %40-70 bütçe tasarrufu.
❌ "Tek bir gold standard test set yeter"#
Distribution shift ile test set bayatlar. Test set de revize edilmeli (versiyonlanmış, eski tutulmalı kıyas için).
❌ "Etiketleme ucuza yapılsın, model güçlü model her şeyi düzeltir"#
Vaka 1'i hatırla — etiketler tutarsızsa model F1 0.78'de takılır. Veri kalitesi = model performans tavanı.
🎯 Annotation Engineer'ın Bu Pipeline'daki Rolü
Bu 8 halkada 3-5 numara Annotation Engineer'ın ana sorumluluk alanıdır (etiketleme, eğitim koordinasyonu, eval). 6-8 numarada ise ML Engineer ile birlikte çalışır — active sampling, drift monitoring, retraining triggerları. Bu kursta 22 modül boyunca her halkanın derinine ineceğiz.
Özet#
Bu derste öğrendiklerimiz:
- ML pipeline düz değil döngüsel — 8 halkalı bir çark.
- Veri etiketleme bu çarkın 3. halkası ama tüm halkalara dokunur.
- Schema ve kılavuz kararları 1. halkada (problem tanımı) başlar.
- Eval set kalitesi modelden bağımsızdır.
- Drift kaçınılmazdır, sürekli yeni etiket akışı şart.
- Data Flywheel = modern AI'ın temel rekabet avantajı.
Sıradaki ders: 1.2 — Etiketleme Türlerinin Tam Taksonomisi. Sınıflandırmadan span'a, BBox'tan preference'a — hepsini tek tek inceleyeceğiz.
Frequently Asked Questions
Üretimdeki modelin emin olmadığı örneklerin tekrar etiketlemeye gönderildiği, modelin yeniden eğitildiği ve sürekli iyileştiği geri besleme döngüsüdür. Tesla'nın Autopilot data engine'i, OpenAI'in InstructGPT pipeline'ı bu pattern üzerine kurulu. Aylar/yıllar içinde rakiplere göre 50-100 kat veri birikimi yaratır ve geri dönüşü zor bir rekabet uçurumu açar.
Yorumlar & Soru-Cevap
(0)Yorum yazmak için giriş yap.
Yorumlar yükleniyor...
Related Content
Module 0: Introduction & Framework
The Data-Centric AI Manifesto: Why You Should Invest in Data More Than Models
Start LearningModule 0: Introduction & Framework
The Data Labeling Engineer Career Map: From Annotator to Head of Data Operations
Start LearningModule 0: Introduction & Framework