FlagFinder: Vertex AI और BigQuery की मदद से, रॉ डेटा से एआई (AI) का इस्तेमाल किया जा सकता है.

1. खास जानकारी

इस लैब में, आपको Google Cloud पर धोखाधड़ी का पता लगाने के लिए, एंड-टू-एंड डेटा से एआई सिस्टम बनाने का तरीका बताया जाएगा. इसका मकसद यह समझना है कि रॉ डेटा से, Google Cloud पर चलने वाली प्रोडक्शन-रेडी एमएल पाइपलाइन कैसे बनाई जाती है. इस लैब में, Google Cloud के इन प्रॉडक्ट का इस्तेमाल किया जाता है:

आपको क्या सीखने को मिलेगा?

एंड-टू-एंड एमएल पाइपलाइन बनाना मुश्किल हो सकता है. इस लैब में, आपको Google Cloud की BigQuery और Vertex AI जैसी सेवाओं का इस्तेमाल करके, एंड-टू-एंड एमएल पाइपलाइन बनाने और उसे स्केल करने का तरीका बताया जाएगा. हम आपको यह बताएंगे कि रॉ डेटा से लेकर प्रोडक्शन में एआई का इस्तेमाल करने तक का सफ़र कैसे तय किया जाता है. इस लैब के मुख्य लर्निंग ऑब्जेक्टिव ये हैं:

  • Google Cloud पर एआई सिस्टम के लिए डेटा तैयार करने के सबसे सही तरीके जानें.
  • एसक्यूएल का इस्तेमाल करके BigQuery के साथ फ़ीचर इंजीनियरिंग करने का तरीका जानें. इसके लिए, बैच प्रोसेसिंग के लिए एसक्यूएल और रीयल-टाइम प्रोसेसिंग के लिए Dataflow का इस्तेमाल करके Apache Beam का इस्तेमाल करें. साथ ही, Vertex AI Feature Store का इस्तेमाल करें.
  • BigQuery और Pandas और Plotly जैसी Python लाइब्रेरी का इस्तेमाल करके, डेटा का विश्लेषण कैसे करें.
  • एसक्यूएल के ज़रिए BigQuery ML की मदद से एमएल मॉडल को ट्रेन करने का तरीका.
  • अपने मॉडल को सेव करने, डिप्लॉय करने, और मॉनिटर करने के लिए, Vertex AI का इस्तेमाल कैसे करें.
  • एआई वर्कफ़्लो के लिए, अपने डेटा को फ़ॉर्मल बनाने के लिए Vertex AI Pipelines का इस्तेमाल कैसे करें.

अहम जानकारी: Google Cloud पर इस लैब को चलाने की लागत करीब 100 डॉलर है.

2. Vertex AI और BigQuery की मदद से, रॉ डेटा से एआई तक

इस लैब में, Google Cloud पर उपलब्ध डेटा विश्लेषण और एआई के नए प्रॉडक्ट के बारे में बताया गया है. जैसे, Vertex AI और BigQuery ML. Vertex AI और BigQuery की मदद से, रॉ डेटा को एआई में आसानी से बदला जा सकता है. साथ ही, ये दोनों प्लैटफ़ॉर्म आपको डेवलपमेंट का बेहतर अनुभव देते हैं, ताकि आप अपने मॉडल को प्रोडक्शन में ज़्यादा आसानी से ला सकें. अगर आपको कोई मदद चाहिए, तो कृपया सहायता पेज पर जाएं.

Vertex AI में, डेटा से लेकर एआई वर्कफ़्लो तक की प्रोसेस को पूरा करने के लिए कई अलग-अलग प्रॉडक्ट शामिल हैं. यहां आपको Vertex AI की सभी सुविधाओं के बारे में खास जानकारी मिलेगी:

Vertex प्रॉडक्ट की खास जानकारी

3. FraudFinder के इस्तेमाल का उदाहरण और डेटा

