Tutorial Aliran Udara TFX

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

taksi.jpg

chicago.png

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 mengeklik 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.

qwiksetup1.png

  1. Salin nama pengguna, lalu klik Buka Google Console . Lab memutar sumber daya, lalu membuka tab lain yang memperlihatkan halaman Masuk .

qwiksetup2.png

Tip: Buka tab di jendela terpisah, berdampingan.

qwiksetup3.png

  1. Di halaman Masuk , tempelkan nama pengguna yang Anda salin dari panel kiri. Kemudian salin dan tempel kata sandinya.
  1. Klik halaman berikutnya:
  2. 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.

qwiksetup4.png

Aktifkan Cloud Shell

Cloud Shell adalah mesin virtual yang dilengkapi dengan alat pengembangan. Ia menawarkan direktori home persisten 5GB 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 .

qwiksetup5.png

Klik Lanjutkan .

qwiksetup6.png

Diperlukan beberapa saat untuk menyediakan dan terhubung ke lingkungan. Saat Anda terhubung, Anda sudah diautentikasi, dan proyek disetel ke _PROJECT ID Anda. Misalnya:

qwiksetup7.png

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

  1. Di Cloud Shell, gunakan gcloud untuk mengaktifkan layanan yang digunakan di lab. gcloud services enable notebooks.googleapis.com

Terapkan instance Vertex Notebook

  1. Klik pada Menu Navigasi dan arahkan ke Vertex AI , lalu ke Workbench .

vertex-ai-meja kerja.png

  1. Pada halaman Instans Notebook, klik Notebook Baru .

  2. Di menu Kustomisasi instance, pilih TensorFlow Enterprise dan pilih versi TensorFlow Enterprise 2.x (with LTS) > Without GPUs .

simpul-notebook-buat-2.png

  1. Dalam dialog Instans buku catatan baru , klik ikon pensil untuk Mengedit properti instans.

  2. Untuk Nama instans , masukkan nama instans Anda.

  3. Untuk Wilayah , pilih us-east1 dan untuk Zona , pilih zona dalam wilayah yang dipilih.

  4. Gulir ke bawah ke Konfigurasi mesin dan pilih e2-standard-2 untuk Jenis mesin.

  5. Biarkan kolom lainnya tetap default dan klik Buat .

Setelah beberapa menit, konsol Vertex AI akan menampilkan nama instans Anda, diikuti dengan Open Jupyterlab .

  1. 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.

Catatan: Jika diminta, klik Cancel untuk Direkomendasikan Pembuatan.

  1. Untuk mengkloning repositori tfx Github, ketik perintah berikut, dan tekan Enter .
git clone https://github.com/tensorflow/tfx.git
  1. Untuk mengonfirmasi bahwa Anda telah mengkloning repositori, klik dua kali direktori tfx dan konfirmasikan bahwa Anda dapat melihat isinya.

direktori-repo.png

Instal dependensi lab

  1. 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 dari tfx/tfx/examples/airflow_workshop/taxi/setup/ ke folder ~/airflow/ .
  • Salin file csv dari tfx/tfx/examples/airflow_workshop/taxi/setup/data ke ~/airflow/data .

aliran udara-rumah.png

Mengonfigurasi server Aliran Udara

Buat aturan firewall untuk mengakses server aliran udara di browser

  1. 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
  2. Klik opsi CREATE FIREWALL RULE di atas

aturan firewall.png

Dalam dialog Buat firewall , ikuti langkah-langkah yang tercantum di bawah ini.

  1. Untuk Name , masukkan airflow-tfx .
  2. Untuk Prioritas , pilih 1 .
  3. Untuk Target , pilih All instances in the network .
  4. Untuk Rentang Sumber IPv4 , pilih 0.0.0.0/0
  5. Untuk Protokol dan port , klik tcp dan masukkan 7000 di kotak di sebelah tcp
  6. Klik Create .

buat-firewall-dialog.png

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

  1. Di Cloud Shell, gunakan gcloud untuk mendapatkan IP Eksternal.
gcloud compute instances list

gcloud-instance-ip.png

Menjalankan DAG/Pipa

Di peramban

Buka browser dan buka http:// :7000

  • Di halaman login, masukkan nama pengguna ( admin ) dan kata sandi ( admin ) yang Anda pilih saat menjalankan perintah airflow users create .

aliran udara-login.png

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 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:

dag-home-full.png

Jika Anda mengklik taksi, Anda akan diarahkan ke tampilan grid DAG. Anda dapat mengklik opsi Graph di atas untuk mendapatkan tampilan grafik DAG.

aliran udara-dag-graph.png

Memicu jalur taksi

Di halaman beranda Anda dapat melihat tombol-tombol yang dapat digunakan untuk berinteraksi dengan DAG.

tombol-dag.png

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.

dag-tombol-refresh.png

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 diproses.

dag-step7.png

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.

  1. Di JupyterLab, buka ~/tfx/tfx/examples/airflow_workshop/taxi/notebooks/

  2. Buka notebook.ipynb. buku catatan-ipynb.png

  3. Lanjutkan lab di buku catatan, dan jalankan setiap sel dengan mengklik tombol Jalankan ( tombol jalankan.png ) 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.