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

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

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

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

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

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

ज़रूरी जानकारी: Google Cloud पर इस लैब को चलाने का खर्च करीब $100 है.

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

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

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

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

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

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

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

नीचे आपको FloFinder आर्किटेक्चर की खास जानकारी दी गई है:

फ़्रॉडफ़ाइंडर आर्किटेक्चर

डेटासेट

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

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

धोखाधड़ी करने के लिए इस्तेमाल होने वाला पुराना डेटासेट

पहले से किए गए पेमेंट के लेन-देन के साथ-साथ, सार्वजनिक 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)  

रीयल-टाइम में क्यों?

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

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

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

  • ff-tx
  • ff-txlabels

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

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

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

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

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

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

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 सेक्शन पर जाएं. फिर वर्कबेंच पर जाएं:

Vertex AI का मेन्यू

अगर Vertex AI Workbench (notebook API) API को चालू नहीं किया जाता है, तो उसे चालू करें'.

Notebook_api

चालू होने के बाद, उपयोगकर्ता की ओर से मैनेज की गई नोटबुक चुनें:

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. आईएएम एडमिन पर जाएं और ADD पर क्लिक करें. व्यू में, Compute Engine का डिफ़ॉल्ट सेवा खाता खोजें और चुनें. इसके बाद, ये भूमिकाएं असाइन करें:

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

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

iam-roles.png

चौथा चरण: GitHub रेपो का क्लोन बनाना

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

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

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

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

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

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

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

इस सेक्शन में, प्रोजेक्ट एनवायरमेंट को सेट अप करने का तरीका बताया जाएगा. इस सेक्शन में, सीखने के इन मकसद के बारे में बताया जाएगा:

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

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

  • 00_environment_setup.ipynb

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

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

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

कृपया अगली Notebook के साथ जारी रखें और सिलसिलेवार निर्देशों का पालन करें:

  • 01_exploratory_data_analysis.ipynb

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

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

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

कृपया इस क्रम में नीचे दी गई दो नोटबुक के साथ जारी रखें और Notebook में दिए गए निर्देशों का पालन करें:

  • 02_feature_engineering_batch.ipynb
  • 03_feature_engineering_streaming.ipynb

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

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

  • BigQuery ML मॉडल को ट्रेनिंग देने और Vertex AI Model Registry पर रजिस्टर करने का तरीका
  • मॉडल को Vertex AI में एंडपॉइंट के तौर पर डिप्लॉय करने का तरीका
  • Vertex AI SDK टूल को इस्तेमाल करने का तरीका
  • BigQuery एमएल मॉडल लेकर, पूरी तरह से एमएल पाइपलाइन बनाने का तरीका
  • Vertex AI मॉडल मॉनिटरिंग की सुविधा को इस्तेमाल करने का तरीका

कृपया इस क्रम में नीचे दी गई Notebook के साथ जारी रखें और Notebooks में दिए गए निर्देशों का पालन करें. ये नोटबुक, BQML फ़ोल्डर में मौजूद हैं. Notebook के सिलसिलेवार निर्देशों का पालन करें:

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

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

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

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

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