1. Genel Bakış
Bu laboratuvarda, Google Cloud'da gerçek zamanlı sahtekarlık algılama için uçtan uca veri-yapay zeka sistemi oluşturmayı öğreneceksiniz. Amaç, ham verilerden Google Cloud'da çalışan üretime hazır bir makine öğrenimi ardışık düzenine nasıl geçileceğini anlamaktır. Bu laboratuvarda aşağıdaki Google Cloud ürünleri kullanılmaktadır:
Öğrenecekleriniz
Uçtan uca ML ardışık düzeni oluşturmak zor olabilir. Bu laboratuvarda, BigQuery ve Vertex AI gibi Google Cloud hizmetlerini kullanarak uçtan uca bir makine öğrenimi ardışık düzeni oluşturmayı ve ölçeklendirmeyi öğreneceksiniz. Sizi ham verilerden üretimde yapay zekaya geçiş yolculuğuna çıkaracağız. Bu laboratuvarın üst düzey öğrenme hedefleri şunlardır:
- Google Cloud'da yapay zeka sistemleri için veri oluşturmayla ilgili en iyi uygulamaları öğrenin.
- SQL (toplu işleme için) kullanarak BigQuery ile 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 ile Pandas ve Plotly gibi Python kitaplıklarını kullanarak veri analizi yapma
- SQL aracılığıyla BigQuery ML ile makine öğrenimi modeli eğitme
- Modelinizi depolamak, dağıtmak ve izlemek için Vertex AI'dan nasıl yararlanacağınız.
- Vertex AI Pipelines'ı kullanarak verilerinizi yapay zeka iş akışınıza nasıl dahil edeceğinizi öğrenin.
Ö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'da bulunan en yeni veri analizi ve yapay zeka ürünleri (ör. Vertex AI ve BigQuery ML) ele alınmaktadır. Vertex AI ve BigQuery, ham verilerden yapay zekaya geçişi kolaylaştırır ve modellerinizi üretime geçirirken daha üretken olmanıza yardımcı olacak sorunsuz bir geliştirme deneyimi sunar. Desteğe ihtiyacınız olursa lütfen destek sayfasını ziyaret edin.
Vertex AI, uçtan uca veri-yapay zeka iş akışlarını desteklemek için birçok farklı ürün içerir. Aşağıda, tüm Vertex AI özelliklerinin bir özetini bulabilirsiniz:

3. FraudFinder kullanım alanı ve verileri
FraudFinder, Google Cloud'da kapsamlı verilerden yapay zekaya yolculuğu gerçek zamanlı sahtekarlık algılama kullanım alanı üzerinden öğreten bir dizi not defteridir. Not defterlerinde, bir veri ambarında depolanan geçmiş ödeme işlemleri verilerini okuma, yeni işlemlerin canlı yayınından okuma, keşifsel veri analizi (EDA) yapma, özellik mühendisliği yapma, özellikleri bir Feature Store'a aktarma, Feature Store'u kullanarak bir modeli eğitme, modelinizi bir model kayıt defterine kaydetme, modelinizi değerlendirme, modelinizi bir uç noktaya dağıtma, Feature Store ile modelinizde gerçek zamanlı çıkarım yapma ve modelinizi izleme konularını öğreneceksiniz.
Sahtekarlık tespiti, makine öğrenimi alanında kapsamlı olarak değerlendirilebilecek sınıflandırma ve anormallik tespitini kapsar. Bu nedenle, sahtekarlık algılama, anlaşılması kolay gerçek bir hikaye için iyi bir kullanım alanıdır ve Google Cloud'daki yapay zeka mimarisine uçtan uca verileri göstermenin harika bir yoludur. Uçtan uca mimariyi anlamak için sahtekarlık uzmanı olmanız gerekmez. Mimari kalıbı, diğer kullanım alanlarına da uygulanabilir.
FraudFinder mimarisine genel bakışı aşağıda bulabilirsiniz:

