The Machine Learning Lifecycle – Towards AI

Machine Learning Engineering for Production (MLOps) Specialization at DeepLearning.AI taught by Andrew Ng, Robert Crowe, Laurence Moroney and Cristian Bartolomé Arámburu

Author(s): Akhil Theerthala

Awalnya diterbitkan di Towards AI the World’s Leading AI and Technology News and Media Company. Jika Anda membuat produk atau layanan terkait AI, kami mengundang Anda untuk mempertimbangkan menjadi sponsor AI. Di Towards AI, kami membantu menskalakan AI dan startup teknologi. Biarkan kami membantu Anda melepaskan teknologi Anda kepada massa.

Catatan MLOps 1: Siklus Hidup Pembelajaran Mesin

Selamat siang semuanya! Dan selamat Tahun Baru!

Akhil Theerthala di sini. Karena kewajiban pribadi saya, saya belum bisa menulis artikel dengan serius sampai sekarang. Namun akhirnya, mulai hari ini, saya akan mulai berkontribusi seminggu sekali ke halaman media saya!

Saya belum mengambil kursus online dalam dua bulan terakhir karena saya dibanjiri pekerjaan, seperti mempersiapkan penempatan dan menyelesaikan laporan proyek, dll., Tapi sekarang saya sudah mulai mengambil Machine Learning For Engineering (MLOps ) Spesialisasi pada Coursera dan saya akan membagikan catatan saya di media saya. Jadi, untuk saat ini, periksa kembali setiap dua hari untuk mengetahui catatan saya!

Spesialisasi Teknik Pembelajaran Mesin untuk Produksi (MLOps) di DeepLearning.AI diajarkan oleh Andrew Ng, Robert Crowe, Laurence Moroney, dan Cristian Bartolomé ArámburuMachine Learning For Engineering (MLOps) Spesialisasi di Coursera.

Tentang apa kursus ini?

Hingga saat ini, kami telah melihat bagian pelatihan dari model pembelajaran mesin. Sekarang saatnya bagi kita untuk melihat bagaimana kita memasukkannya ke dalam produksi dan tantangan serta persyaratan yang kita hadapi dalam prosesnya. yaitu, kursus ini membahas apa yang terjadi di luar notebook Jupyter.

Contoh: Mari kita lihat kasus pendeteksian goresan pada ponsel. Kami menggunakan perangkat untuk mengidentifikasi apakah ponsel memiliki goresan atau tidak.

Beberapa istilah!
Edge Device: perangkat yang hidup di dalam pabrik
Software : Program yang mengontrol cara kerja perangkat edge.

Dalam kasus kami, kami memiliki perangkat lunak inspeksi yang mengontrol kamera yang mengambil foto dan meneruskannya ke perangkat lunak kontrol.

Perangkat lunak kontrol memanggil API, yang meneruskan gambar ke server prediksi. Server prediksi memiliki model yang tugasnya adalah memprediksi apakah ada goresan atau tidak. Hasil ini dikirim kembali ke perangkat lunak kontrol, yang berperilaku dengan cara tertentu untuk mengklasifikasikan ponsel.
Ilustrasi model pengenalan ucapan yang diterapkan di cloud.Contoh sistem Scratch recognition di pabrik. Sumber: Deeplearning.AI, dilisensikan di bawah lisensi Creative Commons Attribution-ShareAlike 2.0.

Ini umumnya disebut penyebaran cloud. Ada jenis penerapan lain yang disebut penerapan tepi, di mana pabrik tetap berjalan terlepas dari koneksi internet. POC (bukti konsep) adalah model utama yang kami buat. Tapi ada banyak hal di luar sana yang membuat orang percaya bahwa POC ini hanya 5~10% dari penerapan produksi.

Ilustrasi semua langkah dari seluruh infrastruktur ML dalam produksi, disesuaikan dengan jumlah waktu yang dibutuhkan.Persyaratan seputar infrastruktur ML. Sumber: [D. Sculley et. al. NIPS 2015: Hidden Debt in Machine Learning Systems]

Nah, gambar di atas menunjukkan seluruh komponen penerapan produksi ml. Dalam kursus ini, tujuannya adalah untuk melihat semua proses lainnya. Salah satu cara termudah untuk melihat komponen lain ini adalah dengan menentukan siklus hidup proyek pembelajaran mesin dan menjelajahi setiap langkah bila diperlukan.

Siklus hidup Sistem ML:

Siklus hidup generik terdiri dari 4 bagian utama, di mana di setiap bagian, kita menjalani proses atau tugas yang berbeda dan beralih ke bagian berikutnya jika sudah puas. Bagian-bagiannya adalah

Mencakup proyek — Di sini, kami mendefinisikan proyek dan persyaratan serta asumsi proyek yang kami kerjakan. Data — Berdasarkan pelingkupan, kami menentukan data yang diperlukan, memberi label, dan mengatur data. Pemodelan — Menggunakan data akhir yang diproses, kami memilih dan melatih model diikuti dengan melakukan analisis kesalahan. Ini adalah bagian yang paling kita kenal, dan itu terjadi di notebook Jupyter. Penerapan — Terakhir, setelah menguji model, model dikirim ke penerapan pertama ke dalam produksi. Setelah pemasangan, kami memantau dan memelihara seluruh sistem produksi berdasarkan umpan balik dari pengguna.
Diagram alir umum project ML yang sedang dalam produksi.  Mulai dari pelingkupan proyek, pendefinisian dan pelabelan data, prapemrosesan data, pemodelan, dan penerapan.Siklus hidup proyek pembelajaran Mesin generik dalam produksi. Sumber: DeepLearning.AI, dilisensikan di bawah lisensi Creative Commons Attribution-ShareAlike 2.0.