FraudFinder, नोटबुक की एक सीरीज़ है. इसमें Google Cloud पर एआई की मदद से डेटा को प्रोसेस करने के बारे में पूरी जानकारी दी गई है. इसके लिए, धोखाधड़ी का पता लगाने के लिए रीयल-टाइम में डेटा प्रोसेस करने का इस्तेमाल किया गया है. इन नोटबुक में, आपको डेटा वेयरहाउस में सेव किए गए पेमेंट के पुराने लेन-देन का डेटा पढ़ने, नए लेन-देन की लाइव स्ट्रीम से डेटा पढ़ने, एक्सप्लोरेटरी डेटा विश्लेषण (ईडीए) करने, फ़ीचर इंजीनियरिंग करने, फ़ीचर स्टोर में फ़ीचर शामिल करने, फ़ीचर स्टोर का इस्तेमाल करके मॉडल को ट्रेन करने, मॉडल रजिस्ट्री में अपने मॉडल को रजिस्टर करने, अपने मॉडल का आकलन करने, अपने मॉडल को किसी एंडपॉइंट पर डिप्लॉय करने, फ़ीचर स्टोर की मदद से अपने मॉडल पर रीयल-टाइम इन्फ़रेंस करने, और अपने मॉडल की निगरानी करने का तरीका बताया जाएगा.

धोखाधड़ी का पता लगाने की सुविधा में, क्लासिफ़िकेशन और गड़बड़ी का पता लगाने की सुविधा शामिल होती है. ये दोनों ही मशीन लर्निंग के सबसे बड़े डोमेन हैं. इससे धोखाधड़ी का पता लगाने के लिए, एक ऐसी असली कहानी का इस्तेमाल किया जा सकता है जिसे समझना आसान हो. साथ ही, यह Google Cloud पर एआई आर्किटेक्चर को एंड-टू-एंड डेटा दिखाने का एक बेहतरीन तरीका है. पूरे आर्किटेक्चर को समझने के लिए, आपको धोखाधड़ी के मामलों का विशेषज्ञ होने की ज़रूरत नहीं है. आर्किटेक्चर के इस पैटर्न को, इस्तेमाल के अन्य उदाहरणों पर भी लागू किया जा सकता है.

नीचे, आपको FraudFinder के आर्किटेक्चर के बारे में खास जानकारी मिलेगी:

FraudFinder आर्किटेक्चर

डेटासेट

इस डेटासेट को Kaggle के Machine Learning for Credit Card Fraud Detection - Practical Handbook प्रोजेक्ट के कोड का इस्तेमाल करके बनाया गया है. रीयल-टाइम में धोखाधड़ी का पता लगाने की सुविधा, बैच के आधार पर धोखाधड़ी का पता लगाने की सुविधा से अलग होती है. इसकी ये विशेषताएं हैं:

  • अनुमान लगाने के अनुरोधों की फ़्रीक्वेंसी ज़्यादा होना (जैसे, हर सेकंड में 1,000 अनुरोध)
  • अनुमान के अनुरोध → जवाब के लिए कम लेटेंसी (जैसे, < 1 सेकंड)
  • अनुमान लगाने का अनुरोध करने पर, आम तौर पर हर सैंपल के लिए एक अनुमान लगाया जाता है.इसके अलावा, अनुमान "माइक्रो-बैच" में भी लगाया जा सकता है. उदाहरण के लिए, रीयल-टाइम के आस-पास अनुमान लगाने के लिए, 1,000 लेन-देन को एक बैच के तौर पर भेजा जाता है
  • विज्ञापन दिखाने के लिए फ़ीचर इंजीनियरिंग, पहले से कैलकुलेट की गई होनी चाहिए या रीयल-टाइम में कैलकुलेट की जानी चाहिए

FraudFinder का पुराना डेटासेट

BigQuery में, पेमेंट के पुराने लेन-देन की जानकारी देने वाली सार्वजनिक टेबल मौजूद हैं. इनकी मदद से, उपयोगकर्ता अपने मॉडल को ट्रेन कर सकते हैं. साथ ही, BigQuery में मौजूद डेटा का इस्तेमाल करके, फ़ीचर इंजीनियरिंग कर सकते हैं.

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)  

रीयल-टाइम में डेटा क्यों देखना चाहिए?