Veri kümesi
Veri kümesi, Kaggle'daki Machine Learning for Credit Card Fraud Detection - Practical Handbook projesindeki kod kullanılarak sentezlenir. Gerçek zamanlı sahtekarlık tespiti, mimari olarak toplu iş tabanlı sahtekarlık tespitinden farklıdır ve aşağıdaki özelliklere sahiptir:
- Yüksek sıklıkta (ör.saniyede 1.000) tahmin isteği
- Tahmin isteği → yanıt için düşük gecikme süresi (ör. < 1 sn)
- Tahmin genellikle tahmin isteği başına 1 örnek şeklindedir veya "mikro toplu işlemler" halinde olabilir (ör. neredeyse gerçek zamanlı çıkarım için toplu olarak gönderilen 1.000 işlem).
- Yayınlama için özellik mühendisliği önceden hesaplanmalı veya gerçek zamanlı olarak hesaplanmalıdır.
FraudFinder geçmiş veri kümesi
Geçmiş ödeme işlemlerini içeren herkese açık BigQuery tabloları vardır. Bu tablolar, kullanıcıların modellerini eğitmesine ve BigQuery'deki verileri kullanarak ö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ı ve gerçek zamanlı özellik mühendisliği ile çıkarım işlemlerini nasıl uygulayacağınızı öğreneceksiniz. Gerçek zamanlı özellikler, çıkarım sırasında kullanamayacağınız sinyallerden yararlanarak modelinizi iyileştirmeye yardımcı olabilir.
FraudFinder canlı yayın verileri
FraudFinder laboratuvarı kapsamında, kullanıcıların model uç noktalarını ve akış özelliklerini rahatça test edebileceği canlı yayın ö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 yayınlamak ve online çıkarım gerçekleştirmek için kullanacaksınız. Kullanıcılar, model izlemeyi görüntülemek için temel dolandırıcılık oranlarına sahip konular ile daha yüksek dolandırıcılık oranlarına sahip konular arasında da geçiş yapabilir. Aşağıdaki herkese açık Pub/Sub konuları kullanılabilir:
ff-txff-txlabels
4. Projenizi 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 laboratuvarda birçok farklı ürün ele alınmaktadır. Laboratuvarı tamamladıktan sonra projenin tamamını silmeniz en kolay yöntemdir.
Projeniz varsa lütfen aşağıdaki adımlarla devam edin. Aşağıdaki adımları, depoda bulunan README.md dosyasında da bulabilirsiniz.
1. adım: API'leri etkinleştirin
Öncelikle, yeni oluşturduğunuz projeye gidin ve Cloud Shell'i açın. Daha önce etkinleştirmediyseniz bu adımda yeni bir Cloud Shell sağlanacağından birkaç dakika sürebilir.

Ardından, kopyalayıp yapıştırarak Cloud Shell'inizde aşağıdaki kodu çalıştırın. Komut dosyası, gerekli API'leri etkinleştirir ve herkese açık Pub/Sub konularından akış işlemleri okumak için Pub/Sub abonelikleri oluşturur. Lütfen tüm komutların yürütülmesi 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şturma
Ardından, Cloud Console'unuzun Vertex AI bölümüne gidin. Ardından Workbench'e gidin:

Etkin değilse Vertex AI Workbench (notebook API) API'yi etkinleştirin.

Etkinleştirildikten sonra USER-MANAGED NOTEBOOKS'u (Kullanıcı tarafından yönetilen not defterleri) seçin:

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

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

Önemli: Permissions bölümünde Service Account'ı seçtiğinizden emin olun.

Önemli: Güvenlik bölümünde, henüz etkinleştirilmemişse "Terminali etkinleştir"i seçin.

Diğer tüm gelişmiş ayarları olduğu gibi bırakabilirsiniz.
Ardından Oluştur'u tıklayın. Örneğin sağlanması birkaç dakika sürer.
Örnek oluşturulduktan sonra Open JupyterLab'i (JupyterLab'i aç) seçin.

