Alur kerja machine learning (ML) mencakup langkah-langkah untuk menyiapkan dan menganalisis data, melatih dan mengevaluasi model, men-deploy model terlatih ke produksi, melacak artefak ML, dan memahami dependensinya, dll. Mengelola langkah-langkah ini secara ad-hoc dapat sulit dan memakan waktu.
MLOps adalah praktik penerapan praktik DevOps untuk membantu mengotomatiskan, mengelola, dan mengaudit alur kerja ML. AI Platform Pipelines membantu Anda menerapkan MLOps dengan menyediakan platform tempat Anda dapat mengatur langkah-langkah dalam alur kerja sebagai pipeline. Pipeline ML adalah definisi alur kerja ML yang portabel dan dapat direproduksi.
AI Platform Pipelines memudahkan Anda memulai MLOps dengan menghemat kesulitan dalam menyiapkan Kubeflow Pipelines dengan TensorFlow Extended (TFX). Kubeflow Pipelines adalah platform open source untuk menjalankan, memantau, mengaudit, dan mengelola pipeline ML di Kubernetes. TFX adalah project open source untuk mem-build pipeline ML yang mengatur alur kerja ML menyeluruh.
Tentang Kubeflow dan platform Kubeflow Pipelines
Kubeflow adalah toolkit open source untuk menjalankan beban kerja ML di Kubernetes. Kubeflow Pipelines adalah komponen Kubeflow yang menyediakan platform untuk mem-build dan men-deploy alur kerja ML, yang disebut pipeline.
Tentang TensorFlow Extended
TFX adalah project open source yang dapat Anda gunakan untuk menentukan alur kerja ML berbasis TensorFlow sebagai pipeline. TFX menyediakan komponen yang dapat Anda gunakan kembali untuk menyerap dan mengubah data, melatih dan mengevaluasi model, men-deploy model terlatih untuk inferensi, dll. Dengan menggunakan kembali komponen TFX, Anda dapat mengatur proses ML tanpa perlu membuat komponen kustom untuk setiap langkah.
Tentang AI Platform Pipelines
AI Platform Pipelines menghemat kesulitan Anda dalam:
- Menyiapkan cluster Google Kubernetes Engine
- Membuat bucket Cloud Storage
- Menginstal Kubeflow Pipelines
Dengan AI Platform Pipelines, Anda dapat menyiapkan cluster Kubeflow Pipelines dalam waktu 15 menit, sehingga Anda dapat mulai menggunakan pipeline ML dengan cepat. AI Platform Pipelines juga membuat bucket Cloud Storage, untuk memudahkan Anda menjalankan tutorial pipeline dan memulai template pipeline TFX.
Memahami pipeline ML
Pipeline ML adalah alur kerja ML portabel dan skalabel, berdasarkan container. Pipeline ML terdiri dari sekumpulan parameter input dan daftar tugas. Setiap tugas adalah instance komponen pipeline.
Anda dapat menggunakan pipeline ML untuk:
- Menerapkan strategi MLOps untuk mengotomatiskan proses yang dapat diulang.
- Bereksperimen dengan menjalankan alur kerja ML dengan kumpulan hyperparameter, jumlah langkah, atau iterasi pelatihan yang berbeda, dll.
- Menggunakan kembali alur kerja pipeline untuk melatih model baru.
Anda dapat menggunakan template pipeline TensorFlow Extended atau Kubeflow Pipelines SDK untuk mem-build pipeline.
- Ikuti tutorial untuk mempelajari cara mem-build pipeline dari template pipeline TFX.
- Pelajari lebih lanjut cara mem-build pipeline Kubeflow.
Memahami komponen pipeline
Komponen pipeline adalah kumpulan kode mandiri yang melakukan satu langkah dalam alur kerja pipeline, seperti prapemrosesan data, transformasi data, pelatihan model, dll.
Komponen terdiri dari kumpulan parameter input, kumpulan output, dan lokasi image container. Image container komponen adalah paket yang menyertakan kode yang dapat dieksekusi komponen dan definisi lingkungan tempat kode dijalankan.
Memahami alur kerja pipeline
Setiap tugas dalam pipeline menjalankan langkah dalam alur kerja pipeline. Karena tugas adalah instance komponen pipeline, tugas memiliki parameter input, output, dan image container. Parameter input tugas dapat ditetapkan dari parameter input pipeline atau ditetapkan agar bergantung pada output tugas lain dalam pipeline ini. Kubeflow Pipelines menggunakan dependensi ini untuk menentukan alur kerja pipeline sebagai directed acyclic graph.
Misalnya, pertimbangkan pipeline dengan tugas berikut:
- Pra-pemrosesan: Tugas ini menyiapkan data pelatihan.
- Latih: Tugas ini menggunakan data pelatihan yang telah diproses sebelumnya untuk melatih model.
- Prediksi: Tugas ini men-deploy model terlatih sebagai layanan ML dan mendapatkan prediksi untuk set data pengujian.
- Matriks konfusi: Tugas ini menggunakan output tugas prediksi untuk membuat matriks konfusi.
- ROC: Tugas ini menggunakan output tugas prediksi untuk melakukan analisis kurva karakteristik operasi penerima (ROC).
Untuk membuat grafik alur kerja, Kubeflow Pipelines SDK akan menganalisis dependensi tugas.
- Tugas prapemrosesan tidak bergantung pada tugas lain, sehingga dapat menjadi tugas pertama dalam alur kerja atau dapat berjalan secara serentak dengan tugas lain.
- Tugas pelatihan bergantung pada data yang dihasilkan oleh tugas pra-pemrosesan, sehingga pelatihan harus dilakukan setelah pra-pemrosesan.
- Tugas prediksi bergantung pada model terlatih yang dihasilkan oleh tugas pelatihan, sehingga prediksi harus terjadi setelah pelatihan.
- Membuat matriks kebingungan dan melakukan analisis ROC bergantung pada output tugas prediksi, sehingga harus terjadi setelah prediksi selesai. Membuat matriks kebingungan dan melakukan analisis ROC dapat terjadi secara bersamaan karena keduanya bergantung pada output tugas prediksi.
Berdasarkan analisis ini, sistem Kubeflow Pipelines menjalankan tugas pra-pemrosesan, pelatihan, dan prediksi secara berurutan, lalu menjalankan matriks konfusi dan tugas ROC secara konkurensi.
Langkah selanjutnya
- Ikuti panduan memulai AI Platform Pipelines untuk mempelajari cara menginstal Kubeflow Pipelines dan menjalankan pipeline ML pertama Anda.