इस लैब में, आपको रीयल-टाइम डेटा का इस्तेमाल करने का तरीका सिखाया जाएगा. साथ ही, रीयल-टाइम फ़ीचर इंजीनियरिंग और अनुमान लगाने के तरीके के बारे में बताया जाएगा. रीयल-टाइम सुविधाओं की मदद से, अपने मॉडल को बेहतर बनाया जा सकता है. इसके लिए, उन सिग्नल का इस्तेमाल किया जा सकता है जिन्हें अनुमान के समय इस्तेमाल नहीं किया जा सकता.

FraudFinder लाइव, स्ट्रीमिंग डेटा

FraudFinder लैब के तहत, सार्वजनिक Pub/Sub विषय उपलब्ध हैं. इनमें लाइव स्ट्रीमिंग के पेमेंट से जुड़े लेन-देन की जानकारी होती है. इससे उपयोगकर्ता, अपने मॉडल के एंडपॉइंट और स्ट्रीम की सुविधाओं को आसानी से टेस्ट कर सकते हैं. Pub/Sub, एसिंक्रोनस और स्केलेबल मैसेज सेवा है. इन विषयों का इस्तेमाल, स्ट्रीम करने की सुविधाओं और ऑनलाइन इन्फ़रेंस के लिए किया जाएगा. उपयोगकर्ता, मॉडल मॉनिटरिंग दिखाने के लिए, ऐसे विषयों के बीच भी स्विच कर सकते हैं जिनमें धोखाधड़ी की दरें, बेसलाइन की तुलना में ज़्यादा हैं. ये सार्वजनिक Pub/Sub विषय उपलब्ध हैं:

  • ff-tx
  • ff-txlabels

4. अपना प्रोजेक्ट और नोटबुक इंस्टेंस सेट अप करना

इस लैब को चलाने के लिए, आपके पास बिलिंग की सुविधा वाला Google Cloud Platform प्रोजेक्ट होना चाहिए. प्रोजेक्ट बनाने के लिए, निर्देशों का पालन करें.

अहम जानकारी: हमारा सुझाव है कि आप इस लैब को नए प्रोजेक्ट में चलाएं. इस लैब में कई अलग-अलग प्रॉडक्ट शामिल हैं. लैब पूरा होने के बाद, पूरे प्रोजेक्ट को मिटाना सबसे आसान तरीका है.

अगर आपके पास कोई प्रोजेक्ट है, तो कृपया यह तरीका अपनाएं. नीचे दिया गया तरीका, repo में मौजूद README.md फ़ाइल में भी देखा जा सकता है.

पहला चरण: एपीआई चालू करना

सबसे पहले, उस प्रोजेक्ट पर जाएं जिसे आपने अभी बनाया है और Cloud Shell खोलें. इस चरण में कुछ मिनट लग सकते हैं, क्योंकि अगर आपने पहले कभी Cloud Shell चालू नहीं किया है, तो यह एक नया Cloud Shell उपलब्ध कराएगा.

Cloud Shell

इसके बाद, Cloud Shell में यहां दिया गया कोड कॉपी करके चिपकाएं और लागू करें. यह स्क्रिप्ट, ज़रूरी एपीआई चालू करेगी. साथ ही, सार्वजनिक Pub/Sub विषयों से स्ट्रीमिंग लेन-देन पढ़ने के लिए, Pub/Sub सदस्यताएं बनाएगी. कृपया सभी निर्देशों को पूरा होने में कुछ समय दें.

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'

दूसरा चरण: Vertex AI Workbench इंस्टेंस बनाना

इसके बाद, अपने Cloud Console के Vertex AI सेक्शन पर जाएं. इसके बाद, Workbench पर जाएं:

Vertex AI मेन्यू

अगर Vertex AI Workbench (notebook API) एपीआई चालू नहीं है, तो इसे चालू करें'.

Notebook_api

चालू होने के बाद, USER-MANAGED NOTEBOOKS चुनें:

Notebooks_UI

इसके बाद, नई नोटबुक चुनें. Python 3 को चुना जा सकता है.

new_notebook

अपनी नोटबुक को कोई नाम दें, जैसे कि fraudfinder. इसके बाद, ऐडवांस सेटिंग पर क्लिक करें.