3. adım: IAM rollerini ayarlayın
Basitlik açısından, Compute Engine varsayılan hizmet hesabını kullanacağınızı varsayalım. Bu, üretim iş yükleri için en iyi uygulama 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ı en iyi uygulamaları hakkında daha fazla bilgiyi belgelerimizde bulabilirsiniz. Varsayılan Compute hizmet hesabı şu şekilde görünür: 123456789123-compute@developer.gserviceaccount.com. IAM yöneticisine gidin ve ADD simgesini tıklayın. Görünümde Compute Engine varsayılan hizmet hesabını arayıp seçin ve ardından aşağıdaki rolleri atayın:
BigQuery AdminStorage AdminStorage Object AdminVertex AI AdministratorPub/Sub Admin
Bu, aşağıdaki gibi görünmelidir. Yeni ayarları kaydetmeyi unutmayın.

4. adım: GitHub deposunu klonlayın
Not defteri örneğinizi oluşturup eriştiğinizde ortamınızı ayarlamanın zamanı gelmiş demektir. Önce bir terminal penceresi açın.

Aşağıdaki komutu kopyalayıp not defteri terminalinize yapıştırın ve çalıştırın:
git clone https://github.com/GoogleCloudPlatform/fraudfinder.git
Bu komutu çalıştırdığınızda FraudFinder deposu, not defteri örneğinize klonlanır. git clone komutunu çalıştırdıktan sonra sol taraftaki not defteri örneğinizde fraudfinder klasörünü görürsünüz. Şimdi fraudfinder klasörüne gidin. Laboratuvar için gereken not defterlerini burada bulabilirsiniz.
Sonraki bölümlerde not defterlerindeki talimatları uygulamanız beklenir. Lütfen ortam kurulumuna devam edin.
5. Ortam Kurulumu
Bu bölümde, proje ortamınızı ayarlamanıza yardımcı olacak adımlar açıklanmaktadır. Bu bölümde aşağıdaki öğrenme hedeflerini ele alacaksınız:
- Paketler de 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 defterine geçin ve talimatları adım adım uygulayın:
00_environment_setup.ipynb
6. Keşfedici Veri Analizi
Bu bölümde, sahtekarlık verilerini daha iyi anlamak için keşif 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 verileri keşfetme
- BigQuery ve Plotly kullanarak işlem verilerini çizme
- Veri toplamaları uygulama ve dağılım grafiği oluşturma
Lütfen bir sonraki not defterine geçin ve talimatları adım adım uygulayın:
01_exploratory_data_analysis.ipynb
7. Toplu ve Akış Halinde Özellik Mühendisliği
Bu bölümde, ham verilerden model eğitimi için özellikler oluşturmak üzere özellik mühendisliği üzerinde çalışacaksınız. Batch ve akış kullanacağız. Her iki kullanım alanı da sahtekarlık tespiti için önemlidir. 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ış verileriyle çalışma ve bunları Feature Store'a aktarma
Lütfen aşağıdaki iki not defterini bu sırayla kullanmaya devam edin ve not defterlerindeki talimatları uygulayın:
02_feature_engineering_batch.ipynb03_feature_engineering_streaming.ipynb
8. Model Eğitimi, Tahmin, Biçimlendirme 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 tahminler yapmayı ve üretimdeki modelinizi izlemeyi de öğ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'yı kullanma
- BigQuery ML modelini nasıl alıp uçtan uca bir makine öğrenimi ardışık düzeni oluşturabileceğiniz
- Vertex AI Model Monitoring'i kullanma
Lütfen aşağıdaki not defterlerini bu sırayla kullanmaya devam edin ve not defterlerindeki talimatları uygulayın. Not defterlerini BQML klasöründe bulabilirsiniz. Not defterindeki adımları uygulayın:
04_model_training_and_prediction.ipynb05_model_training_pipeline_formalization.ipynb06_model_monitoring.ipynb07_model_inference.ipynb
🎉 Congratulations! 🎉
Google Cloud'da veriden yapay zekaya mimarisi oluşturmayı öğrendiniz.
9. Temizleme
Bu laboratuvarı yeni bir projede çalıştırmanızı öneririz. Bu laboratuvarda birçok farklı ürün ele alınmaktadır. Bu nedenle, laboratuvarı tamamladıktan sonra projenin tamamını silmeniz en kolay yöntemdir. Projeyi silme hakkında daha fazla bilgiyi dokümanlarımızda bulabilirsiniz.
Hizmetleri silmek istiyorsanız lütfen Notebooks'taki talimatları uygulayın veya oluşturulan kaynakları silin.