Google Cloud Platform पर, लर्निंग इंटरप्रिटेबिलिटी टूल (एलआईटी) का डेमो डिप्लॉय करना

1. खास जानकारी

इस लैब में, LIT डेमो को तुरंत डिप्लॉय करने का तरीका बताया गया है. इसका मकसद, मॉडल के व्यवहार को एक्सप्लोर करने के लिए, LIT टूल के बारे में जानकारी देना है. कुछ शब्दों की अहमियत जानने के लिए, आपको भावनाओं का विश्लेषण करना होगा और काउंटरफ़ैक्चुअल LIT सुविधा इस्तेमाल करनी होगी. डेमो में विश्लेषण के लिए एक डेटासेट होता है. लैब, Google Cloud Platform में LIT को डिप्लॉय करने, डेटा का विश्लेषण करने, और डिप्लॉय की गई सेवाओं को मिटाने के तरीके मुहैया कराती है.

लर्निंग इंटरप्रिटेबिलिटी टूल (LIT) क्या है?

🔥LIT एक विज़ुअल और इंटरैक्टिव एमएल मॉडल समझने वाला टूल है. इसमें टेक्स्ट, इमेज, और टेबल वाला डेटा इस्तेमाल किया जा सकता है. इसे स्टैंडअलोन सर्वर के तौर पर चलाया जा सकता है. इसके अलावा, इसे Colab, Jupyter, और Google Cloud Vertex AI notebook जैसे notebook के एनवायरमेंट में चलाया जा सकता है.

LIT को नीचे दिए गए सवालों के जवाब देने के लिए बनाया गया है:

  • मेरा मॉडल किस तरह के उदाहरणों पर खराब परफ़ॉर्म करता है?
  • मेरे मॉडल ने यह अनुमान क्यों लगाया? क्या इसका अनुमान किसी गलत व्यवहार या ट्रेनिंग सेट में अनचाहे प्रायर को दिया जा सकता है?
  • टेक्स्ट स्टाइल, वर्ब टेंस या सर्वनाम लिंग जैसी चीज़ों में बदलाव करने पर, क्या मेरा मॉडल एक जैसा काम करता है?

यह टूल LIT GitHub Repo में उपलब्ध है. इसका एक पेपर ArXiv में भी उपलब्ध है.

आपको क्या करना होगा

कंटेनर इमेज को पुल करने, टैग करने, पुश करने, और डिप्लॉय करने के लिए, Google Cloud Shell का इस्तेमाल किया जा सकता है.

आपको Google Artifact Registry का इस्तेमाल करना होगा. इसकी मदद से, आर्टफ़ैक्ट को एक ही जगह से स्टोर किया जा सकेगा और Google Cloud के साथ इंटिग्रेट किए गए अनुभव के तौर पर, डिपेंडेंसी बनाई जा सकेगी. आपको डॉकर इमेज को Artifact Registry में अपलोड करना होगा. Google Cloud Artifact Registry के दस्तावेज़ पर, आपको इसके बारे में ज़्यादा जानकारी मिल सकती है.

डॉकर इमेज को डिप्लॉय करने के लिए, मैनेज की जा रही KNative सेवा, Google Cloud Run का इस्तेमाल करें. यह मैनेज किया जा रहा कंप्यूट प्लैटफ़ॉर्म है. इसकी मदद से, कंटेनर को सीधे Google के स्केलेबल इन्फ़्रास्ट्रक्चर पर चलाया जा सकता है.

डेटासेट

डेमो में Stanford Notiment ट्रीbank डेटासेट का इस्तेमाल किया गया है.

"स्टैनफ़ोर्ड सेंटीमेंट ट्रीबैंक पूरी तरह से लेबल किए गए पार्स ट्री वाला पहला संग्रह है, जिससे भाषा में भावनाओं के असर का पूरा विश्लेषण करने में मदद मिलती है. यह कॉर्पस, पैंग और ली (2005) के शुरू किए गए डेटासेट पर आधारित है. इसमें फ़िल्मों की समीक्षाओं से लिए गए 11,855 एक वाक्य हैं. इसे स्टैनफ़र्ड पार्सर (क्लेइन ऐंड मैनिंग, 2003) की मदद से पार्स किया गया था. इसमें उन पार्स ट्री से कुल 2,15, 154 यूनीक वाक्यांश शामिल हैं. हर वाक्यांश की व्याख्या तीन मानव जजों ने की थी." रेफ़रंस पेपर

शुरू करने से पहले

इस रेफ़रंस गाइड के लिए, आपके पास एक Google Cloud प्रोजेक्ट होना चाहिए. नया प्रोजेक्ट बनाया जा सकता है या पहले से बनाया गया कोई प्रोजेक्ट चुना जा सकता है.

2. Google Cloud Console और Cloud Shell लॉन्च करना

इस चरण में, आपको Google Cloud Console लॉन्च करना होगा और Google Cloud Shell का इस्तेमाल करना होगा.

2-a: Google Cloud Console लॉन्च करना

