عرض توضيحي حول نشر "أداة قابلية تفسير التعليم" (LIT) على Google Cloud Platform

1. نظرة عامة

يوفّر هذا التمرين المعملي تعليمات لنشر عرض LIT التجريبي بسرعة. الهدف هو التعرف على أداة LIT لاستكشاف سلوك النموذج. ستُجري تحليلاً عاطفيًا وتستخدم ميزة "عدّة واقعية" لمعرفة أهمية كلمات معيّنة. يتضمن العرض التوضيحي مجموعة بيانات لإجراء التحليل. يوفّر التمرين المعملي خطوات لنشر لغة LIT في Google Cloud Platform وتحليل البيانات وحذف الخدمات المنشورة.

ما هي أداة تفسير التعليم (LIT)؟

🔥LIT هي أداة مرئية تفاعلية لفهم نماذج تعلُّم الآلة تتوافق مع البيانات النصية والصور والجداول. يمكن تشغيلها كخادم مستقل أو داخل بيئات ورقة الملاحظات، مثل أوراق ملاحظات Colab وJupyter وGoogle Cloud Vertex AI.

تم تصميم LIT للإجابة عن أسئلة مثل:

  • ما هي الأمثلة التي يكون فيها أداء نموذجي ضعيفًا؟
  • لماذا قدم النموذج هذا التوقع؟ هل يمكن أن يُعزى هذا التوقع إلى السلوك العدائي، أو إلى السلوكيات السابقة غير المرغوب فيها في مجموعة التدريب؟
  • هل يتصرف نموذجي بشكلٍ متسق إذا غيّرتُ عناصر مثل أسلوب النص أو زمن الفعل أو جنس الضمير؟

تتوفر الأداة في LIT Github Repo. ويتوفر هذا البحث أيضًا في ArXiv.

الإجراءات التي ستنفّذها

ستستخدم Google Cloud Shell لسحب صورة الحاوية ووضع علامة عليها ودفعها ونشرها.

ستستخدم Google Artifact Registry الذي يتيح لك تخزين العناصر مركزيًا وإنشاء التبعيات كجزء من تجربة Google Cloud المتكاملة. سيتم تحميل صورة Docker إلى Artifact Registry. يمكنك معرفة المزيد من المعلومات عن هذا الإجراء في مستندات Google Cloud Artifact Registry.

ستستخدم Google Cloud Run، وهي خدمة KNative المُدارة، لنشر صورة Docker. إنّها منصة حوسبة مُدارة تتيح لك تشغيل الحاويات مباشرةً إلى أعلى بنية Google الأساسية القابلة للتطور.

مجموعة البيانات

يستخدم العرض التوضيحي مجموعة بيانات Stanford Sentiment Treebank.

"The Stanford Sentiment Treebank هو أول مجموعة تضم أشجار تحليل مصنفة بالكامل وتتيح تحليلاً كاملاً للآثار التركيبية للمشاعر في اللغة. يعتمد المجموعة على مجموعة البيانات التي قدمها بانغ ولي (2005) ويتكون من 11855 جملة فردية مستخرجة من مراجعات الأفلام. وقد تم تحليلها باستخدام المحلل اللغوي لستانفورد (Klein and Manning، 2003) وتتضمن ما مجموعه 215154 عبارة فريدة من أشجار التحليل هذه، وعلّق عليها 3 قضاة بشريين ". ورقة مرجعية

قبل البدء

لاستخدام هذا الدليل المرجعي، يجب أن يكون لديك مشروع على Google Cloud. يمكنك إنشاء مشروع جديد أو اختيار مشروع سبق أن أنشأته.

2. تشغيل Google Cloud Console وCloud Shell

ستحتاج إلى تشغيل Google Cloud Console واستخدام Google Cloud Shell في هذه الخطوة.

2-أ: إطلاق وحدة تحكّم Google Cloud

افتح متصفّحًا وانتقِل إلى Google Cloud Console.

Google Cloud Console هي واجهة فعّالة وآمنة لمشرف الويب تتيح لك إدارة موارد Google Cloud بسرعة. إنها أداة DevOps أثناء التنقل.

2-ب: تشغيل Google Cloud Shell

افتح Google Cloud Shell. انظر الصورة أدناه كمرجع.

إطلاق Google Cloud Console

ينبغي أن تظهر لك على النحو التالي:

Google Cloud Console

ستستخدم موجه الأوامر في الخطوات التالية.

Cloud Shell هي بيئة تطوير وعمليات على الإنترنت يمكن الوصول إليها من أي مكان باستخدام المتصفّح. يمكنك إدارة مواردك باستخدام الوحدة الطرفية الخاصة بها على الإنترنت والتي تم تحميلها مسبقًا بأدوات مساعدة، مثل أداة سطر الأوامر gcloud وkubectl وغير ذلك. يمكنك أيضًا تطوير التطبيقات المستنِدة إلى السحابة الإلكترونية وإنشائها وتصحيح أخطائها ونشرها باستخدام "محرِّر Cloud Shell" على الإنترنت. توفّر Cloud Shell بيئة إلكترونية جاهزة للمطوّرين مع مجموعة من الأدوات المفضَّلة المثبَّتة مسبقًا ومساحة التخزين الدائمة التي تبلغ 5 غيغابايت.

2-ج: إعداد مشروع 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- نشر صور Docker على سجلّ Google Cloud Artifact Registry

3-أ: إنشاء Google Cloud Artifact Registry

