Proyek ini merupakan bagian dari submission akhir pada kelas Machine Learning Operations (MLOps) di Dicoding. Tujuan utama dari proyek ini adalah untuk membuatan machine learning pipeline sederhana menggunakan TensorFlow Extended (TFX) menggunakan komputasi cloud.
-
Membangun Machine Learning Pipeline End-to-End dengan TFX
Mengimplementasikan ML pipeline menggunakan TensorFlow Extended (TFX) dengan komponen-komponen utama seperti
ExampleGen, StatisticsGen, SchemaGen, ExampleValidator, Transform, Trainer, Tuner, Resolver, Evaluator, dan Pusheruntuk memastikan alur kerja yang terstandarisasi. Pipeline dijalankan menggunakan orchestrator Apache Beam. -
Menerapkan Sistem Machine Learning di Platform Cloud
Men-deploy model machine learning ke layanan cloud (Railway) agar dapat diakses sebagai web service yang siap digunakan oleh user.
-
Melakukan Monitoring Sistem Menggunakan Prometheus
Mengintegrasikan Prometheus untuk memantau performa dan kestabilan sistem machine learning yang telah dideploy di cloud.
- Inisialisasi Parameter: Mendefinisikan nama pipeline, direktori input data, direktori untuk menyimpan model hasil pelatihan, dan path untuk menyimpan metadata.
- Pembuatan Struktur Folder: Membuat folder
modulesberisi filetransform.py,trainer.py,tuner.py, dancomponents.pyyang dibutuhkan untuk menyusun pipeline modular.
- Modularisasi Komponen: Komponen-komponen utama pipeline seperti
ExampleGen,StatisticsGen,SchemaGen,ExampleValidator,Transform,Tuner,Trainer,Resolver,Evaluator, danPusherdidefinisikan di dalamcomponents.py. - Import Komponen: Komponen-komponen ini kemudian diimpor dan digunakan untuk membangun pipeline secara lengkap.
- Membangun Pipeline TFX: Menggunakan
pipeline.Pipeline()untuk menyusun seluruh alur komponen menjadi satu kesatuan workflow. - Runner Configuration: Menggunakan
BeamDagRunneruntuk menjalankan pipeline secara lokal menggunakan Apache Beam sebagai orchestrator.
- Serving Model: Model hasil training disimpan di direktori
output/serving_modeluntuk kemudian digunakan dalam proses deployment.
- Pengujian Model via Railway: Model yang telah di-deploy diakses melalui endpoint REST API menggunakan platform Railway.
Proyek ini telah berhasil membangun machine learning pipeline secara modular menggunakan TensorFlow Extended (TFX) dan dijalankan melalui Apache Beam. Pipeline mencakup proses mulai dari ingest data, validasi, transformasi fitur, training, evaluasi, hingga deployment model. Model hasil pelatihan kemudian di-deploy menggunakan TensorFlow Serving dan diuji melalui endpoint REST API di Railway. Proyek ini menunjukkan alur MLOps end-to-end yang dapat digunakan untuk mendukung prediksi risiko attrition karyawan secara berkelanjutan.
Author: Mellisa
Date: 17-12-2024
Tools: Python, TensorFlow, TensorFlow Extended (TFX), TFX Components, TensorFlow Serving, Railway