create_notebook

अहम जानकारी: पक्का करें कि आपने Permissions में जाकर Service Account को चुना हो.

सेवा खाता

अहम जानकारी: अगर सुरक्षा में जाकर "टर्मिनल चालू करें" विकल्प पहले से चालू नहीं है, तो इसे चालू करें.

enable_terminal

अन्य सभी ऐडवांस सेटिंग को डिफ़ॉल्ट रूप से सेट रहने दें.

इसके बाद, बनाएं पर क्लिक करें. इंस्टेंस को चालू होने में कुछ मिनट लगेंगे.

इंस्टेंस बन जाने के बाद, JupyterLab खोलें को चुनें.

open_jupyterlab

तीसरा चरण: IAM भूमिकाएं सेट करना

आसान बनाने के लिए, मान लेते हैं कि आपको Compute Engine के डिफ़ॉल्ट सेवा खाते का इस्तेमाल करना है. यह प्रोडक्शन वर्कलोड के लिए सबसे सही तरीका नहीं है. सबसे सही तरीका यह है कि हर ऐप्लिकेशन के लिए अलग-अलग सेवा खाते बनाए जाएं. साथ ही, डिफ़ॉल्ट सेवा खातों का इस्तेमाल न किया जाए. सेवा खाते के सबसे सही तरीकों के बारे में ज़्यादा जानने के लिए, हमारा दस्तावेज़ पढ़ें. डिफ़ॉल्ट कंप्यूट सेवा खाता कुछ ऐसा दिखेगा: 123456789123-compute@developer.gserviceaccount.com. IAM एडमिन पर जाएं और ADD पर क्लिक करें. व्यू में, Compute Engine के डिफ़ॉल्ट सेवा खाते को खोजें और चुनें. इसके बाद, ये भूमिकाएं असाइन करें:

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

यह कुछ ऐसा दिखना चाहिए. नई सेटिंग सेव करना न भूलें!

iam-roles.png

चौथा चरण: GitHub repo को क्लोन करना

नोटबुक इंस्टेंस बनाने और उसे ऐक्सेस करने के बाद, अब आपको अपना एनवायरमेंट सेट अप करना होगा. सबसे पहले, टर्मिनल विंडो खोलें.

टर्मिनल खोलें

अपनी नोटबुक के टर्मिनल में, यहां दिए गए निर्देश को कॉपी करें, चिपकाएं, और चलाएं:

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

इस कमांड को चलाने से, FraudFinder रिपॉज़िटरी आपके नोटबुक इंस्टेंस में क्लोन हो जाएगी. git clone चलाने के बाद, आपको बाईं ओर मौजूद अपने Notebook इंस्टेंस में fraudfinder फ़ोल्डर दिखेगा. अब fraudfinder फ़ोल्डर पर जाएं. यहां आपको लैब के लिए ज़रूरी नोटबुक मिलेंगी.

अगले सेक्शन से, आपको नोटबुक में दिए गए निर्देशों का पालन करना होगा. कृपया एनवायरमेंट सेटअप करना जारी रखें.

5. एनवायरमेंट सेटअप करना

इस सेक्शन में, प्रोजेक्ट एनवायरमेंट सेट अप करने का तरीका बताया गया है. इस सेक्शन में, आपको इन विषयों के बारे में जानकारी मिलेगी:

  • पैकेज के साथ-साथ अपना एनवायरमेंट सेट अप करें.
  • BigQuery में डेटा लोड करें.
  • सार्वजनिक Pub/Sub विषयों से डेटा पढ़ता है.

कृपया इस नोटबुक का इस्तेमाल करें और दिए गए निर्देशों का पालन करें:

  • 00_environment_setup.ipynb

6. एक्सप्लोरेट्री डेटा ऐनलिसिस

इस सेक्शन में, आपको एक्सप्लोरेटरी डेटा विश्लेषण करने का तरीका बताया जाएगा, ताकि धोखाधड़ी से जुड़े डेटा को बेहतर तरीके से समझा जा सके. इस सेक्शन में, आपको इन विषयों के बारे में जानकारी मिलेगी:

  • SQL का इस्तेमाल करके, BigQuery से डेटा निकालना और उसे एक्सप्लोर करना
  • BigQuery और Plotly का इस्तेमाल करके लेन-देन का डेटा प्लॉट करना
  • डेटा एग्रीगेशन लागू करना और स्कैटर प्लॉट बनाना

