Apa itu data drift dalam machine learning?
Data drift adalah perubahan pada data yang diterima model di produksi dibandingkan dengan data training-nya. Model mempelajari pola dari satu sampel dunia. Ketika input, komposisi kelas, atau hubungan antara input dan label bergeser, prediksinya bisa memburuk tanpa ada error yang muncul. Model monitoring adalah praktik mengukur perubahan itu di produksi dan bertindak berdasarkan hasilnya.
Setiap model di produksi perlu dipantau. Model penipuan menghadapi penyerang yang mengganti taktik, peramalan permintaan bertemu musim dan produk baru, model kredit melihat kondisi ekonomi yang berbeda, dan pipeline hulu yang rusak bisa memberi model nilai dengan satuan yang salah dalam semalam. Tim memantau statistik input seperti KS test dan population stability index, mengamati distribusi prediksi, dan membandingkan akurasi setelah label tiba, lalu memutuskan apakah perlu retrain, kalibrasi ulang, atau roll back.
Ide utama
- Data drift adalah perubahan apa pun antara distribusi training dan data yang dilihat model di produksi.
- Covariate shift mengubah P(x), label shift mengubah P(y), dan concept drift mengubah P(y|x), yaitu aturannya sendiri.
- Concept drift merusak model walaupun input tampak tidak berubah, jadi pemantauan input saja tidak bisa menangkapnya.
- KS test mengukur selisih terbesar antara dua CDF empiris dan pada ukuran sampel besar menandai shift yang sangat kecil sekalipun.
- PSI menjumlahkan (a − e)·ln(a/e) atas semua bin dan sama dengan KL divergence simetris antara kedua distribusi yang sudah di-bin.
- Menguji banyak feature pada setiap pengecekan menghasilkan alarm palsu kecuali threshold-nya dikoreksi, misalnya dengan Bonferroni.
Ulasan singkat tentang topik ini
Pertanyaan umum
Seberapa sering model perlu di-retrain?
Tidak ada jadwal tetap yang cocok untuk semua model. Sebagian tim melakukan retrain menurut kalender, misalnya mingguan atau bulanan, dan sebagian lain melakukannya ketika pemantauan menunjukkan drift atau penurunan akurasi. Retrain menurut kalender itu sederhana tetapi bisa melewatkan perubahan mendadak, sedangkan retrain berbasis pemicu bergantung pada alert yang bisa dipercaya. Banyak sistem menggabungkan keduanya.
Sebaiknya pakai KS test, PSI, atau metrik drift lain?
KS test menghasilkan p-value dan tidak butuh bin, jadi cocok untuk feature kontinu, tetapi pada sampel besar ia menandai shift yang terlalu kecil untuk berdampak. PSI dan ukuran jarak lain seperti Wasserstein atau Jensen-Shannon memberikan effect size, yang lebih mudah diberi threshold. Uji chi-square menangani feature kategorikal. Banyak tim melaporkan satu uji dan satu ukuran jarak untuk setiap feature.
Apa itu training-serving skew?
Training-serving skew adalah perbedaan antara feature yang dihitung untuk training dan feature yang dihitung saat serving untuk contoh yang sama. Penyebabnya biasanya jalur kode yang terpisah, seperti batch job dan layanan online yang membulatkan, menggabungkan, atau mengisi nilai kosong dengan cara berbeda. Gejalanya mirip drift sejak hari pertama deployment, dan perbaikannya ada di pipeline, bukan di retrain.
Bagaimana cara mendeteksi drift pada gambar, teks, atau embedding?
Pixel dan token mentah berdimensi terlalu tinggi untuk uji per feature. Pendekatan yang umum adalah meringkas setiap input menjadi beberapa angka, seperti output softmax model itu sendiri atau proyeksi embedding berdimensi rendah, lalu menguji angka-angka itu. Rabanser dkk. menemukan bahwa uji pada output classifier yang sudah dilatih mendeteksi banyak jenis shift dengan baik. Domain classifier, yang dilatih untuk membedakan input training dari input live, adalah pilihan lain: kalau hasilnya lebih baik daripada menebak acak, distribusinya berbeda.
Penjelasan terkait
- Uji Hipotesis · Mengambil keputusan berdasarkan data dengan hipotesis nol, p-value, dan tingkat signifikansi
- KL Divergence · Mengukur seberapa berbeda dua distribusi
- Dasar-Dasar Statistik · Rata-rata, varians, simpangan baku, dan Teorema Limit Pusat
- Evaluasi Model dan Metrik · Precision, recall, F1, kurva ROC, dan metrik regresi
- Training, Validation, dan Test Set · Membagi data untuk mengukur generalization dan menghindari overfitting
- Class Imbalance & Resampling · SMOTE, class weight, dan metrik di luar akurasi
Referensi
- Rabanser, Günnemann & Lipton (2019), "Failing Loudly: An Empirical Study of Methods for Detecting Dataset Shift"
- Gama et al. (2014), "A Survey on Concept Drift Adaptation", ACM Computing Surveys
- Lipton, Wang & Smola (2018), "Detecting and Correcting for Label Shift with Black Box Predictors"
Terakhir diperbarui