Apa itu alur Pembelajaran Mesin Azure?

Alur Azure Machine Learning memiliki alur kerja yang dapat dikerjakan secara independen dari semua tugas pembelajaran mesin secara lengkap. Alur Azure Machine Learning membantu menstandarkan praktik terbaik dalam menghasilkan model pembelajaran mesin, memungkinkan tim untuk melakukan eksekusi dalam skala besar, dan meningkatkan efisiensi pembangunan model.

Mengapa alur Azure Machine Learning diperlukan?

Inti dari alur pembelajaran mesin adalah untuk membagi tugas pembelajaran mesin lengkap menjadi alur kerja dengan beberapa langkah. Setiap langkah adalah komponen yang dapat dikelola yang dapat dikembangkan, dioptimalkan, dikonfigurasi, dan diotomatisasi satu per satu. Langkah-langkah terhubung melalui antarmuka yang terdefinisi dengan baik. Layanan alur Azure Machine Learning secara otomatis mengatur semua dependensi antar langkah alur. Pendekatan modular ini memiliki dua manfaat utama:

Menstandarkan praktik MLOps dan mendukung kolaborasi tim yang dapat diskalakan

Operasi pembelajaran mesin (MLOps) mengotomatiskan proses pembuatan model pembelajaran mesin dan membawa model ke produksi. Ini merupakan proses yang kompleks. Prosesnya biasanya memerlukan kolaborasi dari berbagai tim dengan keterampilan yang berbeda. Alur pembelajaran mesin yang terdefinisi dengan baik dapat mengabstraksi proses kompleks ini ke dalam beberapa langkah alur kerja, dengan memetakan setiap langkah ke tugas tertentu sehingga setiap tim dapat bekerja secara independen.

Misalnya, proyek pembelajaran mesin umumnya mencakup langkah-langkah pengumpulan data, persiapan data, pelatihan model, evaluasi model, dan penyebaran model. Biasanya, teknisi data berfokus menangani langkah-langkah data, ilmuwan data menghabiskan sebagian besar waktu untuk pelatihan dan evaluasi model, teknisi pembelajaran mesin berfokus menangani penyebaran model dan otomatisasi seluruh alur kerja. Dengan memanfaatkan alur pembelajaran mesin, setiap tim hanya perlu bekerja membangun langkah-langkah alur mereka sendiri. Cara terbaik untuk membangun langkah-langkah adalah menggunakan komponen Azure Pembelajaran Mesin (v2), bagian kode mandiri yang melakukan satu langkah dalam alur pembelajaran mesin. Semua langkah yang dibangun oleh berbagai pengguna ini nantinya akan diintegrasikan ke dalam satu alur kerja melalui definisi alur. Alur adalah alat kolaborasi untuk semua orang dalam proyek. Proses menentukan alur dan semua langkahnya dapat distandarkan oleh praktik DevOps pilihan masing-masing perusahaan. Alur dapat diversikan lebih lanjut dan diotomatisasi. Jika proyek ML digambarkan sebagai alur, praktik MLOps terbaik sudah diterapkan.

Efisiensi pelatihan dan pengurangan biaya

Selain menjadi alat untuk mempraktikkan MLOps, alur pembelajaran mesin juga meningkatkan efisiensi pelatihan model besar dan mengurangi biaya. Ambil pelatihan model bahasa alami modern sebagai contoh. Pelatihan ini membutuhkan pra-pemrosesan data dalam jumlah besar dan pelatihan model transformator dengan performa GPU yang intensif. Dibutuhkan waktu berjam-jam hingga berhari-hari setiap kali pelatihan model dilakukan. Ketika model sedang dibangun, ilmuwan data ingin menguji kode pelatihan atau hiperparameter yang berbeda dan menjalankan pelatihan berkali-kali untuk mendapatkan performa model terbaik. Untuk sebagian besar pelatihan ini, biasanya ada perubahan kecil dari satu pelatihan ke pelatihan lainnya. Banyak waktu akan terbuang jika setiap kali pelatihan penuh dari pemrosesan data hingga pelatihan model dilakukan. Dengan menggunakan alur pembelajaran mesin, alur dapat secara otomatis menghitung hasil langkah mana yang tidak berubah dan menggunakan kembali output dari pelatihan sebelumnya. Selain itu, alur pembelajaran mesin mendukung eksekusi setiap langkah pada sumber daya komputasi yang berbeda. Dengan demikian, pemrosesan data berat memori berfungsi dan menjalankan mesin CPU memori tinggi, dan pelatihan intensif komputasi dapat berjalan pada mesin GPU yang mahal. Dengan memilih langkah yang akan dijalankan dengan benar pada jenis mesin mana, biaya pelatihan dapat dikurangi secara signifikan.

