Ringkasan
Ringkasan
Tutorial ini dirancang untuk membantu Anda mempelajari cara membuat pipeline machine learning Anda sendiri menggunakan TensorFlow Extended (TFX) dan Apache Airflow sebagai orkestratornya. Ini berjalan di Vertex AI Workbench, dan menunjukkan integrasi dengan TFX dan TensorBoard serta interaksi dengan TFX di lingkungan Jupyter Lab.
Apa yang akan kamu lakukan?
Anda akan mempelajari cara membuat pipeline ML menggunakan TFX
- Pipeline TFX adalah Directed Acyclic Graph, atau "DAG". Kami sering menyebut saluran pipa sebagai DAG.
- Pipeline TFX cocok digunakan saat Anda akan men-deploy aplikasi ML produksi
- Pipeline TFX cocok digunakan ketika kumpulan data berukuran besar, atau mungkin bertambah besar
- Pipeline TFX cocok digunakan ketika konsistensi pelatihan/penyajian penting
- Pipeline TFX cocok digunakan ketika manajemen versi untuk inferensi penting
- Google menggunakan pipeline TFX untuk produksi ML
Silakan lihat Panduan Pengguna TFX untuk mempelajari lebih lanjut.
Anda akan mengikuti proses pengembangan ML pada umumnya:
- Menyerap, memahami, dan membersihkan data kami
- Rekayasa fitur
- Pelatihan
- Menganalisis kinerja model
- Busa, bilas, ulangi
- Siap untuk produksi
Apache Airflow untuk Orkestrasi Pipeline
Orkestra TFX bertanggung jawab untuk menjadwalkan komponen pipeline TFX berdasarkan dependensi yang ditentukan oleh pipeline. TFX dirancang agar portabel untuk berbagai lingkungan dan kerangka orkestrasi. Salah satu orkestrator default yang didukung oleh TFX adalah Apache Airflow . Lab ini mengilustrasikan penggunaan Apache Airflow untuk orkestrasi pipeline TFX. Apache Airflow adalah platform untuk menulis, menjadwalkan, dan memantau alur kerja secara terprogram. TFX menggunakan Airflow untuk membuat alur kerja sebagai grafik asiklik terarah (DAG) tugas. Antarmuka pengguna yang kaya memudahkan untuk memvisualisasikan pipeline yang berjalan dalam produksi, memantau kemajuan, dan memecahkan masalah bila diperlukan. Alur kerja Apache Airflow didefinisikan sebagai kode. Hal ini membuat mereka lebih mudah dipelihara, dapat diversi, dapat diuji, dan kolaboratif. Apache Airflow cocok untuk pipeline pemrosesan batch. Ini ringan dan mudah dipelajari.
Dalam contoh ini, kita akan menjalankan pipeline TFX pada sebuah instance dengan mengatur Airflow secara manual.
Orkestra default lainnya yang didukung oleh TFX adalah Apache Beam dan Kubeflow. Apache Beam dapat berjalan di beberapa backend pemrosesan data (Beam Ruunners). Cloud Dataflow adalah salah satu beam runner yang dapat digunakan untuk menjalankan pipeline TFX. Apache Beam dapat digunakan untuk pipeline streaming dan pemrosesan batch.
Kubeflow adalah platform ML sumber terbuka yang didedikasikan untuk membuat penerapan alur kerja pembelajaran mesin (ML) di Kubernetes menjadi sederhana, portabel, dan skalabel. Kubeflow dapat digunakan sebagai orkestrator untuk pipeline TFFX ketika perlu diterapkan pada cluster Kubernetes. Selain itu, Anda juga dapat menggunakan orkestrator kustom Anda sendiri untuk menjalankan pipeline TFX.
Baca lebih lanjut tentang Aliran Udara di sini .
Kumpulan Data Taksi Chicago
Anda akan menggunakan kumpulan data Taxi Trips yang dirilis oleh Kota Chicago.
Model Goal - Klasifikasi biner
Akankah pelanggan memberi tip lebih atau kurang dari 20%?
Siapkan Proyek Google Cloud
Sebelum Anda mengklik tombol Mulai Lab Bacalah petunjuk ini. Lab mempunyai batas waktu dan Anda tidak dapat menjedanya. Pengatur waktu, yang dimulai saat Anda mengklik Mulai Lab , menunjukkan berapa lama sumber daya Google Cloud akan tersedia untuk Anda.
Lab praktis ini memungkinkan Anda melakukan aktivitas lab sendiri di lingkungan cloud nyata, bukan di lingkungan simulasi atau demo. Hal ini dilakukan dengan memberi Anda kredensial baru dan sementara yang Anda gunakan untuk login dan mengakses Google Cloud selama durasi lab.
Apa yang Anda perlukan Untuk menyelesaikan lab ini, Anda memerlukan:
- Akses ke browser internet standar (disarankan browser Chrome).
- Saatnya menyelesaikan laboratorium.
Cara memulai lab Anda dan masuk ke Google Cloud Console 1. Klik tombol Mulai Lab . Jika Anda perlu membayar untuk lab, sebuah pop-up akan terbuka untuk Anda pilih metode pembayaran. Di sebelah kiri adalah panel berisi kredensial sementara yang harus Anda gunakan untuk lab ini.
- Salin nama pengguna, lalu klik Buka Google Console . Lab memutar sumber daya, lalu membuka tab lain yang memperlihatkan halaman Masuk .
Tip: Buka tab di jendela terpisah, berdampingan.
- Di halaman Masuk , tempelkan nama pengguna yang Anda salin dari panel kiri. Kemudian salin dan tempel kata sandinya.
- Klik halaman berikutnya:
- Terima syarat dan ketentuan.
Jangan tambahkan opsi pemulihan atau otentikasi dua faktor (karena ini adalah akun sementara).
Jangan mendaftar untuk uji coba gratis.
Setelah beberapa saat, Cloud Console terbuka di tab ini.
Aktifkan Cloud Shell
Cloud Shell adalah mesin virtual yang dilengkapi dengan alat pengembangan. Ia menawarkan direktori home persisten 5 GB dan berjalan di Google Cloud. Cloud Shell memberikan akses baris perintah ke resource Google Cloud Anda.
Di Cloud Console, di toolbar kanan atas, klik tombol Aktifkan Cloud Shell .
Klik Lanjutkan .
Diperlukan beberapa saat untuk menyediakan dan terhubung ke lingkungan. Saat Anda terhubung, Anda sudah diautentikasi, dan proyek disetel ke _PROJECT ID Anda. Misalnya:
gcloud
adalah alat baris perintah untuk Google Cloud. Ini sudah diinstal sebelumnya di Cloud Shell dan mendukung penyelesaian tab.
Anda dapat mencantumkan nama akun aktif dengan perintah ini:
gcloud auth list
(Keluaran)
AKTIF: * AKUN: student-01-xxxxxxxxxxxx@qwiklabs.net Untuk mengatur akun aktif, jalankan: $ gcloud config set akun
ACCOUNT
Anda dapat membuat daftar ID proyek dengan perintah ini: gcloud config list project
(Output)
proyek [inti] =
(Contoh keluaran)
proyek [inti] = qwiklabs-gcp-44776a13dea667a6
Untuk dokumentasi lengkap tentang gcloud, lihat ikhtisar alat baris perintah gcloud .
Aktifkan layanan Google Cloud
- Di Cloud Shell, gunakan gcloud untuk mengaktifkan layanan yang digunakan di lab.
gcloud services enable notebooks.googleapis.com
Terapkan instance Vertex Notebook
- Klik pada Menu Navigasi dan arahkan ke Vertex AI , lalu ke Workbench .
Pada halaman Instans Notebook, klik Notebook Baru .
Di menu Kustomisasi instance, pilih TensorFlow Enterprise dan pilih versi TensorFlow Enterprise 2.x (with LTS) > Without GPUs .
Dalam dialog Instans buku catatan baru , klik ikon pensil untuk Mengedit properti instans.
Untuk Nama instans , masukkan nama instans Anda.
Untuk Wilayah , pilih
us-east1
dan untuk Zona , pilih zona dalam wilayah yang dipilih.Gulir ke bawah ke Konfigurasi mesin dan pilih e2-standard-2 untuk Jenis mesin.
Biarkan kolom lainnya tetap default dan klik Buat .
Setelah beberapa menit, konsol Vertex AI akan menampilkan nama instans Anda, diikuti dengan Open Jupyterlab .
- Klik Buka JupyterLab . Jendela JupyterLab akan terbuka di tab baru.
Siapkan lingkungan
Kloning repositori lab
Selanjutnya Anda akan mengkloning repositori tfx
di instance JupyterLab Anda. 1. Di JupyterLab, klik ikon Terminal untuk membuka terminal baru.
Cancel
untuk Direkomendasikan Pembuatan.
- Untuk mengkloning repositori
tfx
Github, ketik perintah berikut, dan tekan Enter .
git clone https://github.com/tensorflow/tfx.git
- Untuk mengonfirmasi bahwa Anda telah mengkloning repositori, klik dua kali direktori
tfx
dan konfirmasikan bahwa Anda dapat melihat isinya.
Instal dependensi lab
- Jalankan perintah berikut untuk masuk ke folder
tfx/tfx/examples/airflow_workshop/taxi/setup/
, lalu jalankan./setup_demo.sh
untuk menginstal dependensi lab:
cd ~/tfx/tfx/examples/airflow_workshop/taxi/setup/
./setup_demo.sh
Kode di atas akan
- Instal paket yang diperlukan.
- Buat folder
airflow
di folder beranda. - Salin folder
dags
daritfx/tfx/examples/airflow_workshop/taxi/setup/
ke folder~/airflow/
. - Salin file csv dari
tfx/tfx/examples/airflow_workshop/taxi/setup/data
ke~/airflow/data
.
Mengonfigurasi server Aliran Udara
Buat aturan firewall untuk mengakses server aliran udara di browser
- Buka
<a href="https://console.cloud.google.com/networking/firewalls/list">https://console.cloud.google.com/networking/firewalls/list</a>
dan pastikan nama proyek dipilih dengan tepat - Klik opsi
CREATE FIREWALL RULE
di atas
Dalam dialog Buat firewall , ikuti langkah-langkah yang tercantum di bawah ini.
- Untuk Name , masukkan
airflow-tfx
. - Untuk Prioritas , pilih
1
. - Untuk Target , pilih
All instances in the network
. - Untuk Rentang Sumber IPv4 , pilih
0.0.0.0/0
- Untuk Protokol dan port , klik
tcp
dan masukkan7000
di kotak di sebelahtcp
- Klik
Create
.
Jalankan server aliran udara dari shell Anda
Di jendela Terminal Jupyter Lab, ubah ke direktori home, jalankan perintah airflow users create
untuk membuat pengguna admin untuk Airflow:
cd
airflow users create --role Admin --username admin --email admin --firstname admin --lastname admin --password admin
Kemudian jalankan perintah airflow webserver
dan airflow scheduler
untuk menjalankan server. Pilih port 7000
karena diizinkan melalui firewall.
nohup airflow webserver -p 7000 &> webserver.out &
nohup airflow scheduler &> scheduler.out &
Dapatkan ip eksternal Anda
- Di Cloud Shell, gunakan
gcloud
untuk mendapatkan IP Eksternal.
gcloud compute instances list
Menjalankan DAG/Pipa
Di peramban
Buka browser dan buka http://
- Di halaman login, masukkan nama pengguna (
admin
) dan kata sandi (admin
) yang Anda pilih saat menjalankan perintahairflow users create
.
Aliran udara memuat DAG dari file sumber Python. Dibutuhkan setiap file dan menjalankannya. Kemudian memuat objek DAG apa pun dari file itu. Semua file .py
yang mendefinisikan objek DAG akan dicantumkan sebagai saluran pipa di beranda aliran udara.
Dalam tutorial ini, Airflow memindai folder ~/airflow/dags/
untuk mencari objek DAG.
Jika Anda membuka ~/airflow/dags/taxi_pipeline.py
dan menggulir ke bawah, Anda dapat melihat bahwa itu membuat dan menyimpan objek DAG dalam variabel bernama DAG
. Oleh karena itu akan terdaftar sebagai saluran pipa di beranda aliran udara seperti yang ditunjukkan di bawah ini:
Jika Anda mengklik taksi, Anda akan diarahkan ke tampilan grid DAG. Anda dapat mengklik opsi Graph
di atas untuk mendapatkan tampilan grafik DAG.
Memicu jalur taksi
Di halaman beranda Anda dapat melihat tombol-tombol yang dapat digunakan untuk berinteraksi dengan DAG.
Di bawah header tindakan , klik tombol pemicu untuk memicu alur.
Di halaman DAG taksi, gunakan tombol di sebelah kanan untuk menyegarkan status tampilan grafik DAG saat alur berjalan. Selain itu, Anda dapat mengaktifkan Refresh Otomatis untuk menginstruksikan Airflow agar secara otomatis menyegarkan tampilan grafik saat dan ketika keadaan berubah.
Anda juga dapat menggunakan Airflow CLI di terminal untuk mengaktifkan dan memicu DAG Anda:
# enable/disable
airflow pause <your DAG name>
airflow unpause <your DAG name>
# trigger
airflow trigger_dag <your DAG name>
Menunggu pipa selesai
Setelah Anda memicu alur Anda, dalam tampilan DAGs, Anda dapat melihat kemajuan alur Anda saat sedang berjalan. Saat setiap komponen berjalan, warna kerangka komponen dalam grafik DAG akan berubah untuk menunjukkan statusnya. Ketika komponen telah selesai diproses, garis besarnya akan berubah menjadi hijau tua untuk menunjukkan bahwa komponen telah selesai.
Memahami komponen-komponennya
Sekarang kita akan melihat komponen-komponen pipeline ini secara rinci, dan melihat secara individual output yang dihasilkan oleh setiap langkah dalam pipeline.
Di JupyterLab, buka
~/tfx/tfx/examples/airflow_workshop/taxi/notebooks/
Buka notebook.ipynb.
Lanjutkan lab di buku catatan, dan jalankan setiap sel dengan mengklik tombol Jalankan ( ) ikon di bagian atas layar. Alternatifnya, Anda dapat mengeksekusi kode dalam sel dengan SHIFT + ENTER .
Baca narasinya dan pastikan Anda memahami apa yang terjadi di setiap sel.