FraudFinder: Vertex AI ve BigQuery ile ham verilerden yapay zekaya.

1. Genel Bakış

Bu laboratuvarda, Google Cloud'da gerçek zamanlı sahtekarlık tespiti için AI sistemi için uçtan uca veri oluşturmayı öğreneceksiniz. Hedefimiz, ham verilerden Google Cloud üzerinde çalışan, üretime hazır bir makine öğrenimi ardışık düzenine nasıl geçileceğini anlamaktır. Bu laboratuvar aşağıdaki Google Cloud ürünlerini kullanır:

Neler öğreneceksiniz?

Uçtan uca makine öğrenimi ardışık düzeni derlemek zor olabilir. Bu laboratuvarda, BigQuery ve Vertex AI gibi Google Cloud hizmetlerini kullanarak uçtan uca makine öğrenimi ardışık düzeni oluşturup ölçeklendirmeyi öğreneceksiniz. Sizi, ham verilerden yapay zekanın üretim sürecine nasıl taşıyacağınızı açıklayacağız. Bu laboratuvarın genel öğrenme hedefleri şunlardır:

  • Google Cloud'daki yapay zeka sistemleri için veri derlemeyle ilgili en iyi uygulamaları öğrenin.
  • SQL (toplu işlem için) için BigQuery ve Dataflow (gerçek zamanlı işleme) kullanarak Apache Beam ile özellik mühendisliği yapmayı ve Vertex AI Feature Store'u kullanmayı öğrenin.
  • BigQuery'nin yanı sıra Pandas ve Plotly gibi Python kitaplıklarını kullanarak veri analizi yapma.
  • SQL aracılığıyla BigQuery ML ile ML modeli eğitme.
  • Modelinizi depolamak, dağıtmak ve izlemek için Vertex AI'dan yararlanma
  • Vertex AI Pipelines'ı kullanarak verilerinizi AI iş akışına uygun hâle getirme.

ÖNEMLİ: Bu laboratuvarı Google Cloud'da çalıştırmanın maliyeti yaklaşık 100 ABD dolarıdır.

2. Vertex AI ve BigQuery ile ham verilerden yapay zekaya

Bu laboratuvarda, Google Cloud'daki Vertex AI ve BigQuery ML gibi en yeni veri analizleri ve AI ürünleri ele alınmaktadır. Vertex AI ve BigQuery, ham verilerden yapay zekaya geçişi kolaylaştırır ve modellerinizi üretime taşıma konusunda daha üretken olmanızı sağlayacak sorunsuz bir geliştirme deneyimi sunar. Desteğe ihtiyacınız varsa lütfen destek sayfasını inceleyin.

Vertex AI, yapay zeka iş akışlarına yönelik uçtan uca veri desteği sunan birçok farklı ürün içerir. Aşağıda, Vertex AI'ın tüm özellikleriyle ilgili genel bir bakış sunulmaktadır:

Vertex ürününe genel bakış

3. FraudFinder kullanım alanı ve verileri

FraudFinder, gerçek zamanlı sahtekarlık tespitinin kullanım alanıyla Google Cloud'daki yapay zeka yolculuğuna dair kapsamlı verileri öğreten bir dizi not defteridir. Not defterlerinde, veri ambarında depolanan geçmiş ödeme işlemi verilerini okumayı, yeni işlemlerin canlı akışından okumayı, keşif amaçlı veri analizini (EDA) yapmayı, özellik mühendisliği yapmayı, özellik mağazasına özellikleri almayı, model deposunu kullanarak bir modeli eğitmeyi, modelinizi model kaydına kaydetmeyi, modelinizi değerlendirmeyi, modelinizi bir uç noktaya dağıtmayı, modelinizde gerçek zamanlı çıkarım yapmayı ve mağaza ile modelinizde gerçek zamanlı çıkarım yapmayı ve modelinizi izlemeyi öğreneceksiniz.

Sahtekarlık algılama, sınıflandırma ve anormallik algılamayı kapsar. Bu, makine öğrenimi içindeki muhtemelen geniş kapsamlı olan alanları kapsar. Bu nedenle sahtekarlık tespiti, kolay anlaşılır ve Google Cloud'da yapay zeka mimarisinde uçtan uca verileri sergilemek ve baştan sona verileri sergilemek için mükemmel bir yol olan gerçek hikayeler için iyi bir kullanım alanıdır. Uçtan uca mimariyi anlamak için sahtekarlık uzmanı olmanız gerekmez. Mimari kalıbı diğer kullanım alanlarına uygulanabilir.

