Bab 1: Membuat Pipeline Machine Learning

Feb 22 2023
Bab pertama dalam seri tentang pengetahuan yang diperlukan untuk beralih dari insinyur data menjadi insinyur pembelajaran mesin
Saat kebanyakan orang pertama kali mempelajari pembelajaran mesin, mereka berlatih di notebook Jupyter. Meskipun ini adalah langkah pertama yang baik untuk mengulang prototipe dengan cepat, ini hanya sebagian kecil dari pekerjaan yang diperlukan untuk menerapkan model ke produksi.

Saat kebanyakan orang pertama kali mempelajari pembelajaran mesin, mereka berlatih di notebook Jupyter. Meskipun ini adalah langkah pertama yang baik untuk mengulang prototipe dengan cepat, ini hanya sebagian kecil dari pekerjaan yang diperlukan untuk menerapkan model ke produksi. Datanya dikurasi dan statis, dan modelnya hanya perlu dilatih sekali (Kiat Wawancara: ketika saya meminta kandidat untuk memeriksa proyek sebelumnya, dan mereka mendiskusikan proyek yang keluarannya adalah notebook Jupyter, ini serius bendera merah bahwa mereka tidak akan dapat menyebarkan ke produksi). Untuk men-deploy ke produksi, pipeline ML harus dibuat.

Sebelum Membuat Pipa

Insinyur pembelajaran mesin terbaik secara aktif mencoba untuk tidak menggunakan ML. Kedengarannya kontra-intuitif? Banyak kasus penggunaan di mana ML dapat diterapkan dapat diselesaikan tanpa ML, dan masih memberikan nilai 90% untuk sebagian kecil dari kerumitan dan biaya. Dengan semua desas-desus yang didapat kecerdasan buatan dalam beberapa tahun terakhir, seringkali akan ada manajer produk atau eksekutif yang ingin menggunakan ML karena kedengarannya keren. Jangan dengarkan mereka. Alih-alih, pikirkan pendekatan berbasis aturan yang sudah cukup. Daripada menggunakan NLP, coba string regex terlebih dahulu. Daripada membangun sistem pemberi rekomendasi, coba rekomendasikan item yang paling populer atau yang baru dilihat terlebih dahulu.

Bahkan jika pendekatan berbasis aturan dengan cepat digantikan oleh pembelajaran mesin, itu memaksa Anda untuk membuat beberapa keputusan penting di muka.

  • Itu membuat seluruh tim selaras dengan metrik kesuksesan. Untuk mengukur keberhasilan model berbasis aturan, Anda harus membuat keputusan seperti menentukan produk bintang utara, dan apakah presisi atau ingatan lebih penting. Keputusan ini merupakan bagian integral untuk membangun solusi optimal, dan seringkali sulit dibuat hingga versi awal diluncurkan dan umpan balik pengguna dikumpulkan (Tips Wawancara: Selama wawancara sistem ML, selalu selaraskan metrik keberhasilan dengan pewawancara sebelum mendalami solusi ).
  • Ini memastikan Anda memperoleh sumber daya sejak dini. Saya telah menjadi bagian dari banyak proyek ML di mana tim kami menghabiskan beberapa bulan membangun model, namun tidak dapat memperoleh sumber daya desain dan rekayasa produk untuk mengintegrasikan model ke dalam produk. Dimulai dengan pendekatan berbasis aturan memastikan bahwa kasus penggunaan benar-benar merupakan prioritas utama bagi tim. Jika Anda menentukan antarmuka yang benar dengan rekayasa produk, maka Anda dapat terus mengulang dan mendorong perbaikan model sendiri, lama setelah insinyur dan perancang produk pindah ke proyek lain.

Sam Altman dengan terkenal menyatakan bahwa prediktor nomor satu kesuksesan sebuah startup adalah tingkat iterasinya. Untuk produk pembelajaran mesin, ini berarti membangun kerangka kerja yang memungkinkan eksperimen cepat. Kerangka kerja eksperimen memungkinkan pengujian A/B dijalankan untuk melihat apakah versi baru model meningkatkan metrik keberhasilan. Saat meluncurkan versi baru, selalu mulai dengan menerapkannya ke sebagian kecil basis pengguna, dan perlahan tingkatkan persentase ini dari waktu ke waktu.

Buat Pipa

Jika pendekatan berbasis aturan dianggap tidak cukup, dan kerangka kerja eksperimen telah tersedia, barulah pekerjaan pada pipa pembelajaran mesin dapat dimulai. Ada empat komponen utama pipeline ML — ekstraksi fitur, pelatihan, penayangan, dan pemantauan. Untuk kasus penggunaan yang kompleks, masing-masing komponen ini dapat dipecah menjadi beberapa subkomponen. Contoh pipa ditunjukkan di bawah ini. Bab-bab selanjutnya dari pedoman ini membahas masing-masing komponen ini secara lebih mendetail.

  • Ekstraksi Fitur: Memuat, memvalidasi, membersihkan, dan mengubah data ke dalam format yang diperlukan untuk pelatihan
  • Pelatihan: Latih model, lakukan penyetelan hyperparameter, dan evaluasi metrik offline
  • Penyajian: Terapkan titik akhir inferensi atau lakukan inferensi batch
  • Pemantauan: Mengevaluasi metrik online, mendeteksi kesalahan, dan memicu pelatihan ulang
  • Contoh pipeline ML

Meskipun Anda telah lulus dari pendekatan berbasis aturan ke model pembelajaran mesin, model pertama seharusnya tetap sederhana. Gunakan sejumlah kecil fitur dasar, dan pilih model dasar. Ini memungkinkan Anda mengonfirmasi bahwa ML adalah pendekatan yang benar. Jika model sederhana tidak mampu mengalahkan pendekatan berbasis aturan, maka evaluasi kembali apakah ML merupakan solusi yang tepat. Jika metrik keberhasilan telah ditentukan, kerangka kerja eksperimen telah dibuat, dan saluran pipa telah dibuat, maka pembuatan versi selanjutnya dari model yang lebih canggih akan mudah dilakukan.