Bản minh hoạ về việc triển khai Công cụ diễn giải học tập (LIT) trên Google Cloud Platform

1. Tổng quan

Phòng thí nghiệm này cung cấp các hướng dẫn để nhanh chóng triển khai bản minh hoạ LIT. Mục tiêu là làm quen với công cụ LIT để khám phá hoạt động của mô hình. Bạn sẽ tiến hành phân tích theo cảm nhận và sử dụng tính năng LIT phản thực tế để tìm ra tầm quan trọng của những từ ngữ cụ thể. Bản minh hoạ bao gồm một tập dữ liệu để tiến hành phân tích. Phòng thí nghiệm này đưa ra các bước triển khai LIT trong Google Cloud Platform, phân tích dữ liệu và xoá các dịch vụ đã triển khai.

Công cụ diễn giải học tập (LIT) là gì?

🔥LIT là một công cụ trực quan và tương tác để tìm hiểu mô hình ML, hỗ trợ dữ liệu dạng văn bản, hình ảnh và dạng bảng. Nền tảng này có thể chạy dưới dạng một máy chủ độc lập hoặc chạy trong các môi trường sổ tay như Colab, Jupyter và các sổ tay Vertex AI của Google Cloud.

LIT được xây dựng để trả lời các câu hỏi như:

  • Mô hình của tôi hoạt động kém hiệu quả trên những loại ví dụ nào?
  • Tại sao mô hình của tôi đưa ra thông tin dự đoán này? Dự đoán này có thể được quy cho hành vi đối nghịch hoặc cho ưu tiên không mong muốn trong tập huấn luyện không?
  • Mô hình của tôi có hoạt động nhất quán nếu tôi thay đổi những yếu tố như văn phong, thì động từ hoặc giống của đại từ không?

Công cụ này có trong LIT GitHub Repo. Bạn cũng có thể tìm thấy bài viết về vấn đề này trong ArXiv.

Bạn sẽ làm gì

Bạn sẽ sử dụng Google Cloud Shell để kéo, gắn thẻ, đẩy và triển khai hình ảnh vùng chứa.

Bạn sẽ sử dụng Google Artifact Registry để có thể lưu trữ tập trung các cấu phần phần mềm và xây dựng các phần phụ thuộc trong một trải nghiệm tích hợp Google Cloud. Bạn sẽ tải hình ảnh docker lên Artifact Registry. Bạn có thể tìm hiểu thêm về yêu cầu này trong tài liệu về Google Cloud Artifact Registry.

Bạn sẽ sử dụng Google Cloud Run (một dịch vụ của Knative được quản lý) để triển khai hình ảnh Docker. Đây là một nền tảng điện toán được quản lý, cho phép bạn chạy các vùng chứa ngay trên cơ sở hạ tầng có thể mở rộng của Google.

Tập dữ liệu

Bản minh hoạ sử dụng tập dữ liệu Stanford Sentiment Treebank.

" Stanford Sentiment Treebank Treebank là tập hợp đầu tiên có cây phân tích cú pháp được gắn nhãn đầy đủ cho phép phân tích đầy đủ ảnh hưởng về thành phần của tình cảm trong ngôn ngữ. Tập dữ liệu này dựa trên tập dữ liệu do Pang và Lee (2005) giới thiệu và bao gồm 11.855 câu đơn được trích từ các bài đánh giá phim. Nó được phân tích cú pháp bằng trình phân tích cú pháp của Stanford (Klein và Manning, 2003) và bao gồm tổng cộng 215.154 cụm từ duy nhất từ các cây phân tích cú pháp đó, mỗi cụm từ được chú thích bởi 3 giám khảo." Tài liệu tham khảo

Trước khi bắt đầu

Để xem hướng dẫn tham khảo này, bạn cần có một dự án Google Cloud. Bạn có thể tạo dự án mới hoặc chọn dự án mà bạn đã tạo sẵn.

2. Chạy Google Cloud Console và Cloud Shell

Bạn sẽ chạy một Google Cloud Console và sử dụng Google Cloud Shell ở bước này.

2-a: Ra mắt Bảng điều khiển Google Cloud

