Men-deploy Demo Learning Interpretability Tool (LIT) di Google Cloud Platform

1. Ringkasan

Lab ini memberikan petunjuk untuk men-deploy demo LIT dengan cepat. Tujuannya adalah untuk mengenalkan Anda dengan alat LIT guna mengeksplorasi perilaku model. Anda akan melakukan analisis sentimental dan menggunakan fitur Counterfactual LIT untuk menemukan pentingnya kata-kata tertentu. Demo ini menyertakan {i>dataset<i} untuk melakukan analisis. Lab ini menyediakan langkah-langkah untuk men-deploy LIT di Google Cloud Platform, menganalisis data, dan menghapus layanan yang di-deploy.

Apa itu Learning Interpretability Tool (LIT)?

🔥LIT adalah alat pemahaman model ML visual dan interaktif yang mendukung teks, gambar, dan data tabel. Dapat dijalankan sebagai server mandiri, atau di dalam lingkungan notebook seperti Colab, Jupyter, dan notebook Vertex AI Google Cloud.

LIT dibuat untuk menjawab pertanyaan seperti:

  • Pada jenis contoh apa saja model saya berperforma buruk?
  • Mengapa model saya membuat prediksi ini? Dapatkah prediksi ini dikaitkan dengan perilaku penyerangan, atau sebelumnya yang tidak diinginkan dalam set pelatihan?
  • Apakah perilaku model tetap konsisten jika saya mengubah elemen seperti gaya teks, bentuk kata kerja, atau kata ganti gender?

Alat ini tersedia di LIT GitHub Repo. Laporannya juga tersedia di ArXiv.

Yang akan Anda lakukan

Anda akan menggunakan Google Cloud Shell untuk mengambil, memberi tag, mengirim, dan men-deploy image container.

Anda akan menggunakan Google Artifact Registry yang memungkinkan Anda menyimpan artefak dan dependensi build secara terpusat sebagai bagian dari pengalaman Google Cloud terintegrasi. Anda akan mengupload image Docker ke Artifact Registry. Anda dapat mempelajarinya lebih lanjut di dokumentasi Google Cloud Artifact Registry.

Anda akan menggunakan Google Cloud Run, layanan Knative terkelola, untuk men-deploy image Docker. Platform komputasi terkelola yang memungkinkan Anda menjalankan container secara langsung di atas infrastruktur Google yang skalabel.

Set data

Demo ini menggunakan set data Stanford Sentiment Treebank.

"The Stanford Sentiment Treebank adalah korpus pertama dengan pohon penguraian yang berlabel sepenuhnya yang memungkinkan analisis lengkap tentang efek komposisi sentimen dalam bahasa. Korpus didasarkan pada {i>dataset<i} yang diperkenalkan oleh Pang dan Lee (2005) dan terdiri dari 11.855 kalimat tunggal yang diekstraksi dari ulasan film. Itu diurai dengan parser Stanford (Klein dan Manning, 2003) dan mencakup total 215.154 frasa unik dari pohon-pohon penguraian tersebut, masing-masing dianotasi oleh 3 hakim manusia." Makalah referensi

Sebelum memulai

Untuk panduan referensi ini, Anda memerlukan project Google Cloud. Anda dapat membuat project baru, atau memilih project yang sudah dibuat.

2. Meluncurkan Google Cloud Console dan Cloud Shell

Pada langkah ini, Anda akan meluncurkan Konsol Google Cloud dan menggunakan Google Cloud Shell.

2-a: Meluncurkan Google Cloud Console

Luncurkan browser dan buka Konsol Google Cloud.

Konsol Google Cloud adalah antarmuka admin web yang canggih dan aman yang dapat digunakan untuk mengelola resource Google Cloud dengan cepat. Ini merupakan alat DevOps kapan saja di mana saja.

2-b: Meluncurkan Google Cloud Shell

Meluncurkan Google Cloud Shell. Lihat gambar di bawah ini untuk referensi.

Peluncuran Konsol Google Cloud

Anda akan melihat sesuatu seperti ini:

Google Cloud Console

Anda akan menggunakan command prompt di langkah berikutnya.