أولاً، تحتاج إلى إنشاء سجل أدوات لتخزين صور 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-ب: سحب صورة Docker

ثانيًا، أدرِج كل صور LIT Docker في المستودع العام باستخدام الأمر أدناه.

# 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

اسحب صورة 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-ج: صورة Docker

ثالثًا، ضع علامة على الصورة التي سحبتها للتو لاستهداف المستودع.

# 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

ثلاثية الأبعاد: دفع صورة Docker

بعد ذلك، ادفع صورة Docker لاستهداف المستودع.

# 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

انشر صورة Docker على السحابة الإلكترونية من المستودع الهدف.

تشغيل السحابة الإلكترونية من Google Cloud

في خيار النشر، اختر "نشر نسخة سابقة من صورة حاوية حالية".

في "الإعداد"، اختر "المنطقة" لتكون هي نفسها اسم $DEMO_NAME، واختر "المنطقة" لتكون مماثلة لـ $GCP_LOCATION.

للمصادقة، يمكنك اختيار إما "السماح بالاستدعاءات التي لم تتم مصادقتها" أو "طلب المصادقة". في حالة تحديد "طلب المصادقة"، قد تحتاج إلى إكمال خطوات إضافية للوصول إلى العرض التوضيحي. ولذلك، ننصح بتحديد "السماح بالاستدعاءات غير المُصدَّق عليها" إذا أردت التعرّف على العرض التوضيحي

إعداد تشغيل Google Cloud

في إعداد "الحاويات"، اختَر منفذ الحاوية ليكون 5432 وضبط إعدادات الذاكرة على 32 غيغا بايت ووحدة المعالجة المركزية (CPU) بالقيمة 8.

ضبط حاوية Google Cloud

بعد ضبط الإعدادات، أنشئ المثيل.

4. عرض خدمة LIT على Google Cloud Platform

بعد إنشاء الخدمة، يمكنك مراقبة السجلّات في Google Cloud Console.

التنقّل: الشريط العلوي في Google Cloud Console ← Cloud Run (في شريط البحث) ← اختَر تطبيق Demo1 ← اختَر السجلّات. ويمكنك أيضًا الاطّلاع على "المقاييس" وما إلى ذلك.

في Google Cloud Console، استخدِم "البحث" واكتب "تشغيل السحابة الإلكترونية". انظر الصورة أدناه كمرجع.

البحث في Google Cloud Console

حدد "demo1" التي قمت بإنشائها للتو. انظر الصورة أدناه كمرجع لك.

قائمة تشغيل السحابة الإلكترونية في Google Cloud Console

يمكنك الاطلاع على قسم "السجلات". في الوقت الحالي، يمكنك العثور على عنوان URL للمرجع. انظر الصورة أدناه كمرجع لك. سجلّ تشغيل السحابة الإلكترونية في Google Cloud Console

يمكنك الاطّلاع على قسم "المقاييس". انظر الصورة أدناه كمرجع لك. مقاييس تشغيل السحابة الإلكترونية في Google Cloud Console

5- تصفُّح عنوان URL للعرض التوضيحي لميزة LIT

إذا لم تتمكن من الوصول إلى عنوان URL بسبب الخطأ "محظور"، فستحتاج إلى تغيير الخدمة والسماح بالاستدعاء غير المصادق عليه.

تغيير إذن تشغيل السحابة الإلكترونية من خلال LIT

أو يمكنك إنشاء وكيل للخدمة مع مضيف محلي باستخدام الأمر أدناه.

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

تأكَّد من تطابق المنطقة مع GCP_LOCATION. ثم يمكنك تصفح عنوان URL للمضيف المحلي.

خدمة خادم وكيل LIT

يشبه العرض التوضيحي LIT لقطة الشاشة أدناه:

صفحة LIT Demo الرئيسية

ستتحقق من "التحليل العاطفي" في مجموعة بيانات Stanford Sentiment Treebank. يُرجى اتّباع الخطوات التالية:

  • استخدِم وظيفة البحث في جدول بيانات LIT للعثور على نقاط البيانات البالغ عددها 56 نقطة تحتوي على كلمة "not".

بحث تجريبي في LIT

  • تحقَّق من دقة نموذج BERT في جدول المقاييس. دقة نموذج BERT مرتفعة.

دقة الوضع الديموغرافي في LIT

  • حدد نقاط البيانات الفردية وابحث عن التفسيرات. ابحث عن كلمة "الاكتئاب".

دقة الوضع الديموغرافي في LIT

  • اختَر "It's not the ultimate depression-era gangster movie" تحقَّق من خريطة Salience. تقترح خرائط الأهمية أن "لا" و"النهائي" مهمة للتنبؤ.

دقة الوضع الديموغرافي في LIT

تتوفّر الكثير من ميزات LIT التي يمكنك تجربتها. يمكنك العثور على الفيديو القصير على YouTube أو LIT ArXiv الذي يوضِّح ميزات LIT.

6- تهانينا

أحسنت في إكمال الدرس التطبيقي حول الترميز. حان وقت الاسترخاء.

تَنظيم

لتنظيم الميزة الاختبارية، احذف جميع خدمات Google Cloud التي تم إنشاؤها للدرس. استخدِم Google Cloud Shell لتنفيذ الأوامر التالية.

في حال فقدان الاتصال بالسحابة الإلكترونية من Google بسبب عدم النشاط، أعِد ضبط المتغيرات. اتّبِع القيمتَين 2-c و4-1 لضبط متغيّرات واجهة الأوامر وإعداد مشروع 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.