Langkah 3,4 adalah proses berulang, di mana, berdasarkan kebutuhan, kita mungkin harus mendefinisikan kembali langkah tertentu atau melatih ulang model atau beberapa langkah sebelumnya, seperti mengubah asumsi yang diambil atau mendapatkan lebih banyak data.

Mari kita lihat contoh dengan menggunakan langkah-langkah dalam siklus ini: Pertimbangkan sistem Pengenalan Pidato di mana berdasarkan klip audio input, kami akan membuat transkrip, bersama dengan fungsi pencarian. Di setiap langkah, kita akan mengajukan beberapa pertanyaan kepada diri kita sendiri, yang membuat apa yang perlu kita lakukan sedikit lebih jelas.

Langkah-1: Pelingkupan

Mendefinisikan proyek: Pengenalan ucapan dapat memiliki banyak aplikasi. Salah satu aplikasi tersebut adalah pengenalan suara untuk pencarian suara. Apa yang akan menjadi metrik utama kami dalam kasus ini? (Sepenuhnya bergantung pada masalah) Beberapa metrik utama termasuk akurasi, latensi, throughput, dll., Berapa konsumsi sumber daya target? (Pada langkah ini, kita dapat melihat bagaimana kinerja berbagai sistem di pasar dan menentukan target)

Jadi sebagian besar, apa yang kita lakukan dalam langkah ini secara teoritis mendefinisikan apa yang harus kita lakukan dan bagaimana kita melakukannya, bersamaan dengan membuat asumsi yang diperlukan. Bagian ini akan dibahas secara rinci nanti dalam kursus.

Langkah-2: Data

Apakah data diberi label secara konsisten? Berapa banyak keheningan yang harus kita harapkan dalam klip tersebut? Bagaimana Anda menormalkan volume semua speaker yang berbeda sehingga kumpulan data dapat memiliki semua suara dalam volume yang sama?

Langkah ini sebagian besar berisi data scraping, pemrosesan, dan rekayasa fitur, yang membuat pemodelan dengan data ini lebih mudah.

Langkah-3: Pemodelan

Pilih model pelatihan, yaitu memilih kode, Hyperparameters, dan Data, memberi kita modelnya. Umumnya, dalam pekerjaan penelitian, data diperbaiki, dan kode dimainkan. Padahal, di Tim Produk, ditemukan bahwa mempertahankan kode tetap dan bermain-main dengan data dan hyperparameter adalah normal dan efisien. Direkomendasikan daripada mengambil tampilan model-sentris, disarankan juga untuk mengambil model sumber terbuka yang telah ditentukan sebelumnya dan kemudian mengoptimalkannya untuk kode dan data. Analisis kesalahan untuk model umumnya membantu kami lebih bertarget untuk memilih data dan memverifikasi bahwa model tersebut berfungsi.

Langkah-4: Penerapan

Kami dapat menerapkannya dalam model berikut, di mana perangkat edge adalah ponsel. Perangkat lunak menggunakan modul mikrofon dan VAD (deteksi aktivitas suara) dari perangkat tepi (ponsel) dan mengirimkan data ucapan ke server produksi. Server produksi memproses permintaan dan mengirimkan hasilnya sesuai dengan permintaan. Umumnya, server produksi ini adalah tempat pipa model kami disimpan. Kemudian, kami harus terus memantau sistem untuk melihat penyimpangan konsep atau masalah lain agar alat produksi memberikan nilai yang kami impikan.

Seluruh langkah secara praktis berbeda dan sangat bergantung pada aplikasi. Tetapi esensi umum dari apa yang kami lakukan adalah kami mencoba dan menerapkan model dengan pola penerapan tertentu dan kemudian memantaunya. Jika model bekerja sesuai dengan rencana kami, maka kami melanjutkan penerapan skala penuh, dengan pemantauan konstan untuk berbagai jenis kesalahan yang dapat meningkat.

Pada kursus pertama, kita akan melihat ke belakang, mulai dari penerapan dan kemudian mundur ke belakang, yaitu, artikel berikutnya dalam seri ini akan membahas bagian Penerapan. Kami juga akan mempelajari MLOps, yang merupakan disiplin baru dan terdiri dari seperangkat alat dan prinsip yang mendukung praktik terbaik.

Terima kasih sudah mampir! Saya akan pastikan artikel berikutnya keluar pada 3 Januari 2023, sesuai rencana. Jadi, awasi terus! Sementara itu, Anda dapat membaca artikel saya tentang proyek analitik data saya atau tentang bagaimana Spesialisasi Pembelajaran Dalam yang populer dibandingkan dengan Gelar Nano Pembelajaran Dalam Udacity.

Catatan MLOps -1: Siklus Hidup Pembelajaran Mesin awalnya diterbitkan di Towards AI on Medium, di mana orang melanjutkan percakapan dengan menyorot dan menanggapi cerita ini.

Diterbitkan melalui Menuju AI

Author: Jonathan Kelly