Sistem ML produksi: Pelatihan statis versus dinamis

Secara umum, Anda dapat melatih model dengan salah satu dari dua cara berikut:

  • Pelatihan statis (juga disebut pelatihan offline) berarti Anda melatih model hanya sekali. Kemudian, Anda menayangkan model terlatih yang sama selama beberapa waktu.
  • Pelatihan dinamis (juga disebut pelatihan online) berarti Anda melatih model secara terus-menerus atau setidaknya sering. Anda biasanya menayangkan model yang baru saja dilatih.
Gambar 2. Adonan mentah menghasilkan tiga roti yang identik.
Gambar 2. Pelatihan statis. Latih sekali; tayangkan model yang sama yang telah di-build beberapa kali. (Gambar oleh Pexels dan fancycrave1.)

 

Gambar 3. Adonan mentah akan menghasilkan roti yang sedikit berbeda
            setiap kali.
Gambar 3. Pelatihan dinamis. Latih ulang secara rutin; tayangkan model yang baru dibuat. (Gambar oleh Pexels dan Couleur.)

 

Tabel 1. Kelebihan dan kekurangan utama.

Pelatihan statis Pelatihan dinamis
Kelebihan Lebih sederhana. Anda hanya perlu mengembangkan dan menguji model sekali. Lebih adaptif. Model Anda akan mengikuti setiap perubahan pada hubungan antara fitur dan label.
Kekurangan Terkadang lebih lama. Jika hubungan antara fitur dan label berubah dari waktu ke waktu, prediksi model Anda akan menurun. Lebih banyak pekerjaan. Anda harus mem-build, menguji, dan merilis produk baru setiap saat.

Jika set data Anda benar-benar tidak berubah seiring waktu, pilih pelatihan statis karena pembuatan dan pengelolaannya lebih murah daripada pelatihan dinamis. Namun, set data cenderung berubah dari waktu ke waktu, bahkan set data dengan fitur yang Anda kira konstan seperti, misalnya, permukaan laut. Kesimpulannya: meskipun dengan pelatihan statis, Anda tetap harus memantau perubahan data input.

Misalnya, pertimbangkan model yang dilatih untuk memprediksi probabilitas pengguna akan membeli bunga. Karena terbatasnya waktu, model ini hanya dilatih sekali menggunakan kumpulan data perilaku pembelian bunga selama bulan Juli dan Agustus. Model ini berfungsi dengan baik selama beberapa bulan, tetapi kemudian membuat prediksi yang buruk di sekitar Hari Valentine karena perilaku pengguna selama periode liburan bunga tersebut berubah secara drastis.

Untuk eksplorasi pelatihan statis dan dinamis yang lebih mendetail, lihat kursus Mengelola Project ML.

Latihan: Periksa pemahaman Anda

Dua pernyataan manakah yang benar tentang pelatihan statis (offline)?
Model akan terus diperbarui saat data baru tiba.
Sebenarnya, jika Anda melakukan pelatihan secara offline, model tidak akan dapat menggabungkan data baru saat data tersebut tiba. Hal ini dapat menyebabkan model menjadi tidak berlaku lagi, jika distribusi yang Anda coba pelajari berubah seiring waktu.
Anda dapat memverifikasi model sebelum menerapkannya dalam produksi.
Ya, pelatihan offline memberikan banyak peluang untuk memverifikasi performa model sebelum memperkenalkan model dalam produksi.
Pelatihan offline memerlukan lebih sedikit pemantauan tugas pelatihan (training job) daripada pelatihan online.
Secara umum, kebutuhan pemantauan pelatihan offline pada waktu pelatihan lebih sederhana, yang menghindarkan Anda dari banyak kerumitan di produksi. Namun, semakin sering Anda melatih model, semakin tinggi investasi yang perlu Anda lakukan dalam pemantauan. Anda juga sebaiknya memvalidasi secara rutin untuk memastikan bahwa perubahan pada kode (dan dependensinya) tidak berdampak buruk pada kualitas model.
Sangat sedikit pemantauan data input yang perlu dilakukan pada waktu inferensi.
Tidak seperti yang Anda duga, Anda perlu memantau data input pada waktu penayangan. Jika distribusi input berubah, prediksi model Anda mungkin menjadi tidak dapat diandalkan. Bayangkan, misalnya, model yang hanya dilatih dengan data pakaian musim panas tiba-tiba digunakan untuk memprediksi perilaku pembelian pakaian pada musim dingin.
Manakah dari pernyataan berikut yang benar tentang pelatihan dinamis (online)?
Model akan terus diperbarui saat data baru tiba.
Ini adalah manfaat utama pelatihan online; Anda dapat menghindari banyak masalah keusangan dengan mengizinkan model dilatih pada data baru saat data tersebut masuk.
Sangat sedikit pemantauan tugas pelatihan (training job) yang perlu dilakukan.
Sebenarnya, Anda harus terus memantau tugas pelatihan (training job) untuk memastikan bahwa tugas tersebut responsif dan bekerja sesuai harapan. Anda juga akan memerlukan infrastruktur pendukung seperti kemampuan untuk melakukan rollback terhadap model ke snapshot sebelumnya jika ada kesalahan dalam pelatihan, seperti tugas yang memiliki bug atau kerusakan dalam data masukan.
Sangat sedikit pemantauan data input yang perlu dilakukan pada waktu inferensi.
Sama seperti model offline statis, penting juga untuk memantau input ke model yang diperbarui secara dinamis. Anda mungkin tidak memiliki risiko terkait efek musiman yang besar, tetapi perubahan besar yang terjadi tiba-tiba pada masukan (seperti sumber data yang tiba-tiba mati) masih dapat menghasilkan prediksi yang tidak dapat diandalkan.