ब्राउज़र लॉन्च करें और Google Cloud Console पर जाएं.

Google Cloud Console एक बेहतरीन और सुरक्षित वेब एडमिन इंटरफ़ेस है. इसकी मदद से, Google Cloud के संसाधनों को फटाफट मैनेज किया जा सकता है. यह कभी भी, कहीं भी एक DevOps टूल है.

2-b: Google Cloud शेल लॉन्च करना

Google Cloud Shell लॉन्च करें. रेफ़रंस के लिए नीचे दी गई इमेज देखें.

Google Cloud Console लॉन्च

आपको कुछ ऐसा दिखेगा:

Google Cloud Console

अगले चरणों में आप कमांड प्रॉम्प्ट का इस्तेमाल करेंगे.

Cloud Shell एक ऑनलाइन डेवलपमेंट और ऑपरेशन एनवायरमेंट है. इसे आपके ब्राउज़र की मदद से कहीं से भी ऐक्सेस किया जा सकता है. आपको अपने संसाधनों को मैनेज करने के लिए, इसके ऑनलाइन टर्मिनल का इस्तेमाल करना होगा. इस टर्मिनल में gcloud command-line टूल, kubectl, और ऐसी कई सुविधाएं पहले से मौजूद हैं. ऑनलाइन Cloud Shell Editor का इस्तेमाल करके, क्लाउड-आधारित ऐप्लिकेशन डेवलप किए जा सकते हैं, बनाए जा सकते हैं, डीबग किए जा सकते हैं, और डिप्लॉय किए जा सकते हैं. Cloud Shell, डेवलपर के लिए तैयार ऑनलाइन प्लैटफ़ॉर्म उपलब्ध कराता है. इसमें पसंदीदा टूल पहले से इंस्टॉल होता है. साथ ही, इसमें 5 जीबी का स्टोरेज मिलता है.

2-c: Google Cloud प्रोजेक्ट सेट करना

Google Cloud प्रोजेक्ट और वह जगह सेट करें जहां Google Cloud सेवाएं बनाई जाएंगी. आपको इस जानकारी का इस्तेमाल, Google Cloud Workbench और Artifact Registry बनाने के लिए करना होगा. आपको कंटेनर बनाने और उसे पुश करने के लिए, पिछली ऐसेट का इस्तेमाल करना होगा. कंटेनर इमेज को स्टोर करने के लिए, बाद वाले तरीके का इस्तेमाल किया जाएगा.

आपको सिर्फ़ एक ज़रूरी PROJECT_ID वैरिएबल सेट करना होगा. आपके पास अन्य वैरिएबल में बदलाव करने का विकल्प है. हालांकि, लैब चलाने के लिए डिफ़ॉल्ट वैल्यू ही काफ़ी हैं. सही Google Cloud प्रोजेक्ट सेट करें. इसका इस्तेमाल gcloud कमांड के लिए किया जाता है.

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

3. Google Cloud Artifact Registry में, Docker इमेज डिप्लॉय करें

3-a: Google Cloud Artifact Registry बनाना

सबसे पहले, आपको डॉकर इमेज सेव करने के लिए एक आर्टफ़ैक्ट रजिस्ट्री बनानी होगी.

# 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: Docker इमेज खींचें

इसके अलावा, नीचे दिए गए निर्देश का इस्तेमाल करके, LIT की सभी डॉकर इमेज को सार्वजनिक डेटा स्टोर करने की जगह में रखें.

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

आपको सभी उपलब्ध इमेज और उनके टैग मिल सकते हैं, जो इमेज वर्शन के बारे में बताते हैं. साथ ही, वह टैग चुनें जिसे आपको डिप्लॉय करना है.

Google Cloud Docker इमेज

नीचे दिए गए निर्देश का इस्तेमाल करके, अपनी चुनी हुई डॉकर इमेज खींचें.

# 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: टैग डॉकर इमेज

तीसरा, टारगेट रिपॉज़िटरी में उस इमेज को टैग करें जो आपने अभी-अभी खींची है.

# 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: पुश डॉकर चित्र

इसके बाद, डेटाबेस को टारगेट करने के लिए डॉकर इमेज को पुश करें.

# 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: Docker इमेज को CloudRun पर डिप्लॉय करें

टारगेट रिपॉज़िटरी से क्लाउड रन पर डॉकर इमेज डिप्लॉय करें.

Google Cloud डिप्लॉय क्लाउड रन

डिप्लॉयमेंट विकल्प में, "किसी मौजूदा कंटेनर इमेज से एक संशोधन डिप्लॉय करें" चुनें.

कॉन्फ़िगरेशन में, अपनी सेवा को $DEMO_NAME के जैसा नाम दें और $GCP_LOCATION के जैसा क्षेत्र चुनें.

