Menjaga model tetap benar, bukan hanya tetap hidup: tantangan khusus sistem ML dibanding layanan biasa, model monitoring untuk kualitas prediksi, drift detection, dan SLO untuk inference — dibuktikan dengan praktik memonitor model yang sudah berjalan di produksi

Di episode 22, AI membantu kalian menjaga sistem. Sekarang posisinya berbalik: sistem yang harus kalian jaga adalah AI itu sendiri. Dan di sinilah banyak SRE kehilangan pijakan, karena semua yang sudah dipelajari sejauh ini — availability, latency, error rate — hanya menjawab pertanyaan "apakah modelnya hidup?", padahal pertanyaan yang sebenarnya berbunyi "apakah modelnya masih benar?"
Sistem ML punya dua lapis kegagalan: layanan bisa mati seperti service biasa, tetapi yang lebih halus — model bisa terus berjalan dan terus salah, melayani prediksi yang sudah tidak relevan, tanpa ada error yang tercatat. Episode 23 membahas monitoring kualitas model, drift detection, dan SLO untuk inference — cara menjawab pertanyaan kedua itu.
Perbedaan mendasar dari service biasa ada tiga:
Konsekuensinya: SRE untuk ML membutuhkan dua dimensi monitoring — operasional (seperti biasa) dan kualitas/data (khusus ML).
Sama seperti service biasa: availability inference endpoint, latency p95, throughput, error rate. Model yang hidup tapi lambat tetap melanggar SLO. Bagian ini memakai seluruh toolkit yang sudah kalian bangun — alerting (episode 6), dashboard (episode 5), capacity (episode 8).
Inilah yang membedakan ML. Empat kelompok metrik kunci:
| Kelompok | Metrik | Pertanyaan |
|---|---|---|
| Data drift | Distribusi fitur input berubah | Dunia berubah? |
| Prediction drift | Distribusi output berubah | Model mulai bias? |
| Ground truth lag | Waktu sampai label aktual tersedia | Kapan kita tahu kebenaran? |
| Quality metrics | Accuracy/MAE/F1 bila label tersedia | Model masih benar? |
Metrik-metrik ini biasanya tidak real-time — mereka dihitung per batch (harian/jam-an) karena butuh label. Yang real-time adalah data drift: distribusi input yang bergeser sering kali adalah early warning yang mendahului penurunan kualitas.
Data drift adalah perubahan distribusi data yang masuk; concept drift adalah perubahan hubungan antara input dan label. Keduanya menandakan model mulai tidak cocok dengan dunia.
Metode deteksi yang praktis:
import numpy as np
def psi(expected, actual, buckets=10):
exp, _ = np.histogram(expected, bins=buckets, density=True)
act, _ = np.histogram(actual, bins=buckets, density=True)
exp = np.clip(exp + 1e-6, 1e-6, None)
act = np.clip(act + 1e-6, 1e-6, None)
return np.sum((act - exp) * np.log(act / exp))
if psi(baseline_pred, current_pred) > 0.25:
alert("prediction drift terdeteksi")Important
Drift alert tanpa rencana aksi hanyalah alarm tambahan (episode 6 mengajarkan betapa berharganya alert actionable). Sebelum memasang drift alert, tulis dulu runbooknya: siapa mengecek, kapan model di-retrain, siapa yang menyetujui penggantian versi, dan bagaimana rollback dilakukan bila model baru lebih buruk. Alert drift menandai waktu untuk proses itu, bukan penggantinya.
Sistem ML punya SLO dua lapis — keduanya wajib ada:
Lapisan infrastruktur (seperti service biasa):
Lapisan kualitas (khas ML):
Mendefinisikan SLO kualitas adalah keputusan bisnis (persis episode 3-4): target akurasi 90% mungkin terlalu mahal atau terlalu murah tergantung dampak prediksi yang salah. Satu poin lagi yang sering terlupakan — baseline: "akurasi di atas 90%" tidak berarti banyak tanpa pembanding (misal majority-class baseline 85%). SLO yang baik selalu berpasangan dengan baseline yang jujur.
Untuk model yang sudah berjalan di lab (atau model sederhana yang kalian deploy):
service: fraud-model-v3
slos:
- name: inference-availability-30d
objective: 99.9
sli: availability inference endpoint
- name: prediction-accuracy-7d
objective: 92.0
sli: akurasi prediksi batch, baseline 88%
error_budget_policy: retrain jika budget habisTip
Mulailah dari metrik kualitas yang paling dekat dengan dampak bisnis — untuk model fraud, itu akurasi/precision pada transaksi nyata; untuk rekomendasi, itu CTR. Jangan mulai dari belasan metrik drift per fitur yang membuat kalian kewalahan. Satu metrik kualitas yang benar lebih berharga dari lima metrik drift yang tidak mengarah pada keputusan.
Pada episode 23 ini, kalian telah belajar menjaga model tetap benar, bukan hanya tetap hidup.
Inti yang harus dibawa pulang:
Di episode 24 selanjutnya, kalian akan berbalik menjadi pemberi layanan: platform reliability — keandalan platform internal, golden paths, dan developer SLA. Sampai jumpa di episode 24!