Cloud Shell adalah lingkungan operasi dan pengembangan online yang dapat diakses di mana saja dengan browser Anda. Anda dapat mengelola resource dengan terminal online yang telah dilengkapi dengan utilitas seperti alat command line gcloud, kubectl, dan lainnya. Anda juga dapat mengembangkan, membangun, men-debug, dan men-deploy aplikasi berbasis cloud menggunakan Cloud Shell Editor online. Cloud Shell menyediakan lingkungan online yang siap digunakan developer dengan set alat favorit bawaan dan ruang penyimpanan persisten sebesar 5 GB.

2-c: Menetapkan Project Google Cloud

Tetapkan project Google Cloud dan lokasi tempat Anda akan membuat layanan Google Cloud. Anda akan menggunakan informasi tersebut untuk membuat Google Cloud Workbench dan Artifact Registry. Anda akan menggunakan fungsi pertama untuk membangun, dan mengirim container. Anda akan menggunakan opsi yang kedua untuk menyimpan image container.

Anda harus menetapkan satu-satunya variabel PROJECT_ID wajib. Anda dapat mengubah variabel lain, tetapi nilai defaultnya sudah cukup untuk menjalankan lab. Tetapkan Project Google Cloud yang benar. Ini digunakan oleh perintah gcloud.

# Set your GCP Project ID.
export PROJECT_ID=[Your project ID]

3. Men-deploy Image Docker ke Google Cloud Artifact Registry

3-a: Membuat Google Cloud Artifact Registry

Pertama, Anda perlu membuat artifact registry untuk menyimpan image docker.

# Set Google Cloud Location.
export GCP_LOCATION=us-central1
# Set image container artifact repo name.
export ARTIFACT_REPO=lit-demo
# Set lit demo name.
export DEMO_NAME=demo1

# Use below cmd to list all Google Cloud Artifact locations:
# gcloud artifacts locations list
# Create a repo to upload the docker container images.
gcloud artifacts repositories create $ARTIFACT_REPO \
    --repository-format=docker \
    --location=$GCP_LOCATION \
    --description="LIT Demos"

# Validate the repo creation.
gcloud artifacts repositories describe $ARTIFACT_REPO \
    --location=$GCP_LOCATION

3-b: Mengambil Image Docker

Kedua, cantumkan semua image Docker LIT di repositori publik menggunakan perintah di bawah ini.

# List all the public LIT docker images.
gcloud container images  list-tags  us-east4-docker.pkg.dev/lit-demos/lit-app/lit-app

Anda dapat menemukan semua image yang tersedia dan tag-nya, yang mengacu pada versi image, dan memilih tag yang ingin di-deploy.

Image Docker Google Cloud

Tarik image Docker yang Anda pilih menggunakan perintah di bawah.

# Set your chosen tag.
export TAG=[Your Chosen Tag]

# Pull the chosen docker image.
docker pull us-east4-docker.pkg.dev/lit-demos/lit-app/lit-app:$TAG

3-c: Image Docker Tag

Ketiga, beri tag pada image yang baru saja diambil ke repositori target.

# Push the pulled docker image to target repository.
docker tag  us-east4-docker.pkg.dev/lit-demos/lit-app/lit-app:$TAG  $GCP_LOCATION-docker.pkg.dev/$PROJECT_ID/$ARTIFACT_REPO/$DEMO_NAME:$TAG

3-d: Image Docker Push

Selanjutnya, kirim image Docker ke repositori target.

# Push the pulled docker image to the target repository.
docker push  $GCP_LOCATION-docker.pkg.dev/$PROJECT_ID/$ARTIFACT_REPO/$DEMO_NAME:$TAG

3-e: Men-deploy Image Docker ke CloudRun

Deploy image Docker ke cloud run dari repositori target.

Google Cloud Deploy Cloud Run

Di opsi deploy, pilih "Deploy one revision from an existing container image".

Di Konfigurasi, beri nama Layanan Anda agar sama dengan $DEMO_NAME, lalu pilih Region agar sama dengan $GCP_LOCATION.

Untuk Autentikasi, Anda dapat memilih "Allow unauthenticated invocations" atau "Perlu autentikasi". Jika Anda memilih "Wajibkan otentikasi", Anda mungkin perlu menyelesaikan langkah tambahan untuk mengakses demo. Oleh karena itu, sebaiknya pilih "Allow unauthenticated invocations" jika Anda hanya ingin membiasakan diri dengan demo.

