Sistem ML produksi: Pelatihan statis versus dinamis
Secara garis besar, Anda bisa melatih model dengan salah satu dari dua cara berikut:
Pelatihan statis (juga
disebut pelatihan offline) berarti Anda melatih model
hanya sekali. Kemudian, Anda menyalurkan model terlatih yang sama untuk sementara waktu.
Pelatihan dinamis (juga
disebut pelatihan online) berarti Anda melatih model
secara terus-menerus atau
setidaknya sering. Anda biasanya melayani
model yang baru dilatih.
Tabel 1. Kelebihan dan kekurangan utama.
Pelatihan statis
Pelatihan dinamis
Kelebihan
Lebih sederhana. Anda hanya perlu mengembangkan dan menguji model satu kali.
Lebih mudah beradaptasi. Model Anda akan dapat mengimbangi
perubahan hubungan antara fitur dan label.
Kekurangan
Terkadang lebih usang. Jika hubungan antara fitur dan
label berubah seiring waktu, prediksi model Anda akan menurun.
Lebih banyak pekerjaan. Anda harus membuat, menguji, dan merilis produk baru
seiring berjalannya waktu.
Jika {i>dataset<i} Anda benar-benar tidak berubah dari waktu ke waktu, pilih pelatihan statis karena
lebih murah untuk membuat dan memeliharanya
daripada pelatihan dinamis. Namun, set data
cenderung berubah dari waktu ke waktu, bahkan fitur yang menurut Anda
konstan, misalnya permukaan laut. Kesimpulan: bahkan dengan koneksi statis
pelatihan, Anda tetap harus memantau perubahan data input Anda.
Misalnya, pertimbangkan model yang dilatih untuk memprediksi probabilitas bahwa pengguna
akan membeli bunga. Karena tekanan waktu, model hanya dilatih sekali
menggunakan {i>dataset<i} perilaku
pembelian bunga selama Juli dan Agustus.
Model ini berfungsi dengan baik selama beberapa bulan, tetapi kemudian membuat prediksi yang buruk
sekitar Hari Valentine karena
perilaku pengguna selama periode liburan
bunga berubah secara drastis.
Untuk eksplorasi yang lebih rinci tentang pelatihan statis dan dinamis, lihat
Mengelola Project ML
materi sebelumnya.
Latihan: Menguji pemahaman Anda
Manakah dua pernyataan berikut yang benar tentang
statis (offline)?
Model ini selalu diperbarui saat data baru tiba.
Sebenarnya, jika Anda berlatih secara offline, model tidak memiliki cara untuk
menggabungkan data
baru saat data tersebut tiba. Hal ini dapat menyebabkan model
penghentian, jika distribusi yang Anda coba pelajari
perubahan dari waktu ke waktu.
Anda dapat memverifikasi model sebelum menerapkannya dalam produksi.
Ya, pelatihan offline memberikan banyak kesempatan untuk memverifikasi model
performa sebelum memperkenalkan model dalam produksi.
Pelatihan offline membutuhkan lebih sedikit pemantauan tugas pelatihan
dibandingkan pelatihan {i>online<i}.
Secara umum, persyaratan pemantauan
pada waktu pelatihan lebih sederhana
untuk pelatihan offline, yang mengisolasi Anda dari berbagai produksi
pertimbangan. Namun, semakin sering Anda melatih model,
semakin tinggi investasi
yang perlu Anda lakukan dalam pemantauan. Anda akan
juga ingin melakukan validasi secara rutin untuk
memastikan bahwa perubahan pada kode
(dan dependensinya) tidak berpengaruh buruk pada kualitas model.
Sangat sedikit pemantauan data
input yang perlu dilakukan di
pada waktu inferensi.
Secara berlawanan, Anda perlu memantau data input pada saat penayangan
baik. Jika distribusi input berubah, maka konfigurasi model kita
prediksi menjadi tidak dapat diandalkan. Bayangkan, misalnya, model
dilatih hanya pada data pakaian musim panas
tiba-tiba digunakan untuk
memprediksi perilaku pembelian
pakaian di musim dingin.
Manakah satu dari pernyataan berikut yang benar
dinamis (online)?
Model ini selalu diperbarui saat data baru tiba.
Inilah manfaat utama dari pelatihan {i>online<i}; Anda dapat menghindari banyak
masalah penghentian, dengan membiarkan
model berlatih dengan data baru sesuai
dia akan masuk.
Sangat sedikit pemantauan tugas pelatihan yang perlu dilakukan.
Sebenarnya, Anda harus terus memantau tugas
pelatihan untuk memastikan bahwa
sehat dan berfungsi
sebagaimana mestinya. Anda juga akan memerlukan
infrastruktur pendukung seperti kemampuan untuk melakukan roll back
ke snapshot sebelumnya jika terjadi
masalah dalam pelatihan,
seperti pekerjaan yang memiliki bug atau kerusakan dalam data input.
Sangat sedikit pemantauan data
input yang perlu dilakukan di
pada waktu inferensi.
Sama seperti model offline yang statis, penting juga untuk
memantau input ke model yang diupdate secara dinamis. Anda
cenderung tidak berisiko terkena efek musiman yang besar, tetapi tiba-tiba,
perubahan besar pada input (seperti sumber data upstream menuju
tetap dapat menghasilkan prediksi yang tidak dapat diandalkan.