MLOps adalah praktik penerapan praktik DevOps untuk membantu mengotomatiskan, mengelola, dan mengaudit alur kerja machine learning (ML). Alur kerja ML mencakup langkah-langkah untuk:
- Menyiapkan, menganalisis, dan mengubah data.
- Melatih dan mengevaluasi model.
- Men-deploy model terlatih ke produksi.
- Lacak artefak ML dan pahami ketergantungannya.
Mengelola langkah-langkah ini secara ad-hoc bisa jadi sulit dan memakan waktu.
TFX memudahkan implementasi MLOps dengan menyediakan toolkit yang membantu Anda mengatur proses ML di berbagai orkestra, seperti: Apache Airflow, Apache Beam, dan Kubeflow Pipelines. Dengan mengimplementasikan alur kerja Anda sebagai pipeline TFX, Anda dapat:
- Otomatiskan proses ML Anda, yang memungkinkan Anda melatih ulang, mengevaluasi, dan menerapkan model secara rutin.
- Manfaatkan sumber daya komputasi terdistribusi untuk memproses kumpulan data dan beban kerja yang besar.
- Tingkatkan kecepatan eksperimen dengan menjalankan pipeline dengan kumpulan hyperparameter yang berbeda.
Panduan ini menjelaskan konsep inti yang diperlukan untuk memahami pipeline TFX.
Artefak
Keluaran dari langkah-langkah dalam pipeline TFX disebut artefak . Langkah selanjutnya dalam alur kerja Anda mungkin menggunakan artefak ini sebagai masukan. Dengan cara ini, TFX memungkinkan Anda mentransfer data antar langkah alur kerja.
Misalnya, komponen standar ExampleGen
memancarkan contoh berseri, yang komponennya seperti komponen standar StatisticsGen
digunakan sebagai input.
Artefak harus diketik dengan kuat dengan jenis artefak yang terdaftar di penyimpanan Metadata ML . Pelajari lebih lanjut tentang konsep yang digunakan dalam Metadata ML .
Jenis artefak memiliki nama dan menentukan skema propertinya. Nama jenis artefak harus unik di penyimpanan Metadata ML Anda. TFX menyediakan beberapa tipe artefak standar yang menjelaskan tipe data dan tipe nilai yang kompleks, seperti: string, integer, dan float. Anda dapat menggunakan kembali jenis artefak ini atau menentukan jenis artefak khusus yang berasal dari Artifact
.
Parameter
Parameter adalah input ke pipeline yang diketahui sebelum pipeline Anda dijalankan. Parameter memungkinkan Anda mengubah perilaku pipeline, atau bagian dari pipeline, melalui konfigurasi alih-alih kode.
Misalnya, Anda dapat menggunakan parameter untuk menjalankan pipeline dengan kumpulan hyperparameter yang berbeda tanpa mengubah kode pipeline.
Menggunakan parameter memungkinkan Anda meningkatkan kecepatan eksperimen dengan membuatnya lebih mudah untuk menjalankan saluran Anda dengan kumpulan parameter yang berbeda.
Pelajari lebih lanjut tentang kelas RuntimeParameter .
Komponen
Komponen adalah implementasi tugas ML yang dapat Anda gunakan sebagai langkah dalam pipeline TFX Anda. Komponen terdiri dari:
- Spesifikasi komponen, yang menentukan artefak input dan output komponen, dan parameter yang diperlukan komponen.
- Eksekutor, yang mengimplementasikan kode untuk menjalankan langkah dalam alur kerja ML Anda, seperti menyerap dan mengubah data atau melatih dan mengevaluasi model.
- Antarmuka komponen, yang mengemas spesifikasi komponen dan pelaksana untuk digunakan dalam saluran pipa.
TFX menyediakan beberapa komponen standar yang dapat Anda gunakan di saluran pipa Anda. Jika komponen ini tidak memenuhi kebutuhan Anda, Anda dapat membuat komponen kustom. Pelajari lebih lanjut tentang komponen khusus .
Pipa
Pipeline TFX adalah implementasi portabel alur kerja ML yang dapat dijalankan di berbagai orkestra, seperti: Apache Airflow, Apache Beam, dan Kubeflow Pipelines. Sebuah pipa terdiri dari instance komponen dan parameter input.
Instance komponen menghasilkan artefak sebagai output dan biasanya bergantung pada artefak yang dihasilkan oleh instance komponen upstream sebagai input. Urutan eksekusi untuk instance komponen ditentukan dengan membuat grafik asiklik terarah dari dependensi artefak.
Misalnya, pertimbangkan saluran pipa yang melakukan hal berikut:
- Menyerap data langsung dari sistem berpemilik menggunakan komponen khusus.
- Menghitung statistik untuk data pelatihan menggunakan komponen standar StatisticsGen.
- Membuat skema data menggunakan komponen standar SchemaGen.
- Memeriksa data pelatihan untuk anomali menggunakan komponen standar ExampleValidator.
- Melakukan rekayasa fitur pada kumpulan data menggunakan komponen standar Transform.
- Melatih model menggunakan komponen standar Pelatih.
- Mengevaluasi model yang dilatih menggunakan komponen Evaluator.
- Jika model lolos evaluasi, pipeline mengantrekan model yang dilatih ke sistem penerapan berpemilik menggunakan komponen kustom.
Untuk menentukan urutan eksekusi untuk instance komponen, TFX menganalisis dependensi artefak.
- Komponen penyerapan data tidak memiliki dependensi artefak apa pun, sehingga dapat menjadi simpul pertama dalam grafik.
- StatisticsGen bergantung pada contoh yang dihasilkan oleh penyerapan data, sehingga harus dijalankan setelah penyerapan data.
- SchemaGen bergantung pada statistik yang dibuat oleh StatisticsGen, sehingga harus dijalankan setelah StatisticsGen.
- ExampleValidator bergantung pada statistik yang dibuat oleh StatisticsGen dan skema yang dibuat oleh SchemaGen, sehingga harus dijalankan setelah StatisticsGen dan SchemaGen.
- Transform bergantung pada contoh yang dihasilkan oleh penyerapan data dan skema yang dibuat oleh SchemaGen, sehingga harus dijalankan setelah penyerapan data dan SchemaGen.
- Pelatih bergantung pada contoh yang dihasilkan oleh penyerapan data, skema yang dibuat oleh SchemaGen, dan model tersimpan yang dihasilkan oleh Transform. Pelatih hanya dapat dijalankan setelah penyerapan data, SkemaGen, dan Transformasi.
- Evaluator bergantung pada contoh yang dihasilkan oleh penyerapan data dan model tersimpan yang dihasilkan oleh Pelatih, sehingga harus dijalankan setelah penyerapan data dan Pelatih.
- Penyebar khusus bergantung pada model tersimpan yang dihasilkan oleh Pelatih dan hasil analisis yang dibuat oleh Penilai, sehingga penyebar harus dijalankan setelah Pelatih dan Penilai.
Berdasarkan analisis ini, seorang orkestra menjalankan:
- Penyerapan data, StatisticsGen, komponen SchemaGen dibuat secara berurutan.
- Komponen ExampleValidator dan Transform dapat berjalan secara paralel karena keduanya berbagi dependensi artefak input dan tidak bergantung pada output masing-masing.
- Setelah komponen Transform selesai, instance komponen Trainer, Evaluator, dan custom deployer berjalan secara berurutan.
Pelajari lebih lanjut tentang membangun jalur pipa TFX .
Templat Pipa TFX
TFX Pipeline Template memudahkan untuk memulai pengembangan pipeline dengan menyediakan pipeline prebuilt yang dapat Anda sesuaikan untuk kasus penggunaan Anda.
Pelajari lebih lanjut tentang menyesuaikan template jalur pipa TFX .
Jalankan Pipa
Run adalah eksekusi tunggal dari sebuah pipeline.
Pemimpin orkestra
Orchestrator adalah sistem tempat Anda dapat mengeksekusi jalur pipa. TFX mendukung orkestra seperti: Apache Airflow , Apache Beam , dan Kubeflow Pipelines . TFX juga menggunakan istilah DagRunner untuk merujuk pada implementasi yang mendukung orkestra.