Konfigurasi Google Cloud Run

Pada konfigurasi Container, pilih port Container menjadi 5432, Memory menjadi 32Gib, dan CPU menjadi 8.

Konfigurasi Container Google Cloud

Setelah menetapkan konfigurasi, buat instance.

4. Lihat Layanan LIT di GCP

Setelah membuat layanan, Anda dapat melihat log di Konsol Google Cloud.

Navigasi: Menu Atas di Konsol Google Cloud → Cloud Run (di kotak penelusuran) → pilih aplikasi demo1 → pilih LOGS. Anda juga dapat memeriksa METRIK, dll.

Di Google Cloud Console, gunakan Search, lalu ketik 'Cloud Run'. Lihat gambar di bawah ini untuk referensi.

Penelusuran Konsol Google Cloud

Pilih 'demo1' layanan yang baru saja Anda buat. Lihat gambar di bawah ini untuk referensi Anda.

Daftar Cloud Run di Konsol Google Cloud

Anda dapat memeriksa bagian LOG. Sementara itu, Anda dapat menemukan URL referensi. Lihat gambar di bawah ini untuk referensi Anda. Log Cloud Run Konsol Google Cloud

Anda dapat memeriksa bagian METRIK. Lihat gambar di bawah ini untuk referensi Anda. Metrik Cloud Run di Konsol Google Cloud

5. Jelajahi URL Demo LIT

Jika tidak dapat mengakses URL karena terjadi error Dilarang, Anda harus mengubah layanan dan mengizinkan pemanggilan yang tidak diautentikasi.

Izin Cloud Run untuk Perubahan LIT

Atau, Anda dapat melakukan proxy layanan ke host lokal menggunakan perintah di bawah ini.

# Proxy the service to local host.
gcloud run services proxy $DEMO_NAME --project $PROJECT_ID

Pastikan region sama dengan GCP_LOCATION. Kemudian Anda dapat menjelajahi url {i>host<i} lokal.

Layanan Proxy LIT

Demo LIT terlihat seperti screenshot di bawah ini:

Beranda Demo LIT

Anda akan memeriksa Sentimental Analysis (Analisis Sentimental) di set data Stanford Sentiment Treebank. Ikuti langkah-langkah di bawah ini

  • Gunakan fungsi penelusuran di tabel data LIT untuk menemukan 56 titik data yang berisi kata 'not'.

Penelusuran Demo LIT

  • Periksa akurasi model BERT di Tabel Metrik. Akurasi model BERT cukup tinggi.

Akurasi Demo LIT

  • Memilih titik data satu per satu dan mencari penjelasannya. Telusuri kata 'depression'.

Akurasi Demo LIT

  • Pilih "Ini bukan film gangster era depresi terhebat". Periksa Peta salience. Peta salience menunjukkan bahwa "tidak" dan "terbaik" penting untuk prediksi.

Akurasi Demo LIT

Ada banyak fitur LIT yang dapat Anda coba. Anda dapat menemukan video YouTube singkat kami atau LIT ArXiv yang menjelaskan fitur LIT.

6. Selamat

Selamat, Anda telah menyelesaikan codelab! Waktunya untuk bersantai!

Pembersihan

Untuk membersihkan lab, hapus semua Layanan Google Cloud yang dibuat untuk lab. Gunakan Google Cloud Shell untuk menjalankan perintah berikut.

Jika Koneksi Google Cloud terputus karena tidak ada aktivitas, reset variabel. Ikuti 2-c dan 4-1 untuk menetapkan variabel shell dan menetapkan Project Google Cloud.

# Delete the Cloud Run Service.
gcloud run services delete $DEMO_NAME \
--region=$GCP_LOCATION

# Delete the Artifact Registry.
gcloud artifacts repositories delete $ARTIFACT_REPO\
	--location=$GCP_LOCATION

### **Further reading**

Continue learning the LIT tool features with the below materials:

* LIT open source code base: [Git repo](https://github.com/PAIR-code/lit)
* LIT paper: [ArXiv](https://arxiv.org/pdf/2008.05122.pdf)
* LIT feature video demo: [Youtube](https://www.youtube.com/watch?v=CuRI_VK83dU)


### **License**

This work is licensed under a Creative Commons Attribution 2.0 Generic License.