1. ওভারভিউ
এই ল্যাবে, আপনি BigQuery মেশিন লার্নিং -এর সাথে একটি মডেলকে প্রশিক্ষণ দেবেন, এবং তারপর সেই মডেলটিকে Vertex AI- তে রপ্তানি ও স্থাপন করবেন। এটি Google ক্লাউডে অফার করা নতুন AI পণ্য।
আপনি কি শিখুন
আপনি কিভাবে শিখবেন:
- BigQuery মেশিন লার্নিং (BQML) এর মাধ্যমে একটি মডেলকে প্রশিক্ষণ দিন
- ক্লাউড স্টোরেজে আপনার BQML মডেল রপ্তানি করুন
- আপনার প্রশিক্ষিত BQML ভার্টেক্স এআইতে স্থাপন করুন
- আপনার নিয়োজিত মডেলের পূর্বাভাস পান
Google ক্লাউডে এই ল্যাবটি চালানোর জন্য মোট খরচ প্রায় $2 ।
2. ভার্টেক্স এআই-এর ভূমিকা
এই ল্যাবটি Google ক্লাউডে উপলব্ধ নতুন AI পণ্য অফার ব্যবহার করে। Vertex AI Google ক্লাউড জুড়ে ML অফারগুলিকে একটি নিরবচ্ছিন্ন বিকাশের অভিজ্ঞতায় সংহত করে৷ পূর্বে, অটোএমএল এবং কাস্টম মডেলগুলির সাথে প্রশিক্ষিত মডেলগুলি পৃথক পরিষেবার মাধ্যমে অ্যাক্সেসযোগ্য ছিল। নতুন অফারটি অন্যান্য নতুন পণ্যের সাথে একটি একক API-এ উভয়কে একত্রিত করে। আপনি বিদ্যমান প্রকল্পগুলিকে Vertex AI-তে স্থানান্তর করতে পারেন। আপনার কোন প্রতিক্রিয়া থাকলে, অনুগ্রহ করে সমর্থন পৃষ্ঠাটি দেখুন।
Vertex AI এন্ড-টু-এন্ড ML ওয়ার্কফ্লো সমর্থন করার জন্য বিভিন্ন পণ্য অন্তর্ভুক্ত করে। এই ল্যাবটি নীচে হাইলাইট করা পণ্যগুলিতে ফোকাস করবে: পূর্বাভাস এবং নোটবুক।
3. আপনার পরিবেশ সেটআপ করুন
এই কোডল্যাব চালানোর জন্য আপনার একটি Google ক্লাউড প্ল্যাটফর্ম প্রকল্পের প্রয়োজন হবে যাতে বিলিং সক্ষম থাকে৷ একটি প্রকল্প তৈরি করতে, এখানে নির্দেশাবলী অনুসরণ করুন।
ধাপ 1: Compute Engine API সক্ষম করুন
কম্পিউট ইঞ্জিনে নেভিগেট করুন এবং সক্ষম নির্বাচন করুন যদি এটি ইতিমধ্যে সক্ষম না থাকে। আপনার নোটবুক উদাহরণ তৈরি করতে আপনার এটির প্রয়োজন হবে৷
ধাপ 2: Vertex AI API সক্ষম করুন
আপনার ক্লাউড কনসোলের Vertex AI বিভাগে নেভিগেট করুন এবং Vertex AI API সক্ষম করুন ক্লিক করুন।
ধাপ 3: একটি নোটবুক উদাহরণ তৈরি করুন
আমরা আমাদের মডেল স্থাপন করার পরে ভবিষ্যদ্বাণী পেতে নোটবুকগুলি ব্যবহার করব৷ আপনার ক্লাউড কনসোলের ভার্টেক্স এআই বিভাগ থেকে, নোটবুকগুলিতে ক্লিক করুন:
সেখান থেকে নতুন ইনস্ট্যান্স নির্বাচন করুন। তারপর GPU ছাড়া টেনসরফ্লো এন্টারপ্রাইজ 2.3 ইনস্ট্যান্স টাইপ নির্বাচন করুন:
ডিফল্ট বিকল্পগুলি ব্যবহার করুন এবং তারপরে তৈরি করুন ক্লিক করুন। একবার উদাহরণ তৈরি হয়ে গেলে, JupyterLab খুলুন নির্বাচন করুন:
4. একটি BigQuery ML মডেল প্রশিক্ষিত করুন৷
BigQuery ML আপনাকে BigQuery-এ সঞ্চিত ডেটা ব্যবহার করে কাস্টম মেশিন লার্নিং মডেল প্রশিক্ষণ দিতে দেয়। আপনি SQL-এ সমস্ত মডেল থেকে প্রশিক্ষণ নিতে এবং ভবিষ্যদ্বাণী পেতে পারেন। এই ল্যাবের জন্য, আমরা একটি ক্রেডিট কার্ড পেমেন্টে ডিফল্ট হওয়ার সম্ভাবনার পূর্বাভাস দিতে BigQuery-এ একটি সর্বজনীনভাবে উপলব্ধ ডেটাসেট ব্যবহার করব।
ধাপ 1: আপনার প্রকল্পে একটি BigQuery ডেটাসেট তৈরি করুন
BigQuery ML-এ একটি মডেলকে প্রশিক্ষণ দেওয়ার জন্য, আপনাকে এই মডেলটি সংরক্ষণ করার জন্য আপনার প্রকল্পের মধ্যে একটি ডেটাসেট তৈরি করতে হবে। বাম মেনু বারে আপনার প্রকল্পে ক্লিক করুন, এবং তারপরে ডেটাসেট তৈরি করুন নির্বাচন করুন :
ডেটাসেট আইডি ক্ষেত্রে, cc_default
লিখুন। বাকি ক্ষেত্রগুলিকে যেমন আছে তেমন ছেড়ে দিন এবং ডেটাসেট তৈরি করুন ক্লিক করুন।
ধাপ 2: একটি তৈরি মডেল কোয়েরি চালান
BigQuery ক্যোয়ারী এডিটরে , আমরা যে পাবলিক ডেটাসেট ব্যবহার করব তাতে একটি BigQuery ML মডেল তৈরি এবং প্রশিক্ষণের জন্য নিম্নলিখিত CREATE MODEL
কোয়েরি চালান। আপনার ক্লাউড প্রকল্পের নামের সাথে your-project
প্রতিস্থাপন করতে ভুলবেন না:
CREATE OR REPLACE MODEL
`your-project.cc_default.logistic_model` OPTIONS(model_type='LOGISTIC_REG',
input_label_cols=['default_payment_next_month']) AS
SELECT
limit_balance,
sex,
education_level,
marital_status,
age,
pay_0,
pay_2,
pay_3,
pay_4,
pay_5,
pay_6,
bill_amt_1,
bill_amt_2,
bill_amt_3,
bill_amt_4,
bill_amt_5,
bill_amt_6,
pay_amt_1,
pay_amt_2,
pay_amt_3,
pay_amt_4,
pay_amt_5,
pay_amt_6,
default_payment_next_month
FROM
`bigquery-public-data.ml_datasets.credit_card_default`
এটি একটি লজিস্টিক রিগ্রেশন মডেল তৈরি করবে যা 0 থেকে 1 পর্যন্ত একটি সংখ্যাসূচক মান আউটপুট করে, যা নির্দেশ করে যে এটি চালানোর জন্য প্রায় এক মিনিট সময় লাগবে। এটি সম্পূর্ণ হলে, আপনি আপনার ডেটাসেটের অধীনে মডেলটি দেখতে পাবেন:
আপনি মডেলটির প্রশিক্ষণ এবং মূল্যায়ন মেট্রিক্স দেখতে ক্লিক করতে পারেন।
5. আপনার BigQuery ML মডেল রপ্তানি করুন৷
একটি প্রশিক্ষিত BQML মডেলের সাহায্যে, আমরা ভবিষ্যদ্বাণী পেতে BQML SQL সিনট্যাক্স ব্যবহার করতে পারি বা আমরা মডেলটিকে অন্য কোথাও স্থাপন করতে রপ্তানি করতে পারি। এখানে আমরা আমাদের মডেলটি রপ্তানি করব যাতে আমরা মডেলটিকে স্কেলেবভাবে পরিবেশন করতে এবং ভবিষ্যদ্বাণী পেতে এটিকে Vertex AI-তে স্থাপন করতে পারি।
ধাপ 1: আপনার মডেলের জন্য একটি ক্লাউড স্টোরেজ বালতি তৈরি করুন
মডেলের বিবরণে, রপ্তানি মডেল ক্লিক করুন:
এটি আপনাকে Google ক্লাউড স্টোরেজ (GCS) অবস্থানে প্রবেশ করতে অনুরোধ করবে যেখানে আপনি আপনার মডেলের সম্পদগুলি রপ্তানি করতে চান৷ আপনার যদি এখনও একটি GCS বালতি না থাকে, চিন্তা করবেন না! আমরা একটি তৈরি করতে যাচ্ছি. প্রথমে, ব্রাউজ ক্লিক করুন:
তারপরে একটি নতুন বালতি তৈরি করতে + আইকনে ক্লিক করুন:
এটিকে একটি অনন্য নাম দিন (স্টোরেজ বাকেটের নাম বিশ্বব্যাপী অনন্য হওয়া প্রয়োজন)। অবিরত ক্লিক করুন. পরবর্তী ধাপে, অবস্থানের প্রকারের অধীনে অঞ্চল নির্বাচন করুন এবং ড্রপডাউন থেকে যেকোনো অঞ্চল বেছে নিন:
ডিফল্ট স্টোরেজ ক্লাস ব্যবহার করুন, এবং অ্যাক্সেস নিয়ন্ত্রণের অধীনে ইউনিফর্ম নির্বাচন করা হয়েছে তা নিশ্চিত করুন:
অবিরত ক্লিক করুন এবং বাকি বিকল্পগুলির জন্য ডিফল্টগুলি ব্যবহার করুন৷ তারপর Create এ ক্লিক করুন।
ধাপ 2: BQML মডেল রপ্তানি করুন
আপনার নতুন বালতি তৈরি করে, নাম ক্ষেত্রে model-assets
(বা আপনি যা চান) লিখুন এবং তারপর নির্বাচন করুন ক্লিক করুন:
তারপর Export এ ক্লিক করুন। TensorFlow-এর SavedModel ফর্ম্যাটে আপনার নির্দিষ্ট করা নতুন GCS বাকেটটিতে আপনার মডেল এক্সপোর্ট করার জন্য এটি BigQuery-এ একটি চাকরি তৈরি করবে। এটি রপ্তানি করতে প্রায় এক মিনিট সময় লাগবে।
যখন আপনার মডেল রপ্তানি করা হচ্ছে, তখন আপনার ক্লাউড কনসোলের স্টোরেজ বিভাগে নেভিগেট করুন। আপনার কাজ শেষ হলে, আপনার model-assets
সাব-ডিরেক্টরির অধীনে তৈরি করা বালতিতে আপনার মডেল সম্পদ রপ্তানি করা দেখতে হবে:
6. Vertex AI-তে মডেলটি আমদানি করুন
এই ধাপে আমরা GCS স্টোরেজ অবস্থানের উল্লেখ করব যেখানে আমরা এইমাত্র Vertex AI-তে মডেল তৈরি এবং আমদানি করতে আমাদের মডেল সম্পদগুলি রপ্তানি করেছি।
ধাপ 1: মডেলটি আমদানি করুন
আপনার ক্লাউড কনসোলে, Vertex AI মডেল বিভাগে নেভিগেট করুন। সেখান থেকে, আমদানি নির্বাচন করুন:
প্রথম ধাপে, আপনার মডেলটিকে predict_default
নাম দিন। আপনি যেখানে আপনার বালতি তৈরি করেছেন সেই একই অঞ্চল নির্বাচন করুন (হয় us-central1 , europe-west4 , অথবা asia-east1 । তারপর Continue- এ ক্লিক করুন। মডেল সেটিংসে , "একটি নতুন প্রাক-নির্মিত পাত্রে মডেলের শিল্পকর্ম আমদানি করুন" নির্বাচন করুন।
মডেল ফ্রেমওয়ার্ক ড্রপডাউনে, TensorFlow নির্বাচন করুন। তারপর ফ্রেমওয়ার্ক সংস্করণ হিসাবে 2.3 নির্বাচন করুন।
মডেল আর্টিফ্যাক্ট অবস্থান ক্ষেত্রে, ব্রাউজ ক্লিক করুন, আপনার তৈরি করা GCS বাকেটটিতে ক্লিক করুন এবং মডেল-সম্পদ ডিরেক্টরিতে ক্লিক করুন:
তারপর Import এ ক্লিক করুন। আপনার মডেল আমদানি করতে কয়েক মিনিট সময় লাগবে। এটি তৈরি হয়ে গেলে, আপনি এটিকে আপনার ক্লাউড কনসোলের মডেল বিভাগে দেখতে পাবেন:
7. একটি শেষ পয়েন্টে মডেল স্থাপন করুন
এখন যেহেতু আমরা আমাদের মডেল আপলোড করেছি, পরবর্তী ধাপ হল ভার্টেক্সে একটি এন্ডপয়েন্ট তৈরি করা। Vertex-এ একটি মডেল রিসোর্স এর সাথে যুক্ত একাধিক এন্ডপয়েন্ট থাকতে পারে এবং আপনি এন্ডপয়েন্টের মধ্যে ট্রাফিক বিভক্ত করতে পারেন।
ধাপ 1: একটি শেষ পয়েন্ট তৈরি করা
আপনার মডেল পৃষ্ঠায়, ডিপ্লোয় এবং টেস্ট ট্যাবে নেভিগেট করুন এবং শেষ পয়েন্টে ডিপ্লোয় ক্লিক করুন:
আপনার এন্ডপয়েন্টকে একটি নাম দিন, যেমন default_pred_v1
, ট্র্যাফিক বিভাজন সেটিংস যেমন আছে তেমনই ছেড়ে দিন এবং তারপরে আপনার মডেল স্থাপনার জন্য একটি মেশিনের ধরন নির্বাচন করুন। আমরা এখানে একটি n1-highcpu-2
ব্যবহার করেছি, কিন্তু আপনি যে কোনো ধরনের মেশিন বেছে নিতে পারেন।
তারপর সম্পন্ন নির্বাচন করুন এবং অবিরত ক্লিক করুন। নির্বাচিত অবস্থান সেটিংস যেমন আছে তেমনই রেখে দিন এবং তারপরে ডিপ্লোয় ক্লিক করুন। আপনার শেষ পয়েন্ট স্থাপন করতে কয়েক মিনিট সময় লাগবে। এটি সম্পন্ন হলে আপনি এটির পাশে একটি সবুজ চেক চিহ্ন দেখতে পাবেন:
আপনি কাছাকাছি হচ্ছে! এখন আপনি আপনার নিয়োজিত মডেলের পূর্বাভাস পেতে প্রস্তুত৷
8. আমাদের স্থাপন করা মডেলের পূর্বাভাস পাওয়া
মডেল ভবিষ্যদ্বাণী পাওয়ার জন্য কয়েকটি বিকল্প রয়েছে:
- ভার্টেক্স এআই UI
- Vertex AI API
এখানে আমরা দেখাবো কিভাবে API এর মাধ্যমে ভবিষ্যদ্বাণী পেতে হয়
ধাপ 1: Vertex AI API দিয়ে মডেলের ভবিষ্যদ্বাণী পান
এখানে মডেলের ভবিষ্যদ্বাণীগুলি কীভাবে পেতে হয় তা দেখানোর জন্য, আমরা এই ল্যাবের শুরুতে আপনার তৈরি করা ভার্টেক্স নোটবুক উদাহরণটি ব্যবহার করব।
এরপরে, আপনি যে নোটবুকটি তৈরি করেছেন সেটি খুলুন এবং লঞ্চার থেকে একটি পাইথন 3 নোটবুক খুলুন:
আপনার নোটবুকে, default-pred.json
নামের একটি JSON ফাইলে একটি পরীক্ষার উদাহরণ লিখতে একটি ঘরে নিম্নলিখিতটি চালান। ভবিষ্যদ্বাণীর জন্য আমরা এই উদাহরণটি আমাদের মডেলে পাঠাব:
%%writefile default-pred.json
{
"instances": [
{"age": 39,
"bill_amt_1": 47174,
"bill_amt_2": 47974,
"bill_amt_3": 48630,
"bill_amt_4": 50803,
"bill_amt_5": 30789,
"bill_amt_6": 15874,
"education_level": "1",
"limit_balance": 50000,
"marital_status": "2",
"pay_0": 0,
"pay_2":0,
"pay_3": 0,
"pay_4": 0,
"pay_5": "0",
"pay_6": "0",
"pay_amt_1": 1800,
"pay_amt_2": 2000,
"pay_amt_3": 3000,
"pay_amt_4": 2000,
"pay_amt_5": 2000,
"pay_amt_6": 2000,
"sex": "1"}
]
}
এরপরে, Vertex UI-তে, আপনি এইমাত্র যে এন্ডপয়েন্টটি স্থাপন করেছেন তার জন্য নমুনা অনুরোধে ক্লিক করুন:
আপনার নোটবুকে REST ট্যাবে ধাপ 4 থেকে কোডটি কপি করুন এবং সেলটি চালান:
তারপরে আপনি যে অঞ্চলে আপনার বালতি এবং মডেল তৈরি করেছেন তার জন্য একটি পরিবর্তনশীল যুক্ত করুন। নীচের স্ট্রিং-এ your-region
প্রতিস্থাপন করুন:
REGION="your-region" # either us-central1, europe-west4, or asia-east1
অবশেষে, আপনার নোটবুকে নিম্নলিখিত কোডটি অনুলিপি করে curl
সহ আপনার শেষ পয়েন্টে একটি ভবিষ্যদ্বাণী অনুরোধ করুন:
!curl \
-X POST \
-H "Authorization: Bearer $(gcloud auth print-access-token)" \
-H "Content-Type: application/json" \
https://us-central1-prediction-aiplatform.googleapis.com/v1alpha1/projects/$PROJECT_ID/locations/$REGION/endpoints/$ENDPOINT_ID:predict \
-d "@default-pred.json"
আপনি নিম্নলিখিত মত কিছু দেখতে হবে (সঠিক ভবিষ্যদ্বাণী মান সামান্য পরিবর্তিত হবে):
{
"predictions": [
{
"default_payment_next_month_values": [
"1",
"0"
],
"default_payment_next_month_probs": [
0.180815295299778,
0.819184704700222
],
"predicted_default_payment_next_month": [
"0"
]
}
],
"deployedModelId": "your-model-id"
}
default_payment_next_month_probs
এর মান প্রতিটি শ্রেণীর জন্য সম্ভাব্যতা দেখায়। এই উদাহরণের জন্য, আমাদের মডেল ভবিষ্যদ্বাণী করে যে এই ব্যক্তি তাদের পরবর্তী অর্থপ্রদানে ডিফল্ট না হওয়ার 81% সম্ভাবনা রয়েছে। .819
মান 0
ক্লাসের সাথে মিলে যায় (ডিফল্ট নয়)।
🎉 অভিনন্দন! 🎉
আপনি শিখেছেন কিভাবে:
- BQML এ একটি মডেলকে প্রশিক্ষণ দিন
- ক্লাউড স্টোরেজে আপনার BQML মডেল রপ্তানি করুন
- পূর্বাভাসের জন্য BQML মডেলটিকে Vertex AI-তে আমদানি করুন
- একটি ভার্টেক্স এআই মডেল তৈরি করুন এবং মডেলটিকে একটি শেষ পয়েন্টে স্থাপন করুন
- Vertex Notebooks এবং curl এর মাধ্যমে আপনার নিয়োজিত এন্ডপয়েন্টের পূর্বাভাস পান
Vertex AI এর বিভিন্ন অংশ সম্পর্কে আরও জানতে, ডকুমেন্টেশন দেখুন।
9. পরিচ্ছন্নতা
আপনি যদি এই ল্যাবে তৈরি করা নোটবুকটি ব্যবহার চালিয়ে যেতে চান, তাহলে এটি ব্যবহার না করার সময় এটি বন্ধ করার পরামর্শ দেওয়া হয়। আপনার ক্লাউড কনসোলের নোটবুক UI থেকে, নোটবুকটি নির্বাচন করুন এবং তারপরে থামুন নির্বাচন করুন:
আপনি যদি নোটবুকটি সম্পূর্ণরূপে মুছে ফেলতে চান তবে উপরের ডানদিকে মুছুন বোতামটি ক্লিক করুন।
আপনার মোতায়েন করা এন্ডপয়েন্ট মুছতে, আপনার Vertex AI কনসোলের এন্ডপয়েন্ট বিভাগে নেভিগেট করুন এবং মুছুন আইকনে ক্লিক করুন:
আপনার ক্লাউড কনসোলে নেভিগেশন মেনু ব্যবহার করে স্টোরেজ বাকেট মুছে ফেলতে, স্টোরেজ ব্রাউজ করুন, আপনার বালতি নির্বাচন করুন এবং মুছুন ক্লিক করুন: