1. Genel Bakış
Bu laboratuvarda, LIT demosunu hızlı bir şekilde dağıtmayla ilgili talimatlar sunulmaktadır. Amaç, model davranışını keşfetmek için LIT aracını tanımanızı sağlamaktır. Duygusal bir analiz yürütecek ve belirli kelimelerin önemini tespit etmek için Karşıt Gerçekçi LIT özelliğini kullanacaksınız. Demo, analizi gerçekleştirmek için bir veri kümesi içerir. Laboratuvarda, Google Cloud Platform'da LIT'yi dağıtma, verileri analiz etme ve dağıtılan hizmetleri silme ile ilgili adımlar açıklanmaktadır.
Öğrenme Yorumlanabilirlik Aracı (LIT) nedir?
🔥LIT; metin, görüntü ve tablo verilerini destekleyen görsel ve etkileşimli bir makine öğrenimi model anlama aracıdır. Bağımsız bir sunucu olarak veya Colab, Jupyter ve Google Cloud Vertex AI not defterleri gibi not defteri ortamlarının içinde çalıştırılabilir.
LIT, aşağıdaki gibi soruları yanıtlamak için tasarlanmıştır:
- Modelim ne tür örneklerde kötü performans gösteriyor?
- Modelim neden bu tahmini yaptı? Bu tahmin, yanıltıcı davranışlarla veya eğitim setindeki istenmeyen öncekilerle ilişkilendirilebilir mi?
- Metin stili, fiil zamanı veya cinsiyetin hitap şekli gibi konularda değişiklik yaptığımda modelim tutarlı bir şekilde davranır mı?
Bu aracı LIT GitHub Repo'da bulabilirsiniz. Bu konuyla ilgili bir makale ArXiv'de de mevcuttur.
Yapacaklarınız
Kapsayıcı görüntüsünü çekmek, etiketlemek, aktarmak ve dağıtmak için Google Cloud Shell'i kullanacaksınız.
Entegre bir Google Cloud deneyimi kapsamında yapıları merkezi olarak depolamanıza ve bağımlılık oluşturmanıza olanak tanıyan Google Artifact Registry'yi kullanacaksınız. Docker görüntüsünü Artifact Registry'ye yükleyeceksiniz. Bu konu hakkında daha fazla bilgi için Google Cloud Artifact Registry belgelerini inceleyin.
Docker görüntüsünü dağıtmak için yönetilen bir Knative hizmeti olan Google Cloud Run'ı kullanacaksınız. Bu, container'ları doğrudan Google'ın ölçeklenebilir altyapısında çalıştırmanızı sağlayan bir yönetilen bilgi işlem platformudur.
Veri kümesi
Demo, Stanford Sentiment Treebank veri kümesini kullanır.
"Stanford Sentiment Treebank, dildeki duygunun bileşimsel etkilerinin eksiksiz bir şekilde analiz edilmesine olanak tanıyan, tamamen etiketlenmiş ayrıştırma ağaçlarına sahip ilk topluluktur. Ekip,Pang ve Lee'nin (2005) ortaya koyduğu veri kümesini temel alır ve film incelemelerinden alınan 11.855 tek cümleden oluşur. Stanford ayrıştırıcısı (Klein ve Manning, 2003) ile ayrıştırıldı ve bu farklı ağaçlardan her biri 3 jüri tarafından ek açıklama eklenen toplam 215.154 benzersiz ifade içeriyor." Referans makale
Başlamadan önce
Bu başvuru kılavuzu için bir Google Cloud projenize ihtiyacınız vardır. Yeni bir proje oluşturabilir veya daha önce oluşturduğunuz bir projeyi seçebilirsiniz.
2. Google Cloud Console ve Cloud Shell'i başlatma
Bu adımda bir Google Cloud Console başlatacak ve Google Cloud Shell'i kullanacaksınız.
2-a: Google Cloud Console'u kullanıma sunma
Bir tarayıcı başlatın ve Google Cloud Console'a gidin.
Google Cloud Console, Google Cloud kaynaklarınızı hızlı bir şekilde yönetmenize olanak tanıyan güçlü ve güvenli bir web yöneticisi arayüzüdür. Hareket halindeyken kullanabileceğiniz bir DevOps aracıdır.
2-b: Google Cloud Shell'i başlatma
Bir Google Cloud Shell başlatın. Referans için aşağıdaki resme bakın.
Aşağıdakine benzer bir tablo görürsünüz:
Sonraki adımlarda komut istemini kullanacaksınız.
Cloud Shell, tarayıcınızı kullanarak her yerden erişebileceğiniz bir online geliştirme ve işlem ortamıdır. gcloud komut satırı aracı ve kubectl gibi yardımcı programlarla önceden yüklenmiş online terminalini kullanarak kaynaklarınızı yönetebilirsiniz. Ayrıca, online Cloud Shell Düzenleyici'yi kullanarak bulut tabanlı uygulamalarınızı geliştirebilir, derleyebilir, hata ayıklayabilir ve dağıtabilirsiniz. Cloud Shell, geliştiricilere önceden yüklenmiş favori araç seti ve 5 GB kalıcı depolama alanı bulunan online bir ortam sağlar.
2-c: Google Cloud projesi oluşturma
Google Cloud projesini ve Google Cloud hizmetlerini oluşturacağınız konumu belirleyin. Bu bilgileri kullanarak Google Cloud Workbench ve Artifact Registry oluşturacaksınız. Birincisi, container'ı derlemek ve aktarmak için kullanılır. Container görüntüsünü depolamak için ikinci boyut kullanılır.
Tek zorunlu PROJECT_ID değişkenini ayarlamanız gerekir. Diğer değişkenleri değiştirebilirsiniz ancak laboratuvarı çalıştırmak için varsayılan değerler yeterlidir. Doğru Google Cloud projesini belirleyin. gcloud komutu tarafından kullanılır.
# Set your GCP Project ID.
export PROJECT_ID=[Your project ID]
3. Docker Görüntülerini Google Cloud Artifact Registry'ye Dağıtma
3-a: Google Cloud Artifact Registry oluşturma
Öncelikle Docker görüntülerini depolamak için bir yapı kaydı oluşturmanız gerekir.
# 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 Görüntüsü Alma
İkinci olarak, aşağıdaki komutu kullanarak herkese açık depodaki tüm LIT Docker görüntülerini listeleyin.
# List all the public LIT docker images.
gcloud container images list-tags us-east4-docker.pkg.dev/lit-demos/lit-app/lit-app
Mevcut tüm resimleri ve resim sürümünü ifade eden etiketlerini bulabilir, dağıtmak istediğiniz etiketi seçebilirsiniz.
Aşağıdaki komutu kullanarak seçtiğiniz Docker görüntüsünü alın.
# 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: Docker Görüntüsünü Etiketleme
Üçüncü olarak, az önce çektiğiniz görüntüyü hedef depoya etiketleyin.
# 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: Docker görüntüsü aktarma
Ardından Docker görüntüsünü hedef depoya aktarın.
# 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 Görüntüsünü CloudRun'a Dağıtma
Docker görüntüsünü hedef depodan bulut çalıştırmasına dağıtın.
Dağıtım seçeneğinde "Mevcut bir container görüntüsünden bir düzeltme dağıt"ı seçin.
Config'de, hizmetinize $DEMO_NAME ile aynı adı verin ve $GCP_LOCATION ile aynı olacak şekilde Bölge seçin.
Kimlik doğrulama için "Kimliği doğrulanmayan çağrılara izin ver"i seçebilirsiniz veya "Kimlik doğrulaması iste"yi seçin. "Kimlik doğrulaması iste"yi seçerseniz demoya erişmek için ek adımlar tamamlamanız gerekebilir. Bu nedenle, "Kimliği doğrulanmayan çağrılara izin ver"i seçmeniz önerilir yalnızca demoyu daha yakından tanıyalım.
Containers yapılandırmasında Container bağlantı noktası 5432, Bellek 32 Gib ve CPU 8 olarak seçin.
Yapılandırmayı ayarladıktan sonra örneği oluşturun.
4. GCP'de LIT Hizmeti'ni görüntüleyin
Hizmeti oluşturduktan sonra günlükleri Google Cloud Console'da izleyebilirsiniz.
Gezinme: Google Cloud Console'da üst çubuk → Cloud Run (arama çubuğunda) → demo1 uygulamasını seçin → LOGS'ları seçin. Ayrıca, METRICS vb. değerleri de kontrol edebilirsiniz.
Google Cloud Console'da, Arama'yı kullanın ve "Cloud Run" yazın. Referans için aşağıdaki resme bakın.
"Demo1"i seçin ekleyebilirsiniz. Referans olması için aşağıdaki resme bakın.
GÜNLÜKLER bölümünü kontrol edebilirsiniz. Bu sırada referansın URL'sini bulabilirsiniz. Referans olması için aşağıdaki resme bakın. .
METRİKLER bölümünü kontrol edebilirsiniz. Referans olması için aşağıdaki resme bakın. .
5. LIT Demo URL'sine göz atın
Yasak hatası nedeniyle URL'ye erişemiyorsanız hizmeti değiştirmeniz ve kimliği doğrulanmamış çağrıya izin vermeniz gerekir.
Alternatif olarak, aşağıdaki komutu kullanarak hizmeti yerel ana makineye proxy olarak ayarlayabilirsiniz.
# Proxy the service to local host.
gcloud run services proxy $DEMO_NAME --project $PROJECT_ID
Bölgenin GCP_LOCATION ile aynı olduğundan emin olun. Ardından, yerel ana bilgisayar URL'sine göz atabilirsiniz.
LIT demosu aşağıdaki ekran görüntüsündeki gibi görünür:
Stanford Sentiment Treebank veri kümesinde Duygusal Analiz'i kontrol edeceksiniz. Aşağıdaki adımları uygulayın
- "not" kelimesini içeren 56 veri noktasını bulmak için LIT'nin veri tablosundaki arama işlevini kullanın.
- Metrikler Tablosunda BERT modelinin doğruluğunu kontrol edin. BERT modelinin doğruluğu yüksektir.
- Tek tek veri noktalarını seçin ve açıklamaları arayın. "Depresyon" kelimesini arayın.
- "Bu, depresyon döneminin en iyi gangster filmi değil"i seçin. Salience Haritası'nı kontrol edin. Salience haritalarına göre ve "ultimate" (en önemli oluşturmak önemlidir.
Deneyebileceğiniz birçok LIT özelliği vardır. LIT özelliklerini açıklayan kısa YouTube videomuzu veya LIT ArXiv'i bulabilirsiniz.
6. Tebrikler
Codelab'i tamamladığınız için tebrikler. Rahatlama zamanı
Temizleme
Laboratuvarı temizlemek istiyorsanız laboratuvar için oluşturulan tüm Google Cloud hizmetlerini silin. Aşağıdaki komutları çalıştırmak için Google Cloud Shell'i kullanın.
Google Cloud bağlantısı etkinlik olmaması nedeniyle kesilirse değişkenleri sıfırlayın. Kabuk değişkenlerini ve Google Cloud projesini ayarlamak için 2-c ve 4-1'i izleyin.
# 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.