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.
Gambar 2. Adonan mentah menghasilkan tiga roti yang identik.
Gambar 2. Pelatihan statis. Berlatih sekali; menyediakan model build yang sama beberapa kali. (Gambar oleh Pexels dan oleh fancycrave1.)

 

Gambar 3. Adonan mentah menghasilkan roti yang sedikit berbeda
            setiap waktu.
Gambar 3. Pelatihan dinamis. Seringlah melatih ulang; paling banyak melayani model yang baru-baru ini 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 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.