पुष्टि करने के लिए, "पुष्टि नहीं किए गए अनुरोधों को अनुमति दें" में से किसी एक को चुना जा सकता है या "पुष्टि करना ज़रूरी है." अगर आपने "पुष्टि करना ज़रूरी है" चुना है, तो डेमो को ऐक्सेस करने के लिए, आपको कुछ और चरण पूरे करने पड़ सकते हैं. इसलिए, "पुष्टि नहीं किए गए न्योतों की अनुमति दें" को चुनने का सुझाव दिया जाता है आपको डेमो के बारे में जानना होगा.

Google Cloud Run कॉन्फ़िगरेशन

कंटेनर कॉन्फ़िगरेशन में, कंटेनर पोर्ट को 5432, मेमोरी का 32 जीबी, और सीपीयू का 8 होना चुनें.

Google Cloud कंटेनर का कॉन्फ़िगरेशन

कॉन्फ़िगरेशन सेट करने के बाद, इंस्टेंस बनाएं.

4. GCP पर LIT सेवा देखें

सेवा बनाने के बाद, Google Cloud Console में लॉग देखे जा सकते हैं.

नेविगेशन: Google Cloud Console में सबसे ऊपर मौजूद बार → Cloud Run (खोज बार में) → डेमो1 ऐप्लिकेशन चुनें → LOGS चुनें. मेट्रिक वगैरह भी देखी जा सकती है.

Google Cloud Console में, Search का इस्तेमाल करें और ‘Cloud Run' टाइप करें. रेफ़रंस के लिए नीचे दी गई इमेज देखें.

Google Cloud Console खोज

'डेमो1' चुनें सेवा को फिर से बनाना है. आपके संदर्भ के लिए नीचे दिया गया चित्र देखें.

Google Cloud Console Cloud Run की सूची

आपके पास LOGS सेक्शन देखने का विकल्प होता है. इस दौरान, आपको रेफ़रंस का यूआरएल मिल सकता है. आपके संदर्भ के लिए नीचे दिया गया चित्र देखें. Google Cloud Console क्लाउड रन लॉग

आपके पास मेट्रिक सेक्शन को देखने का विकल्प है. आपके संदर्भ के लिए नीचे दिया गया चित्र देखें. Google Cloud Console क्लाउड रन मेट्रिक

5. LIT का डेमो यूआरएल ब्राउज़ करना

अगर अनुमति न मिलने की वजह से यूआरएल ऐक्सेस नहीं हो पा रहा है, तो आपको सेवा बदलनी होगी. साथ ही, पुष्टि न किए गए अनुरोध की अनुमति देनी होगी.

LIT क्लाउड रन की अनुमति बदलें

या नीचे दिए गए निर्देश का इस्तेमाल करके, लोकल होस्ट पर सेवा को प्रॉक्सी किया जा सकता है.

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

पक्का करें कि क्षेत्र और GCP_LOCATION एक ही हो. इसके बाद, लोकल होस्ट का यूआरएल ब्राउज़ किया जा सकता है.

एलआईटी प्रॉक्सी सेवा

LIT का डेमो नीचे दिए गए स्क्रीनशॉट की तरह दिखता है:

LIT डेमो होम पेज

आपको स्टैनफ़ोर्ड सेंटीमेंट ट्रीबैंक डेटासेट पर सेंटिमेंटल ऐनलिसिस दिखेगा. इसके लिए, यह तरीका अपनाएं

  • 'नहीं' शब्द वाले 56 डेटा पॉइंट ढूंढने के लिए, LIT की डेटा टेबल में खोज फ़ंक्शन का इस्तेमाल करें.

LIT डेमो सर्च

  • मेट्रिक टेबल में देखें कि BERT मॉडल कितना सटीक है. BERT मॉडल ज़्यादा सटीक है.

LIT डेमो के सटीक होने की जानकारी

  • अलग-अलग डेटा पॉइंट चुनें और एक्सप्लेनेशंस देखें. ‘अवसाद' शब्द खोजें.

LIT डेमो के सटीक होने की जानकारी

  • "यह डिप्रेशन के दौर की गैंगस्टर फ़िल्म नहीं है" चुनें. Salience Map देखें. सालींस मैप से पता चलता है कि "नहीं" और "बेहतर" अहमियत रखती हैं.

LIT डेमो के सटीक होने की जानकारी

LIT की ऐसी कई सुविधाएं हैं जिन्हें आज़माया जा सकता है. LIT की सुविधाओं के बारे में ज़्यादा जानकारी देने के लिए, हमारा छोटा YouTube वीडियो या LIT ArXiv देखें.

6. बधाई हो

कोडलैब पूरा करने पर बधाई! आराम करने का समय!

व्यवस्थित करें

लैब को खाली करने के लिए, लैब के लिए बनाई गई सभी Google क्लाउड सेवाओं को मिटाएं. इन निर्देशों को चलाने के लिए, Google Cloud Shell का इस्तेमाल करें.

अगर कोई गतिविधि न होने की वजह से Google Cloud कनेक्शन टूट जाता है, तो वैरिएबल रीसेट करें. शेल वैरिएबल सेट करने और Google Cloud प्रोजेक्ट सेट करने के लिए, 2-c और 4-1 के निर्देशों का पालन करें.

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