1. بررسی اجمالی
این آزمایشگاه دستورالعمل هایی را برای استقرار سریع نسخه ی نمایشی LIT ارائه می دهد. هدف این است که شما را با ابزار LIT برای کشف رفتار مدل آشنا کنیم. شما یک تحلیل احساسی انجام خواهید داد و از ویژگی Counterfactual LIT برای یافتن اهمیت کلمات خاص استفاده خواهید کرد. نسخه ی نمایشی شامل مجموعه داده ای برای انجام تجزیه و تحلیل است. این آزمایشگاه مراحلی را برای استقرار LIT در پلتفرم Google Cloud، تجزیه و تحلیل دادهها و حذف سرویسهای مستقر ارائه میدهد.
ابزار تفسیرپذیری یادگیری (LIT) چیست؟
🔥LIT ابزاری بصری و تعاملی برای درک مدل ML است که از متن، تصویر و داده های جدولی پشتیبانی می کند. می توان آن را به عنوان یک سرور مستقل یا در محیط های نوت بوک مانند نوت بوک های Colab، Jupyter و Google Cloud Vertex AI اجرا کرد.
LIT برای پاسخ دادن به سوالاتی مانند:
- مدل من در چه نوع نمونه هایی عملکرد ضعیفی دارد؟
- چرا مدل من این پیش بینی را انجام داد؟ آیا میتوان این پیشبینی را به رفتار خصمانه، یا به اولویتهای نامطلوب در مجموعه آموزشی نسبت داد؟
- اگر چیزهایی مانند سبک نوشتاری، زمان فعل، یا جنسیت ضمیر را تغییر دهم، آیا مدل من به طور ثابت رفتار می کند؟
این ابزار در LIT GitHub Repo موجود است. کاغذی برای آن نیز در ArXiv موجود است.
کاری که خواهی کرد
از Google Cloud Shell برای کشیدن، برچسبگذاری، فشار دادن و استقرار تصویر ظرف استفاده خواهید کرد.
شما از Google Artifact Registry استفاده خواهید کرد که به شما امکان می دهد مصنوعات را به صورت متمرکز ذخیره کنید و وابستگی ها را به عنوان بخشی از تجربه یکپارچه Google Cloud ایجاد کنید. شما تصویر داکر را در رجیستری مصنوع آپلود خواهید کرد. میتوانید در مستندات Google Cloud Artifact Registry درباره آن اطلاعات بیشتری کسب کنید.
شما از Google Cloud Cloud Run ، یک سرویس مدیریت شده Knative، برای استقرار تصویر داکر استفاده خواهید کرد. این یک پلت فرم محاسباتی مدیریت شده است که به شما امکان می دهد کانتینرها را مستقیماً در بالای زیرساخت مقیاس پذیر Google اجرا کنید.
مجموعه داده
نسخه ی نمایشی از مجموعه داده های Stanford Sentiment Treebank استفاده می کند.
بانک درختی احساسات استنفورد اولین مجموعه با درختان تجزیه کاملاً برچسبگذاری شده است که امکان تجزیه و تحلیل کامل اثرات ترکیبی احساسات در زبان را فراهم میکند. این مجموعه بر اساس مجموعه دادهای است که توسط Pang و Lee (2005) معرفی شده است و شامل 11855 جمله منفرد است. استخراج شده از نقدهای فیلم با تجزیه کننده استنفورد (کلین و منینگ، 2003) و در مجموع شامل 215154 عبارت منحصر به فرد از آن درختان تجزیه شده است که هر کدام توسط 3 داور انسانی حاشیه نویسی شده است. مقاله مرجع
قبل از شروع
برای این راهنمای مرجع، به یک پروژه Google Cloud نیاز دارید. می توانید یک پروژه جدید ایجاد کنید یا پروژه ای را که قبلا ایجاد کرده اید انتخاب کنید.
2. Google Cloud Console و Cloud Shell را راه اندازی کنید
شما یک Google Cloud Console راه اندازی می کنید و در این مرحله از Google Cloud Shell استفاده می کنید.
2-الف: یک Google Cloud Console راه اندازی کنید
یک مرورگر راه اندازی کنید و به Google Cloud Console بروید.
Google Cloud Console یک رابط مدیریت وب قدرتمند و ایمن است که به شما امکان می دهد منابع Google Cloud خود را به سرعت مدیریت کنید. این یک ابزار DevOps در حال حرکت است.
2-b: Google Cloud Shell را راه اندازی کنید
Google Cloud Shell را راه اندازی کنید. برای مرجع تصویر زیر را ببینید.
شما باید چیزی شبیه به این را ببینید:
در مراحل بعدی از خط فرمان استفاده خواهید کرد.
Cloud Shell یک محیط توسعه و عملیات آنلاین است که در هر جایی با مرورگر شما قابل دسترسی است. می توانید منابع خود را با ترمینال آنلاین آن که با ابزارهایی مانند ابزار خط فرمان gcloud، kubectl و غیره از قبل بارگذاری شده است، مدیریت کنید. همچنین میتوانید برنامههای مبتنی بر ابر خود را با استفاده از ویرایشگر پوسته ابری آنلاین توسعه دهید، بسازید، اشکالزدایی کنید، و آنها را مستقر کنید. 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. تصاویر Docker را در Google Cloud Artifact Registry مستقر کنید
3-الف: یک رجیستری مصنوع Google Cloud ایجاد کنید
ابتدا باید یک رجیستری مصنوع برای ذخیره تصاویر داکر ایجاد کنید.
# 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: تصویر Pull 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
می توانید تمام تصاویر موجود و برچسب آنها را که به نسخه تصویر اشاره دارد، پیدا کنید و برچسبی را که می خواهید اجرا کنید انتخاب کنید.
تصویر داکر انتخابی خود را با استفاده از دستور زیر بکشید.
# 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 Docker Image
سپس، تصویر 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 مستقر کنید
تصویر داکر را در فضای ابری از مخزن هدف مستقر کنید.
در گزینه Deploy، "Deploy one Revision from an Container Image موجود" را انتخاب کنید.
در Config، نام سرویس خود را به عنوان $DEMO_NAME نامگذاری کنید، و منطقه را مانند $GCP_LOCATION انتخاب کنید.
برای احراز هویت، میتوانید «اجازه به فراخوانهای احراز هویت نشده» یا «نیاز به احراز هویت» را انتخاب کنید. اگر «نیاز به احراز هویت» را انتخاب کنید، ممکن است لازم باشد مراحل دیگری را برای دسترسی به نسخه نمایشی تکمیل کنید. بنابراین، توصیه می شود اگر فقط می خواهید با نسخه نمایشی آشنا شوید، "Allow unauthenticated invocations" را انتخاب کنید.
در Containers config پورت Container را 5432، Memory را 32Gib و CPU را 8 انتخاب کنید.
پس از تنظیم پیکربندی، نمونه را ایجاد کنید.
4. سرویس LIT را در GCP مشاهده کنید
پس از ایجاد سرویس، میتوانید گزارشها را در Google Cloud Console تماشا کنید.
پیمایش: نوار بالا در Google Cloud Console → Cloud Run (در نوار جستجو) → برنامه آزمایشی 1 را انتخاب کنید → LOGS را انتخاب کنید. همچنین می توانید METRICS و غیره را بررسی کنید.
در Google Cloud Console از Search استفاده کنید و "Cloud Run" را تایپ کنید. برای مرجع تصویر زیر را ببینید.
سرویس 'demo1' را که به تازگی ایجاد کرده اید انتخاب کنید. برای مرجع خود تصویر زیر را ببینید.
می توانید بخش LOGS را بررسی کنید. در عین حال، می توانید URL مرجع را پیدا کنید. برای مرجع خود تصویر زیر را ببینید.
می توانید بخش METRICS را بررسی کنید. برای مرجع خود تصویر زیر را ببینید.
5. URL دمو LIT را مرور کنید
اگر به دلیل خطای Forbidden نمی توانید به URL دسترسی پیدا کنید، باید سرویس را تغییر دهید و فراخوانی احراز هویت نشده را مجاز کنید.
یا می توانید با استفاده از دستور زیر سرویس را به هاست محلی پراکسی کنید.
# Proxy the service to local host.
gcloud run services proxy $DEMO_NAME --project $PROJECT_ID
مطمئن شوید که منطقه همان GCP_LOCATION است. سپس می توانید URL میزبان محلی را مرور کنید.
نسخه ی نمایشی LIT مانند تصویر زیر است:
شما تجزیه و تحلیل احساسات را در مجموعه داده های Stanford Sentiment Treebank بررسی خواهید کرد. مراحل زیر را دنبال کنید
- از تابع جستجو در جدول داده های LIT برای یافتن 56 نقطه داده حاوی کلمه "نه" استفاده کنید.
- دقت مدل BERT را در جدول متریک بررسی کنید. دقت مدل BERT بالاست.
- نقاط داده فردی را انتخاب کنید و به دنبال توضیحات باشید. کلمه "افسردگی" را جستجو کنید.
- "این فیلم گانگستری نهایی دوران افسردگی نیست" را انتخاب کنید. نقشه Salience را بررسی کنید. نقشه های برجسته نشان می دهد که "نه" و "نهایی" برای پیش بینی مهم هستند.
بسیاری از ویژگی های LIT وجود دارد که می توانید آنها را امتحان کنید. میتوانید ویدیوی کوتاه یوتیوب ما یا LIT ArXiv را پیدا کنید که ویژگیهای LIT را توضیح میدهد.
6. تبریک می گویم
آفرین برای تکمیل کد لبه! زمان برای خنک شدن!
تمیز کردن
برای پاکسازی آزمایشگاه، همه سرویسهای ابری Google ایجاد شده برای آزمایشگاه را حذف کنید. برای اجرای دستورات زیر از Google Cloud Shell استفاده کنید.
اگر اتصال Google Cloud به دلیل عدم فعالیت از بین رفت، متغیرها را بازنشانی کنید. 2-c و 4-1 را برای تنظیم متغیرهای پوسته و تنظیم Google Cloud Project دنبال کنید.
# 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.