Chạy một trình duyệt rồi truy cập vào Google Cloud Console.

Google Cloud Console là một giao diện quản trị web an toàn và mạnh mẽ, giúp bạn quản lý nhanh các tài nguyên của mình trên Google Cloud. Đây là một công cụ DevOps (Phát triển và vận hành) di chuyển.

2-b: Chạy Google Cloud Shell

Khởi chạy Google Cloud Shell. Xem hình ảnh dưới đây để tham khảo.

Ra mắt Google Cloud Console

Bạn sẽ thấy như sau:

Google Cloud Console

Bạn sẽ sử dụng dấu nhắc lệnh trong các bước tiếp theo.

Cloud Shell là môi trường phát triển và vận hành trực tuyến, có thể truy cập từ bất cứ đâu bằng trình duyệt của bạn. Bạn có thể quản lý tài nguyên của mình bằng thiết bị đầu cuối trực tuyến được tải trước bằng các tiện ích như công cụ dòng lệnh gcloud, kubectl, v.v. Bạn cũng có thể phát triển, xây dựng, gỡ lỗi và triển khai các ứng dụng trên đám mây bằng Trình chỉnh sửa Cloud Shell trực tuyến. Cloud Shell cung cấp một môi trường trực tuyến, phù hợp với nhà phát triển với bộ công cụ được cài đặt sẵn yêu thích và 5 GB không gian lưu trữ liên tục.

2-c: Thiết lập dự án trên Google Cloud

Thiết lập dự án trên Google Cloud và vị trí nơi bạn sẽ tạo các dịch vụ của Google Cloud. Bạn sẽ sử dụng thông tin này để tạo Google Cloud Workbench và Artifact Registry. Bạn sẽ sử dụng phần trước để xây dựng và đẩy một vùng chứa. Bạn sẽ sử dụng phần sau để lưu trữ hình ảnh vùng chứa.

Bạn phải đặt biến PROJECT_ID bắt buộc duy nhất. Bạn có thể sửa đổi các biến khác, nhưng giá trị mặc định là đủ để chạy phòng thí nghiệm. Đặt đúng dự án trên Google Cloud. Lệnh gcloud sử dụng lệnh này.

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

3. Triển khai Docker Images vào Google Cloud Artifact Registry

3-a: Tạo Sổ đăng ký Google Cloud Artifact

Trước tiên, bạn cần tạo một sổ đăng ký cấu phần phần mềm để lưu trữ hình ảnh 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: Hình ảnh Docker kéo

Thứ hai, liệt kê tất cả hình ảnh docker LIT trong kho lưu trữ công khai bằng cách sử dụng lệnh bên dưới.

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

Bạn có thể tìm thấy tất cả hình ảnh có sẵn và thẻ của hình ảnh (đề cập đến phiên bản hình ảnh), rồi chọn thẻ mà bạn muốn triển khai.

Hình ảnh Docker của Google Cloud

Kéo hình ảnh docker đã chọn bằng lệnh bên dưới.

# 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: Hình ảnh thẻ Docker

Thứ ba, hãy gắn thẻ hình ảnh bạn vừa kéo vào kho lưu trữ đích.

# 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: Hình ảnh Docker đẩy

Tiếp theo, đẩy hình ảnh docker vào kho lưu trữ đích.

# 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: Triển khai hình ảnh Docker cho CloudRun

Triển khai hình ảnh Docker để chạy trên đám mây từ kho lưu trữ đích.

Triển khai Cloud Run của Google Cloud

Trong lựa chọn triển khai, hãy chọn "Triển khai một bản sửa đổi từ hình ảnh vùng chứa hiện có".

Trong phần Cấu hình, hãy đặt tên Dịch vụ của bạn giống với $BETA_NAME, rồi chọn Khu vực giống với $GCP_LOCATION.

Đối với phần Xác thực, bạn có thể chọn "Cho phép lời gọi chưa được xác thực" hoặc "Yêu cầu xác thực". Nếu bạn chọn "Yêu cầu xác thực", bạn có thể phải hoàn thành các bước bổ sung để truy cập bản minh hoạ. Do đó, bạn nên chọn "Cho phép lời gọi chưa được xác thực" nếu bạn chỉ muốn làm quen với bản minh hoạ.

