MLOps adalah praktik penerapan praktik DevOps untuk membantu mengotomatisasi, mengelola, dan mengaudit alur kerja pembelajaran mesin (ML). Alur kerja ML mencakup langkah-langkah untuk:
- Mempersiapkan, menganalisis, dan mengubah data.
- Latih dan evaluasi model.
- Terapkan model terlatih ke produksi.
- Lacak artefak ML dan pahami ketergantungannya.
Mengelola langkah-langkah ini secara ad-hoc bisa jadi sulit dan memakan waktu.
TFX mempermudah penerapan MLOps dengan menyediakan toolkit yang membantu Anda mengatur proses ML Anda di berbagai orkestrator, seperti: Apache Airflow, Apache Beam, dan Kubeflow Pipelines. Dengan menerapkan alur kerja sebagai saluran TFX, Anda dapat:
- Otomatiskan proses ML Anda, yang memungkinkan Anda melatih ulang, mengevaluasi, dan menerapkan model Anda secara rutin.
- Memanfaatkan 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
Output dari langkah-langkah dalam pipa TFX disebut artefak . Langkah selanjutnya dalam alur kerja Anda mungkin menggunakan artefak ini sebagai input. Dengan cara ini, TFX memungkinkan Anda mentransfer data antar langkah alur kerja.
Misalnya, komponen standar ExampleGen
mengeluarkan contoh serial, yang mana komponen 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 .
Tipe artefak memiliki nama dan menentukan skema propertinya. Nama jenis artefak harus unik di penyimpanan Metadata ML Anda. TFX menyediakan beberapa tipe artefak standar yang mendeskripsikan tipe data dan tipe nilai kompleks, seperti: string, integer, dan float. Anda dapat menggunakan kembali tipe artefak ini atau menentukan tipe artefak khusus yang berasal dari Artifact
.
Parameter
Parameter adalah input ke alur yang diketahui sebelum alur Anda dijalankan. Parameter memungkinkan Anda mengubah perilaku alur, atau bagian dari alur, melalui konfigurasi, bukan kode.
Misalnya, Anda dapat menggunakan parameter untuk menjalankan alur dengan kumpulan hyperparameter berbeda tanpa mengubah kode alur.
Menggunakan parameter memungkinkan Anda meningkatkan kecepatan eksperimen dengan mempermudah menjalankan pipeline dengan kumpulan parameter yang berbeda.
Pelajari lebih lanjut tentang kelas RuntimeParameter .
Komponen
Komponen adalah implementasi tugas ML yang dapat Anda gunakan sebagai langkah dalam alur TFX Anda. Komponen terdiri dari:
- Spesifikasi komponen, yang menentukan artefak masukan dan keluaran komponen, serta parameter yang diperlukan komponen.
- Pelaksana, yang mengimplementasikan kode untuk melakukan suatu langkah dalam alur kerja ML Anda, seperti menyerap dan mengubah data atau melatih dan mengevaluasi model.
- Antarmuka komponen, yang mengemas spesifikasi komponen dan eksekutor untuk digunakan dalam pipeline.
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 .
Saluran pipa
Pipeline TFX adalah implementasi portabel dari alur kerja ML yang dapat dijalankan di berbagai orkestrator, seperti: Apache Airflow, Apache Beam, dan Kubeflow Pipelines. Pipeline terdiri dari instance komponen dan parameter input.
Instans komponen menghasilkan artefak sebagai keluaran dan biasanya bergantung pada artefak yang dihasilkan oleh instans komponen hulu sebagai masukan. Urutan eksekusi untuk instance komponen ditentukan dengan membuat grafik asiklik terarah dari dependensi artefak.
Misalnya, pertimbangkan alur yang melakukan hal berikut:
- Menyerap data langsung dari sistem kepemilikan menggunakan komponen khusus.
- Menghitung statistik untuk data pelatihan menggunakan komponen standar StatisticsGen.
- Membuat skema data menggunakan komponen standar SchemaGen.
- Memeriksa anomali pada data pelatihan menggunakan komponen standar ContohValidator.
- Melakukan rekayasa fitur pada kumpulan data menggunakan komponen standar Transform.
- Melatih model menggunakan komponen standar Trainer.
- Mengevaluasi model yang dilatih menggunakan komponen Evaluator.
- Jika model lolos evaluasi, alur akan memasukkan model yang dilatih ke sistem penerapan berpemilik menggunakan komponen khusus.
Untuk menentukan urutan eksekusi instans komponen, TFX menganalisis dependensi artefak.
- Komponen penyerapan data tidak memiliki ketergantungan artefak apa pun, sehingga dapat menjadi node 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.
- ContohValidator bergantung pada statistik yang dibuat oleh StatisticsGen dan skema yang dibuat oleh SchemaGen, sehingga harus dijalankan setelah StatisticsGen dan SchemaGen.
- Transformasi 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, SchemaGen, 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.
- Custom deployer bergantung pada model tersimpan yang dihasilkan oleh Trainer dan hasil analisis yang dibuat oleh Evaluator, sehingga deployer harus dijalankan setelah Trainer dan Evaluator.
Berdasarkan analisis ini, seorang orkestra menjalankan:
- Penyerapan data, StatisticsGen, instance komponen SchemaGen secara berurutan.
- Komponen ContohValidator dan Transformasi dapat berjalan secara paralel karena keduanya berbagi ketergantungan artefak masukan dan tidak bergantung pada keluaran satu sama lain.
- Setelah komponen Transform selesai, instans komponen Trainer, Evaluator, dan custom deployer dijalankan secara berurutan.
Pelajari lebih lanjut tentang membangun saluran TFX .
Templat Saluran Pipa TFX
Templat Alur TFX mempermudah memulai pengembangan alur dengan menyediakan alur siap pakai yang dapat Anda sesuaikan untuk kasus penggunaan Anda.
Pelajari lebih lanjut tentang menyesuaikan templat saluran TFX .
Jalannya Saluran Pipa
Proses adalah eksekusi tunggal dari sebuah pipeline.
Pemimpin orkestra
Orchestrator adalah sistem tempat Anda dapat menjalankan proses pipeline. TFX mendukung orkestrator seperti: Apache Airflow , Apache Beam , dan Kubeflow Pipelines . TFX juga menggunakan istilah DagRunner untuk merujuk pada implementasi yang mendukung orkestrator.