कृपया अगली नोटबुक पर जाएं और यहां दिए गए निर्देशों का पालन करें:

  • 01_exploratory_data_analysis.ipynb

7. बैच और स्ट्रीमिंग के लिए फ़ीचर इंजीनियरिंग

इस सेक्शन में, आपको फ़ीचर इंजीनियरिंग पर काम करना होगा. इससे रॉ डेटा से मॉडल ट्रेनिंग के लिए फ़ीचर जनरेट की जा सकेंगी. हम बैच और स्ट्रीमिंग का इस्तेमाल करेंगे. धोखाधड़ी का पता लगाने के लिए, दोनों इस्तेमाल के उदाहरणों को कवर करना ज़रूरी है. इस सेक्शन में, आपको इन विषयों के बारे में जानकारी मिलेगी:

  • BigQuery और एसक्यूएल का इस्तेमाल करके सुविधाएं बनाने का तरीका
  • Vertex AI Feature Store बनाना और उसमें डेटा डालना
  • स्ट्रीमिंग डेटा को कैसे मैनेज करें और उसे फ़ीचर स्टोर में कैसे शामिल करें

कृपया इस क्रम में इन दो नोटबुक का इस्तेमाल करें और नोटबुक में दिए गए निर्देशों का पालन करें:

  • 02_feature_engineering_batch.ipynb
  • 03_feature_engineering_streaming.ipynb

8. मॉडल ट्रेनिंग, अनुमान, फ़ॉर्मलाइज़ेशन, और निगरानी

इस सेक्शन में, संभावित धोखाधड़ी के मामलों का पता लगाने के लिए, BigQuery Model की पहली मॉडल को ट्रेन और डिप्लॉय किया जाएगा. आपको ट्रेनिंग और डिप्लॉयमेंट कोड को लेने और उसे अपने-आप काम करने वाली पाइपलाइन में बदलने का तरीका भी सिखाया जाएगा. आपको ऑनलाइन अनुमान लगाने और प्रोडक्शन में अपने मॉडल को मॉनिटर करने का तरीका भी बताया जाएगा. इस सेक्शन में, आपको इन विषयों के बारे में जानकारी मिलेगी:

  • BigQuery ML मॉडल को ट्रेन करने और उसे Vertex AI Model Registry पर रजिस्टर करने का तरीका
  • मॉडल को Vertex AI पर एंडपॉइंट के तौर पर डिप्लॉय करना
  • Vertex AI SDK का इस्तेमाल कैसे करें
  • BigQuery ML मॉडल का इस्तेमाल करके, एंड-टू-एंड एमएल पाइपलाइन कैसे बनाई जा सकती है
  • Vertex AI Model Monitoring को इस्तेमाल करने का तरीका

कृपया इस क्रम में दी गई नोटबुक का इस्तेमाल करें और नोटबुक में दिए गए निर्देशों का पालन करें. नोटबुक, BQML फ़ोल्डर में मिलेंगी. नोटबुक में दिए गए हर चरण को फ़ॉलो करें:

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

आपने Google Cloud पर डेटा से एआई तक का आर्किटेक्चर बनाने का तरीका जान लिया है!

9. साफ़-सफ़ाई सेवा

हमारा सुझाव है कि आप इस लैब को नए प्रोजेक्ट पर चलाएं. इस लैब में कई अलग-अलग प्रॉडक्ट शामिल हैं. इसलिए, लैब पूरा होने के बाद पूरे प्रोजेक्ट को मिटाना सबसे आसान तरीका है. प्रोजेक्ट मिटाने के तरीके के बारे में ज़्यादा जानने के लिए, हमारा दस्तावेज़ पढ़ें.

अगर आपको सेवाएं मिटानी हैं, तो कृपया Notebooks में दिए गए निर्देशों का पालन करें या बनाए गए संसाधनों को मिटाएं.