Cấu hình Google Cloud Run

Trong cấu hình Containers, hãy chọn cổng Container là 5432, Bộ nhớ là 32Gib và CPU là 8.

Cấu hình vùng chứa Google Cloud

Sau khi thiết lập cấu hình, hãy tạo thực thể đó.

4. Xem Dịch vụ LIT trên GCP

Sau khi tạo dịch vụ, bạn có thể xem nhật ký trong Google Cloud Console.

Điều hướng: Thanh trên cùng trong Google Cloud Console → Cloud Run (trong thanh tìm kiếm) → chọn ứng dụng demo1 → chọn LOGS. Bạn cũng có thể xem các CHỈ SỐ, v.v.

Trong Google Cloud Console, hãy sử dụng tính năng Tìm kiếm rồi nhập "Cloud Run". Xem hình ảnh dưới đây để tham khảo.

Tìm kiếm trong Google Cloud Console

Chọn "bản minh hoạ 1" mà bạn vừa tạo. Xem hình ảnh dưới đây để tham khảo.

Danh sách Cloud Run của Google Cloud Console

Bạn có thể kiểm tra phần NHẬT KÝ. Trong thời gian chờ đợi, bạn có thể tìm thấy URL của tham chiếu. Xem hình ảnh dưới đây để tham khảo. Nhật ký chạy trên đám mây của Google Cloud Console

Bạn có thể xem mục CHỈ SỐ. Xem hình ảnh dưới đây để tham khảo. Chỉ số Cloud Run của Google Cloud Console

5. Duyệt qua URL minh hoạ của LIT

Nếu bạn không thể truy cập URL do lỗi Bị cấm, bạn cần thay đổi dịch vụ và cho phép lệnh gọi chưa được xác thực.

LIT thay đổi quyền trên Cloud Run

Hoặc bạn có thể proxy dịch vụ cho máy chủ cục bộ bằng lệnh bên dưới.

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

Đảm bảo rằng khu vực giống với GCP_LOCATION. Sau đó, bạn có thể duyệt qua URL của máy chủ lưu trữ cục bộ.

Dịch vụ proxy LIT

Bản minh hoạ LIT sẽ có dạng như ảnh chụp màn hình dưới đây:

Trang chủ minh hoạ LIT

Bạn sẽ kiểm tra mục Phân tích tình cảm trên tập dữ liệu Stanford Sentiment Treebank. Hãy làm theo các bước dưới đây

  • Sử dụng chức năng tìm kiếm trong bảng dữ liệu của LIT để tìm 56 điểm dữ liệu có chứa từ 'not'.

Tìm kiếm bản minh hoạ LIT

  • Kiểm tra độ chính xác của mô hình BERT trong Bảng chỉ số. Mô hình BERT có độ chính xác cao.

Độ chính xác minh hoạ của LIT

  • Chọn từng điểm dữ liệu và tìm lời giải thích. Tìm từ "deped" (bệnh trầm cảm).

Độ chính xác minh hoạ của LIT

  • Chọn "Đó không phải là phim xã hội đen tối ưu". Kiểm tra Bản đồ lưu lượng truy cập. Bản đồ mức độ mặn cho thấy rằng "không" và "tối đa" đều quan trọng đối với dự đoán.

Độ chính xác minh hoạ của LIT

Bạn có thể dùng thử nhiều tính năng LIT. Bạn có thể tìm thấy video ngắn trên YouTube hoặc LIT ArXiv giải thích về các tính năng LIT.

6. Xin chúc mừng

Bạn đã hoàn thành lớp học lập trình! Thư giãn thôi!

Dọn dẹp

Để dọn dẹp phòng thí nghiệm, hãy xoá tất cả Dịch vụ Google Cloud đã tạo cho phòng thí nghiệm này. Sử dụng Google Cloud Shell để chạy các lệnh sau.

Nếu kết nối với Google Cloud bị mất do không hoạt động, hãy đặt lại các biến này. Thực hiện theo 2-c và 4-1 để thiết lập các biến shell và thiết lập dự án 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.