Memulai praktik terbaik

Bergantung pada apa yang sudah dimiliki proyek pembelajaran mesin, titik awal membangun alur pembelajaran mesin mungkin bervariasi. Ada beberapa pendekatan umum untuk membangun alur.

Pendekatan pertama biasanya berlaku untuk tim yang belum menggunakan alur sebelumnya dan ingin memanfaatkan alur seperti MLOps. Dalam situasi ini, ilmuwan data biasanya telah mengembangkan beberapa model pembelajaran mesin di lingkungan lokal mereka menggunakan alat favorit mereka. Teknisi pembelajaran mesin perlu mengambil output ilmuwan data ke dalam produksi. Pekerjaan ini melibatkan pembersihan beberapa kode yang tidak perlu dari buku catatan asli atau kode Python, mengubah input pelatihan dari data lokal menjadi nilai berparameter, membagi kode pelatihan menjadi beberapa langkah sesuai kebutuhan, melakukan pengujian unit dari setiap langkah, dan akhirnya membungkus semua langkah ke dalam alur.

Setelah tim terbiasa menggunakan alur dan ingin mengerjakan lebih banyak proyek pembelajaran mesin menggunakan alur, mereka akan menemukan bahwa pendekatan pertama sulit untuk diskalakan. Pendekatan kedua adalah menyiapkan beberapa templat alur, dengan masing-masing template digunakan untuk mencoba memecahkan satu masalah pembelajaran mesin tertentu. Templat telah menentukan struktur alur termasuk berapa banyak langkah, input dan output setiap langkah, dan konektivitasnya. Untuk memulai proyek pembelajaran mesin baru, tim terlebih dahulu membuat fork satu repositori template. Pemimpin tim kemudian menetapkan anggota untuk mengerjakan langkah tertentu. Ilmuwan data dan insinyur data melakukan pekerjaan rutin mereka. Ketika mereka senang dengan hasilnya, mereka menyusun kode mereka agar pas dalam langkah-langkah yang telah ditentukan sebelumnya. Setelah kode terstruktur dimasukkan, alur dapat dijalankan atau diotomatisasi. Jika ada perubahan, setiap anggota hanya perlu mengerjakan bagian kode mereka tanpa menyentuh sisa kode alur.

Setelah tim membangun kumpulan alur pembelajaran mesin dan komponen yang dapat digunakan kembali, mereka dapat mulai membangun alur pembelajaran mesin dengan mengkloning alur sebelumnya atau mengikat komponen yang dapat digunakan kembali yang ada bersama-sama. Pada tahap ini, produktivitas tim secara keseluruhan akan ditingkatkan secara signifikan.

Azure Machine Learning menawarkan berbagai metode untuk membangun alur. Untuk pengguna yang terbiasa menggunakan praktik DevOps, sebaiknya gunakan CLI. Untuk ilmuwan data yang terbiasa dengan python, sebaiknya tulis alur menggunakan Azure Pembelajaran Mesin SDK v2. Bagi pengguna yang lebih suka menggunakan UI, mereka dapat menggunakan perancang untuk membangun alur dengan menggunakan komponen terdaftar.

Teknologi alur Azure mana yang harus saya gunakan?

Cloud Azure menyediakan beberapa jenis alur, masing-masing memiliki tujuan yang berbeda. Tabel berikut berisi daftar berbagai alur dan kegunaannya:

Skenario Persona utama Penawaran Azure Penawaran OSS Pipa kanonis Kekuatan
Orkestrasi model (Pembelajaran mesin) Saintis data Alur Azure Machine Learning Alur Kubeflow Data -> Model Distribusi, caching, kode-pertama, gunakan kembali
Orkestrasi data (Persiapan data) Teknisi data Alur Azure Data Factory Apache Airflow Data -> Data Gerakan yang perlu diketik, aktivitas yang berpusat pada data
Orkestrasi kode & aplikasi (CI/CD) Pengembang Aplikasi/Ops Alur Azure Jenkins Kode + Model -> Aplikasi/Layanan Dukungan aktivitas yang paling terbuka dan fleksibel, antrean persetujuan, fase dengan gating

Langkah berikutnya

Alur Azure Machine Learning adalah fasilitas canggih yang mulai memberikan nilai pada tahap pengembangan awal.