Aşağıda, FraudFinder mimarisine ilişkin bir genel bakış bulabilirsiniz:

FraudFinder Mimarisi

Veri kümesi

Bu veri kümesi, Machine Learning for Credit Card Doud Detection - Practical Handbook project from Kaggle (Kredi Kartı Sahtekarlığı Algılama için Makine Öğrenimi - Kaggle'ın Pratik El Kitabı projesi) kodu kullanılarak sentezlendi. Gerçek zamanlı sahtekarlık tespiti, toplu tabanlı sahtekarlık tespitinden mimari olarak farklıdır ve aşağıdaki özelliklere sahiptir:

  • Yüksek frekans (ör. 1.000/saniye) tahmin istekleri
  • Tahmin isteğinin düşük gecikmesi (ör.1 sn.den az) → yanıt
  • Tahmin, genellikle tahmin isteği başına 1 örnek başına yapılır veya "mikro gruplarda" olabilir (ör. Neredeyse gerçek zamanlı çıkarım için toplu olarak gönderilen 1.000 işlem)
  • Sunum için özellik mühendisliği önceden veya gerçek zamanlı olarak hesaplanmalıdır

FraudFinder geçmiş veri kümesi

Geçmiş ödeme işlemleri içeren herkese açık BigQuery tabloları, kullanıcıların BigQuery'deki verileri kullanarak modellerini eğitmesine ve özellik mühendisliği yapmasına olanak tanır.

cymbal-fraudfinder (project)
|-`tx` (dataset)  
  |-`tx` (table: transactions without labels)  
  |-`txlabels` (table: transactions with fraud labels (1 or 0))  
|-demographics  
  |-`customers` (table: profiles of customers)  
  |-`terminals` (table: profiles of terminals)  
  |-`customersterminals` (table: profiles of customers and terminals within their radius)  

Neden gerçek zamanlı?

Bu laboratuvarda, gerçek zamanlı verilerden nasıl yararlanacağınızı, gerçek zamanlı özellik mühendisliği ve çıkarımını nasıl uygulayacağınızı öğreneceksiniz. Gerçek zamanlı özellikler, çıkarım süresi sırasında başka şekilde kullanamayacağınız sinyallerden yararlanarak modelinizi iyileştirmenize yardımcı olabilir.

FraudFinder canlı, akış verileri

FraudFinder Laboratuvarı kapsamında, kullanıcıların model uç noktalarını ve yayın özelliklerini kolayca test edebilecekleri, canlı yayınlanan ödeme işlemleri içeren herkese açık Pub/Sub konuları bulunur. Pub/Sub, eşzamansız ve ölçeklenebilir bir mesajlaşma hizmetidir. Bu konuları, özellikleri aktarmak ve online çıkarım gerçekleştirmek için kullanacaksınız. Kullanıcılar, model izleme özelliğini görüntülemek için referans değer ile daha yüksek sahtekarlık oranlarına sahip konular arasında geçiş yapabilir. Aşağıdaki herkese açık Pub/Sub konuları kullanılabilir:

  • ff-tx
  • ff-txlabels

4. Proje ve not defteri örneğinizi oluşturma

Bu laboratuvarı çalıştırmak için faturalandırmanın etkin olduğu bir Google Cloud Platform projesine ihtiyacınız vardır. Proje oluşturmak için talimatları uygulayın.

ÖNEMLİ: Bu laboratuvarı yeni bir projede çalıştırmanızı öneririz. Bu laboratuvar birçok farklı ürünü kapsamaktadır. İşin en kolay yolu, laboratuvarı tamamladıktan sonra projeyi tamamen silmektir.

Projeniz olduğunda lütfen aşağıdaki adımlarla devam edin. Aşağıdaki adımlar depodaki README.md dosyasında da bulunabilir.

1. Adım: API'leri etkinleştirin

İlk olarak, oluşturduğunuz projeye gidin ve bir bulut kabuğu açın. Daha önce etkinleştirmediyseniz yeni bir Cloud Shell'in temel hazırlığını yapacağından bu adım birkaç dakika sürebilir.

Cloud Shell

Ardından kopyalayıp yapıştırarak Cloud Shell'inizde aşağıdaki kodu yürütün. Komut dosyası, gerekli API'leri etkinleştirir ve herkese açık Pub/Sub konularından akış işlemlerini okumak için Pub/Sub abonelikleri oluşturur. Lütfen tüm komutları yürütmesi için biraz zaman tanıyın.

gcloud services enable notebooks.googleapis.com
gcloud services enable cloudresourcemanager.googleapis.com
gcloud services enable aiplatform.googleapis.com
gcloud services enable pubsub.googleapis.com
gcloud services enable run.googleapis.com
gcloud services enable cloudbuild.googleapis.com
gcloud services enable dataflow.googleapis.com
gcloud services enable bigquery.googleapis.com

gcloud pubsub subscriptions create "ff-tx-sub" --topic="ff-tx" --topic-project="cymbal-fraudfinder"
gcloud pubsub subscriptions create "ff-txlabels-sub" --topic="ff-txlabels" --topic-project="cymbal-fraudfinder"

# Run the following command to grant the Compute Engine default service account access to read and write pipeline artifacts in Google Cloud Storage.
PROJECT_ID=$(gcloud config get-value project)
PROJECT_NUM=$(gcloud projects list --filter="$PROJECT_ID" --format="value(PROJECT_NUMBER)")
gcloud projects add-iam-policy-binding $PROJECT_ID \
      --member="serviceAccount:${PROJECT_NUM}-compute@developer.gserviceaccount.com"\
      --role='roles/storage.admin'

2. Adım: Vertex AI Workbench örneği oluşturun

Ardından Cloud Console'unuzun Vertex AI bölümüne gidin. Ardından Workbench'e gidin:

Vertex AI menüsü

Etkinleştirilmemişse Vertex AI Workbench (notebook API) API'yi etkinleştirin.

Notebook_api

Etkinleştirdikten sonra KULLANICI TARAFINDAN YÖNETİLEN NOT KİTAPLAR'ı seçin:

Notebooks_UI

Ardından YENİ NOT DEFTERİ'ni seçin. Python 3'ü seçebilirsiniz.

new_notebook

Not defterinize fraudfinder gibi bir ad verin ve Gelişmiş Ayarlar'ı tıklayın.

create_notebook

Önemli: Permissions bölümünün altında Service Account öğesini seçtiğinizden emin olun.

Hizmet Hesabı

Önemli: Güvenlik bölümünde "Terminali etkinleştir"i seçin Etkin değilse.

enable_terminal

Diğer gelişmiş ayarların tümünü olduğu gibi bırakabilirsiniz.

Ardından Oluştur'u tıklayın. Örneğin temel hazırlığının yapılması birkaç dakika sürer.

Örnek oluşturulduktan sonra JupyterLab'i aç'ı seçin.

open_jupyterlab

3. Adım: IAM Rollerini Ayarlayın

Kolaylık sağlaması açısından Compute Engine varsayılan hizmet hesabını kullanacağınızı varsayalım. Üretim iş yükleri için en iyi uygulama bu değildir. En iyi uygulama, her uygulama için özel hizmet hesapları oluşturmak ve varsayılan hizmet hesaplarını kullanmaktan kaçınmaktır. Hizmet hesabıyla ilgili en iyi uygulamalar hakkında daha fazla bilgiye belgelerimizde ulaşabilirsiniz. Varsayılan Compute hizmet hesabı görünümü şuna benzer: 123456789123-compute@developer.gserviceaccount.com. IAM Yöneticisi'ne gidin ve ADD simgesini tıklayın. Görünümde, Compute Engine varsayılan hizmet hesabını bulup seçin, ardından aşağıdaki rolleri atayın:

  • BigQuery Admin
  • Storage Admin
  • Storage Object Admin
  • Vertex AI Administrator
  • Pub/Sub Admin

Aşağıdakine benzer bir görünümde olacaktır. Yeni ayarları kaydetmeyi unutmayın!

iam-roles.png

4. Adım: GitHub deposunu klonlayın

Not defteri örneğinizi oluşturup eriştiğinizde artık ortamınızı kurabilirsiniz. Öncelikle bir terminal penceresi açın.

Terminal'i açın

Aşağıdaki komutu kopyalayıp not defteri terminalinize yapıştırın:

git clone https://github.com/GoogleCloudPlatform/fraudfinder.git

Bu komutu çalıştırmak, FraudFinder deposunu not defteri örneğinize klonlar. git clone öğesini çalıştırdıktan sonra, soldaki Not Defteri örneğinizde sahtekarlık bulucu klasörünü görürsünüz. Şimdi fraudfinder klasörüne gidin. Laboratuvar için gerekli not defterlerini burada bulabilirsiniz.

Sonraki bölümlerden itibaren not defterlerindeki talimatları uygulamanız beklenmektedir. Lütfen ortam kurulumuna devam edin.

5. Ortam Kurulumu

Bu bölümde, proje ortamınızı ayarlamaya yardımcı olacak adımlar ele alınacaktır. Bu bölümde aşağıdaki öğrenme hedeflerini ele alacaksınız:

  • Paketler dahil olmak üzere ortamınızı ayarlayın.
  • BigQuery'ye veri yükleme
  • Herkese açık Pub/Sub konularından veri okuma.

Lütfen aşağıdaki not defteriyle devam edin ve talimatları adım adım uygulayın:

  • 00_environment_setup.ipynb

6. Keşif Amaçlı Veri Analizi

Bu bölümde, sahtekarlık verilerini daha iyi anlamak için araştırma amaçlı veri analizinin nasıl yapılacağı açıklanmaktadır. Bu bölümde aşağıdaki öğrenme hedeflerini ele alacaksınız:

  • SQL kullanarak BigQuery'den veri ayıklama ve veri keşfetme
  • BigQuery ve Plotly kullanarak işlem verilerinin grafiğini çizme
  • Veri toplama işlemlerini uygulama ve dağılım grafiği oluşturma

Lütfen bir sonraki not defteriyle devam edin ve talimatları adım adım uygulayın:

  • 01_exploratory_data_analysis.ipynb

7. Özellik Mühendisliği Grubu ve Akış

Bu bölümde, ham verilerden model eğitimine yönelik özellikler oluşturmak için Özellik Mühendisliği üzerinde çalışacaksınız. Toplu işlem ve akış yöntemini kullanacağız. Sahtekarlık tespiti açısından her iki kullanım alanının da ele alınması gerekir. Bu bölümde aşağıdaki öğrenme hedeflerini ele alacaksınız:

  • BigQuery ve SQL kullanarak özellik oluşturma
  • Vertex AI Feature Store oluşturma ve veri ekleme
  • Akış verilerini işleme ve Feature Store'a aktarma

Lütfen aşağıdaki iki not defterini bu sırada kullanarak devam edin ve not defterlerindeki talimatları uygulayın:

  • 02_feature_engineering_batch.ipynb
  • 03_feature_engineering_streaming.ipynb

8. Model Eğitimi, Tahmin, Resmileştirme ve İzleme

Bu bölümde, olası sahtekarlık durumlarını tespit etmek için ilk BigQuery Model modelinizi eğitecek ve dağıtacaksınız. Ayrıca eğitim ve dağıtım kodunuzu alıp otomatik bir ardışık düzene dönüştürmeyi de öğreneceksiniz. Ayrıca online tahminlerde bulunmayı ve modelinizi üretim aşamasında izlemeyi öğreneceksiniz. Bu bölümde aşağıdaki öğrenme hedeflerini ele alacaksınız:

  • BigQuery ML modelini eğitme ve Vertex AI Model Registry'ye kaydetme
  • Modeli Vertex AI'da uç nokta olarak dağıtma
  • Vertex AI SDK'sı nasıl kullanılır?
  • BigQuery ML modelini alıp uçtan uca ML ardışık düzeni oluşturma
  • Vertex AI Model Monitoring'i kullanma

Lütfen aşağıdaki not defterlerini bu sırada kullanarak devam edin ve not defterlerindeki talimatları uygulayın. Not defterleri, BQML klasöründe bulunabilir. Not defterindeki adımları adım adım uygulayın:

  • 04_model_training_and_prediction.ipynb
  • 05_model_training_pipeline_formalization.ipynb
  • 06_model_monitoring.ipynb
  • 07_model_inference.ipynb
🎉 Congratulations! 🎉

Google Cloud'da AI mimarisi için nasıl veri oluşturacağınızı öğrendiniz.

9. Temizleme

Bu laboratuvarı yeni bir projede çalıştırmanızı öneririz. Bu laboratuvar birçok farklı ürünü kapsamaktadır. Bu nedenle, laboratuvarı tamamladıktan sonra projeyi tamamen silmeniz daha kolay olacaktır. Belgelerimizde projeyi nasıl sileceğiniz hakkında daha fazla bilgi bulabilirsiniz.

Bunun yerine hizmetleri silmek istiyorsanız lütfen not defterlerindeki talimatları uygulayın veya oluşturulan kaynakları silin.