Tutorial Aliran Udara TFX

Ringkasan

Ringkasan

Tutorial ini dirancang untuk membantu Anda belajar membuat pipeline machine learning Anda sendiri menggunakan TensorFlow Extended (TFX) dan Apache Airflow sebagai orkestra. 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 akan sering menyebut saluran pipa sebagai DAG.
  • Pipeline TFX sesuai saat Anda akan menerapkan aplikasi ML produksi
  • Pipeline TFX sesuai jika kumpulan data berukuran besar, atau mungkin tumbuh menjadi besar
  • Pipeline TFX cocok jika konsistensi pelatihan/penayangan penting
  • Pipeline TFX sesuai jika manajemen versi untuk inferensi penting
  • Google menggunakan pipeline TFX untuk ML produksi

Silakan lihat Panduan Pengguna TFX untuk mempelajari lebih lanjut.

Anda akan mengikuti proses pengembangan ML yang khas:

  • Menelan, memahami, dan membersihkan data kami
  • Rekayasa fitur
  • Pelatihan
  • Menganalisis kinerja model
  • Busa, bilas, ulangi
  • Siap untuk produksi

Apache Airflow untuk Orkestrasi Pipa

Orkestrator TFX bertanggung jawab untuk menjadwalkan komponen pipa TFX berdasarkan dependensi yang ditentukan oleh pipa. TFX dirancang agar portabel untuk berbagai lingkungan dan kerangka kerja orkestrasi. Salah satu orkestra 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 progres, dan memecahkan masalah bila diperlukan. Alur kerja Apache Airflow didefinisikan sebagai kode. Ini membuatnya lebih mudah dipelihara, dapat dibuat versinya, dapat diuji, dan kolaboratif. Apache Airflow cocok untuk pipa pemrosesan batch. Ini ringan dan mudah dipelajari.

Dalam contoh ini, kita akan menjalankan pipeline TFX pada instans dengan mengatur Airflow secara manual.

Orkestrator 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 open source yang didedikasikan untuk membuat penerapan alur kerja machine learning (ML) di Kubernetes menjadi sederhana, portabel, dan dapat diskalakan. Kubeflow dapat digunakan sebagai orkestra untuk pipeline TFFX saat perlu diterapkan di kluster Kubernetes. Selain itu, Anda juga dapat menggunakan orkestra khusus Anda sendiri untuk menjalankan jalur pipa TFX.

Baca lebih lanjut tentang Aliran Udara di sini .

Kumpulan Data Taksi Chicago

taxi.jpg

chicago.png

Anda akan menggunakan kumpulan data Perjalanan Taksi yang dirilis oleh Kota Chicago.

Tujuan Model - Klasifikasi biner

Akankah pelanggan memberi tip lebih atau kurang dari 20%?

Siapkan Proyek Google Cloud

Sebelum Anda mengklik tombol Mulai Lab Baca petunjuk ini. Lab diatur waktunya dan Anda tidak dapat menjedanya. Timer, 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. Itu dilakukan dengan memberi Anda kredensial sementara baru yang Anda gunakan untuk masuk dan mengakses Google Cloud selama durasi lab.

Apa yang Anda butuhkan Untuk menyelesaikan lab ini, Anda memerlukan:

  • Akses ke browser internet standar (disarankan browser Chrome).
  • Saatnya menyelesaikan lab.

Cara memulai lab dan masuk ke Google Cloud Console 1. Klik tombol Mulai Lab . Jika Anda perlu membayar lab, pop-up akan terbuka untuk Anda memilih 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 menjalankan sumber daya, lalu membuka tab lain yang menampilkan halaman Masuk .

qwiksetup2.png

Tips: Buka tab di jendela terpisah, berdampingan.

qwiksetup3.png

  1. Di halaman Masuk , rekatkan nama pengguna yang Anda salin dari panel kiri. Kemudian salin dan tempel kata sandi.
  1. Klik melalui halaman-halaman berikutnya:
  2. Terima syarat dan ketentuan.
  • Jangan tambahkan opsi pemulihan atau autentikasi dua faktor (karena ini adalah akun sementara).

  • Jangan mendaftar untuk uji coba gratis.

Setelah beberapa saat, Cloud Console akan terbuka di tab ini.

qwiksetup4.png

Aktifkan Cloud Shell

Cloud Shell adalah mesin virtual yang dimuat dengan alat pengembangan. Ini menawarkan direktori home 5GB yang persisten dan berjalan di Google Cloud. Cloud Shell memberikan akses command line 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 diatur ke _PROJECT ID Anda. Sebagai contoh:

qwiksetup7.png

gcloud adalah alat baris perintah untuk Google Cloud. 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 account ACCOUNT

Anda dapat mencantumkan 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

Menerapkan instance Vertex Notebook

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

vertex-ai-meja kerja.png

  1. Pada halaman instans Notebook, klik New Notebook .

  2. Di menu Sesuaikan instans, pilih TensorFlow Enterprise dan pilih versi TensorFlow Enterprise 2.x (dengan LTS) > Tanpa GPU .

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 Region , pilih us-east1 dan untuk Zone , pilih zona dalam region yang dipilih.

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

  5. Biarkan kolom yang tersisa dengan defaultnya dan klik Create .

Setelah beberapa menit, konsol Vertex AI akan menampilkan nama instans Anda, diikuti oleh 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 for Build Recommended.

  1. Untuk mengkloning repositori tfx Github, ketikkan 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.

repo-directory.png

Instal dependensi lab

  1. Jalankan perintah berikut untuk membuka 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 rumah.
  • Salin folder dags dari folder 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 .

airflow-home.png

Mengkonfigurasi server Airflow

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

firewall-rule.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 IPv4 Sumber , pilih 0.0.0.0/0
  5. Untuk Protocols and ports , 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 Lab Jupyter, 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/Pipeline

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 mengeksekusinya. Kemudian memuat objek DAG apa pun dari file itu. Semua file .py yang menentukan 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-rumah-penuh.png

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

aliran udara-dag-graph.png

Memicu pipa taksi

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

dag-buttons.png

Di bawah tajuk tindakan , klik tombol pemicu untuk memicu saluran pipa.

Di halaman taxi DAG , gunakan tombol di sebelah kanan untuk me-refresh status tampilan grafik DAG saat pipeline berjalan. Selain itu, Anda dapat mengaktifkan Auto Refresh untuk menginstruksikan Airflow untuk menyegarkan tampilan grafik secara otomatis saat dan saat status berubah.

dag-button-refresh.png

Anda juga dapat menggunakan CLI Airflow 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 DAG, Anda dapat melihat progres alur Anda saat sedang berjalan. Saat setiap komponen berjalan, warna kerangka komponen dalam grafik DAG akan berubah untuk menunjukkan statusnya. Saat komponen telah selesai diproses, kerangka akan berubah menjadi hijau tua untuk menunjukkan bahwa proses sudah selesai.

dag-step7.png

Memahami komponen

Sekarang kita akan melihat komponen-komponen dari pipa ini secara rinci, dan secara individual melihat keluaran yang dihasilkan oleh setiap langkah dalam pipa.

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

  2. Buka notebook.ipynb. notebook-ipynb.png

  3. Lanjutkan lab di notebook, dan jalankan setiap sel dengan mengeklik Run ( jalankan-button.png ) ikon di bagian atas layar. Sebagai alternatif, Anda dapat menjalankan kode dalam sel dengan SHIFT + ENTER .

Baca narasinya dan pastikan Anda memahami apa yang terjadi di setiap sel.