ভার্টেক্স এআই অটোএমএল সহ মুভি রেটিং পূর্বাভাস

1. ভূমিকা

এই কোডল্যাবে, আমরা Vertex AI AutoML ব্যবহার করে একটি মুভি স্কোর পূর্বাভাস মডেল তৈরি করব এবং জাভা ক্লাউড ফাংশন থেকে মোতায়েন করা মডেল এন্ডপয়েন্ট ট্রিগার করব। মডেলটিকে BigQuery-এ সঞ্চিত এবং Vertex AI-তে নিবন্ধিত ডেটা দিয়ে প্রশিক্ষিত করা হয়েছে। পরিষেবার তালিকা দুটি বিভাগে গঠিত হতে পারে:

  1. এমএল মডেল তৈরি এবং স্থাপনা
  2. ML API ব্যবহার করে পূর্বাভাস দিতে ট্রিগার করুন

এমএল মডেল তৈরি:

  1. CSV থেকে BigQuery-এ ডেটা উৎস করা হয়েছে
  2. BigQuery ডেটা AutoML মডেল তৈরির জন্য Vertex AI-তে একীভূত করা হয়েছে
  3. এন্ডপয়েন্ট API তৈরি করার জন্য Vertex AI মডেল রেজিস্ট্রিতে মডেল স্থাপন করা হয়েছে

ML API ব্যবহার করে পূর্বাভাস দিতে ট্রিগার করুন:

  1. জাভা ক্লাউড ফাংশন নিয়োজিত অটোএমএল মডেলের শেষ পয়েন্টের আহ্বান ট্রিগার করতে যা UI থেকে অনুরোধ হিসাবে মুভির বিশদ গ্রহণ করে, পূর্বাভাসিত মুভি স্কোর প্রদান করে

নীচে অ্যাপ্লিকেশনটির উচ্চ-স্তরের আর্কিটেকচারাল ওভারভিউ রয়েছে:

5ae50607c0f2db20.png

উপরের আর্কিটেকচারের প্রয়োগ এই কোডল্যাবের সুযোগের বাইরে কিন্তু আপনি যদি ক্লায়েন্ট অ্যাপ্লিকেশনটিও বিকাশ করতে চান তবে অনুগ্রহ করে ব্লগটি পড়ুন।

এর বাস্তবায়ন ধাপে ডুব দেওয়া যাক.

আপনি কি নির্মাণ করবেন

আপনি একটি তৈরি করবেন

  • একটি BigQuery ডেটাসেট যাতে টেবিল এবং মডেলের উপাদান থাকে
  • ভার্টেক্স এআই অটোএমএল মডেল (তৈরি এবং স্থাপন)
  • জাভা ক্লাউড ফাংশন ট্রিগার ML API ব্যবহার করে ভবিষ্যদ্বাণী করতে

2. প্রয়োজনীয়তা

নীচে পূর্বশর্ত রয়েছে:

আপনার প্রকল্প তৈরি করুন

  1. Google ক্লাউড কনসোলে , প্রকল্প নির্বাচক পৃষ্ঠায়, একটি Google ক্লাউড প্রকল্প নির্বাচন করুন বা তৈরি করুন।
  2. নিশ্চিত করুন যে আপনার ক্লাউড প্রকল্পের জন্য বিলিং সক্ষম করা আছে৷ একটি প্রকল্পে বিলিং সক্ষম কিনা তা পরীক্ষা করতে শিখুন।
  3. API সক্ষম করতে BigQuery- এ নেভিগেট করুন। এছাড়াও আপনি আপনার ব্রাউজারে নিম্নলিখিত URLটি প্রবেশ করে সরাসরি BigQuery ওয়েব UI খুলতে পারেন: https://console.cloud.google.com/bigquery

ক্লাউড শেল সক্রিয় করুন

  1. আপনি ক্লাউড শেল ব্যবহার করবেন, Google ক্লাউডে চলমান একটি কমান্ড-লাইন পরিবেশ যা bq এর সাথে প্রি-লোড করা হয় : ক্লাউড কনসোল থেকে, উপরের ডানদিকে কোণায় ক্লাউড শেল সক্রিয় করুন ক্লিক করুন: 6757b2fb50ddcc2d.png
  2. একবার ক্লাউড শেলের সাথে সংযুক্ত হয়ে গেলে, আপনি দেখতে পাবেন যে আপনি ইতিমধ্যেই প্রমাণীকরণ করেছেন এবং প্রকল্পটি ইতিমধ্যে আপনার প্রকল্প আইডিতে সেট করা আছে। আপনি প্রমাণীকৃত কিনা তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান:
gcloud auth list
  1. gcloud কমান্ড আপনার প্রকল্প সম্পর্কে জানে তা নিশ্চিত করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডটি চালান
gcloud config list project
  1. যদি আপনার প্রজেক্ট সেট করা না থাকে, তাহলে এটি সেট করতে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
gcloud config set project <PROJECT_ID>

জিক্লাউড কমান্ড এবং ব্যবহারের জন্য ডকুমেন্টেশন পড়ুন।

3. প্রশিক্ষণ তথ্য প্রস্তুত করা

এটি সমস্ত ডেটা সম্পর্কিত প্রকল্প, পণ্য এবং অ্যাপগুলির একটি প্রধান পদক্ষেপ যা একটি সর্বোত্তম ডেটাসেট প্রস্তুত করতে এবং এটিকে আপনার ML প্রকল্পের জন্য প্রস্তুত করতে প্রযুক্তি ছাড়াও প্রচুর ডোমেন দক্ষতার প্রয়োজন। এই কোডল্যাবের উদ্দেশ্যে আমরা ধরে নিতে যাচ্ছি যে ডেটা ইতিমধ্যে প্রস্তুত করা হয়েছে এবং এই ইতিমধ্যে প্রক্রিয়াকৃত ডেটা ফাইলটি ব্যবহার করব।

4. ডেটাসেট তৈরি এবং লোড করা

একটি BigQuery ডেটাসেট হল টেবিলের একটি সংগ্রহ৷ একটি ডেটাসেটের সমস্ত টেবিল একই ডেটা অবস্থানে সংরক্ষণ করা হয়। আপনি একটি ডেটাসেট এবং এর টেবিলগুলিতে অ্যাক্সেস সীমিত করতে কাস্টম অ্যাক্সেস নিয়ন্ত্রণগুলিও সংযুক্ত করতে পারেন।

  1. ক্লাউড শেলে, "চলচ্চিত্র" নামে একটি ডেটাসেট তৈরি করতে bq mk কমান্ডটি ব্যবহার করুন।
bq mk --location=<<LOCATION>> movies

একটি অঞ্চলে অবস্থান সেট করুন (এশিয়া-দক্ষিণ 1)। VERTEX AI ধাপের জন্যও এটিকে অঞ্চল হিসাবে সেট করতে মনে রাখবেন (উভয় দৃষ্টান্তই একই অঞ্চলে হওয়া উচিত)।

  1. নিশ্চিত করুন যে আপনার ডেটা ফাইল (.csv) প্রস্তুত আছে। সংগ্রহস্থল ক্লোন করতে এবং প্রকল্পে নেভিগেট করতে ক্লাউড শেলে নিম্নলিখিত কমান্ডগুলি চালান:
git clone <<repository link>>

cd movie-score
  1. একটি BigQuery টেবিলে আপনার CSV ফাইল লোড করতে bq লোড কমান্ড ব্যবহার করুন (দয়া করে মনে রাখবেন যে আপনি BigQuery UI থেকে সরাসরি আপলোড করতে পারেন):
bq load --source_format=CSV --skip_leading_rows=1 movies.movies_score \
./movies_bq_src.csv \ Id:numeric,name:string,rating:string,genre:string,year:numeric,released:string,score:string,director:string,writer:string,star:string,country:string,budget:numeric,company:string,runtime:numeric,data_cat:string
  1. 3টির মধ্যে একটি উপায়ে প্রশ্ন করুন:

আমরা BigQuery এর সাথে তিনটি উপায়ে ইন্টারঅ্যাক্ট করতে পারি, আমরা এর মধ্যে দুটি চেষ্টা করব: ক। BigQuery ওয়েব UI খ. bq কমান্ড গ. API

SELECT name, rating, genre, runtime FROM movies.movies_score limit 3;

আমি প্রশ্ন চালানোর জন্য BigQuery ওয়েব SQL ওয়ার্কস্পেস ব্যবহার করেছি। এসকিউএল ওয়ার্কস্পেস এই মত দেখায়:

109a0b2c7155e9b3.png

bq কমান্ড ব্যবহার করে:

bq query --use_legacy_sql=false \
SELECT name, rating, genre, runtime FROM movies.movies_score limit 3;

5. Vertex AI AutoML-এ BigQuery ডেটা ব্যবহার করা

Vertex AI দিয়ে সরাসরি একটি AutoML মডেল তৈরি করতে BigQuery থেকে আপনার ডেটা ব্যবহার করুন। মনে রাখবেন, আমরা BigQuery থেকে নিজেই AutoML করতে পারি এবং VertexAI-এর সাথে মডেলটিকে নিবন্ধন করতে পারি এবং শেষ পয়েন্টটি প্রকাশ করতে পারি। BigQuery AutoML- এর জন্য ডকুমেন্টেশন পড়ুন। এই উদাহরণে, তবে, আমরা আমাদের মডেল তৈরি করতে Vertex AI AutoML ব্যবহার করব।

একটি ভার্টেক্স এআই ডেটাসেট তৈরি করা হচ্ছে

Google ক্লাউড কনসোল থেকে Vertex AI-তে যান, Vertex AI API সক্ষম করুন যদি ইতিমধ্যে সম্পন্ন না হয়ে থাকে, ডেটা প্রসারিত করুন এবং ডেটাসেট নির্বাচন করুন, ডেটা সেট তৈরি করুন-এ ক্লিক করুন, ট্যাবুলার ডেটা টাইপ এবং "রিগ্রেশন / শ্রেণীবিভাগ" বিকল্পটি নির্বাচন করুন এবং তৈরি করুন ক্লিক করুন:

4104c75c34cbd2d9.png

ডেটা উত্স নির্বাচন করুন

পরবর্তী পৃষ্ঠায়, একটি ডেটা উত্স নির্বাচন করুন৷ "BigQuery থেকে একটি টেবিল বা ভিউ নির্বাচন করুন" বিকল্পটি বেছে নিন এবং BigQuery পাথ ব্রাউজ ফিল্ডে BigQuery থেকে টেবিলটি নির্বাচন করুন। অবিরত ক্লিক করুন.

মনে রাখবেন: BigQuery ইন্সট্যান্স এবং Vertex AI ডেটা সেটের একই অঞ্চল থাকা উচিত যাতে BigQuery টেবিলটি Vertex AI-তে দেখা যায়।

b787ef18dbca4cff.png

আপনি যখন আপনার সোর্স টেবিল/ভিউ নির্বাচন করছেন, ব্রাউজ তালিকা থেকে, নিচের ধাপগুলো চালিয়ে যেতে রেডিও বোতামে ক্লিক করতে ভুলবেন না। আপনি যদি ভুলবশত টেবিল/ভিউয়ের নামে ক্লিক করেন, তাহলে আপনাকে ডেটাপ্লেক্সে নিয়ে যাওয়া হবে। আপনার সাথে এটি ঘটলে আপনাকে শুধু Vertex AI-তে ফিরে যেতে হবে।

মডেল প্রশিক্ষণ

  1. একবার ডেটাসেট তৈরি হয়ে গেলে, আপনাকে একটি নতুন মডেল প্রশিক্ষণের বিকল্প সহ বিশ্লেষণ পৃষ্ঠাটি দেখতে হবে। এটি ক্লিক করুন:

bf095263d57106de.png

  1. শ্রেণীবিভাগ হিসাবে উদ্দেশ্য ত্যাগ করুন এবং প্রথম পৃষ্ঠায় AutoML বিকল্প নির্বাচন করুন এবং চালিয়ে যান ক্লিক করুন: e50597bc3f29894c.png
  2. আপনার মডেলের একটি নাম দিন এবং ড্রপডাউন থেকে "স্কোর" হিসাবে লক্ষ্য কলামের নাম নির্বাচন করুন এবং চালিয়ে যান ক্লিক করুন।
  3. এছাড়াও মনে রাখবেন যে আপনি "BigQuery-এ এক্সপোর্ট টেস্ট ডেটাসেট" বিকল্পটি চেক করতে পারেন, যা অতিরিক্ত ইন্টিগ্রেশন লেয়ার বা পরিষেবাগুলির মধ্যে ডেটা স্থানান্তর ছাড়াই দক্ষতার সাথে ডেটাবেসে ফলাফল সহ পরীক্ষার সেটটি দেখতে সহজ করে তোলে৷
  4. পরের পৃষ্ঠায়, আপনার প্রয়োজনীয় যে কোনো উন্নত প্রশিক্ষণের বিকল্প নির্বাচন করার বিকল্প আছে এবং আপনি প্রশিক্ষণের জন্য মডেল সেট করতে চান। অনুগ্রহ করে মনে রাখবেন যে আপনি প্রশিক্ষণের জন্য ব্যবহার করতে চান এমন নোড ঘন্টার সংখ্যা বাড়ানোর আগে আপনি মূল্য সম্পর্কে সচেতন হতে চাইতে পারেন।

আপনার নতুন মডেলের প্রশিক্ষণ শুরু করতে স্টার্ট ট্রেনিং এ ক্লিক করুন।

e72b004a17849bd.png

মডেলটি মূল্যায়ন, স্থাপন এবং পরীক্ষা করুন

প্রশিক্ষণ শেষ হয়ে গেলে, আপনি প্রশিক্ষণে ক্লিক করতে সক্ষম হবেন (বাম দিকের মেনুতে মডেল ডেভেলপমেন্ট শিরোনামের অধীনে) এবং প্রশিক্ষণ পাইপলাইন বিভাগে তালিকাভুক্ত আপনার প্রশিক্ষণ দেখতে পাবেন। মডেল রেজিস্ট্রি পৃষ্ঠায় অবতরণ করতে ক্লিক করুন। আপনি সক্ষম হতে হবে:

  1. প্রশিক্ষণের ফলাফল দেখুন এবং মূল্যায়ন করুন 4767b4bbd7cf93fa.png
  2. আপনার API শেষ পয়েন্টের সাথে মডেলটি স্থাপন এবং পরীক্ষা করুন

একবার আপনি আপনার মডেল স্থাপন করলে, একটি এপিআই এন্ডপয়েন্ট তৈরি হয় যা আপনার অ্যাপ্লিকেশনে অনুরোধ পাঠাতে এবং প্রতিক্রিয়াতে মডেল পূর্বাভাসের ফলাফল পেতে ব্যবহার করা যেতে পারে।

95fb4495618174f0.png

আপনি এই বিভাগ থেকে এগিয়ে যাওয়ার আগে, নিশ্চিত করুন যে আপনি আপনার Vertex AI এন্ডপয়েন্ট বিভাগে স্থাপন করা মডেলের এন্ডপয়েন্ট আইডি, অবস্থান এবং অন্যান্য বিশদ বিবরণের একটি নোট নিয়েছেন।

6. জাভা ক্লাউড ফাংশন এমএল আহ্বান ট্রিগার করতে

মনে রাখবেন কিভাবে আমরা ML স্থাপনার ধাপ থেকে শেষ বিন্দু এবং অন্যান্য বিবরণ আছে? আমরা এটি এখানে ব্যবহার করতে যাচ্ছি, এবং যেহেতু আমরা জাভা ক্লাউড ফাংশন ব্যবহার করছি, তাই আমরা নির্ভরতা পরিচালনার জন্য pom.xml ব্যবহার করব। Vertex AI AutoML এন্ডপয়েন্ট API ব্যবহার করতে আমরা google-cloud-aiplatform লাইব্রেরি ব্যবহার করি।

  1. Google ক্লাউড কনসোলে ক্লাউড ফাংশন অনুসন্ধান করুন এবং "ফাংশন তৈরি করুন" এ ক্লিক করুন।
  2. কনফিগারেশনের বিবরণ লিখুন, যেমন পরিবেশ, ফাংশনের নাম, অঞ্চল, ট্রিগার (এই ক্ষেত্রে, HTTPS), আপনার পছন্দের প্রমাণীকরণ, "HTTPS প্রয়োজন" সক্ষম করুন এবং পরবর্তী/সংরক্ষণ করুন ক্লিক করুন

a68272022df062f2.png

  1. পরবর্তী পৃষ্ঠায়, রানটাইম (জাভা 11), সোর্স কোড (ইনলাইন বা আপলোড) নির্বাচন করুন এবং সম্পাদনা শুরু করুন

13df616369ca5951.png

  1. রেপো থেকে java এবং pom.xml ফাইলগুলি কপি করুন এবং ইনলাইন এডিটরে সংশ্লিষ্ট ফাইলগুলিতে পেস্ট করুন, আপনি যদি আপনার স্থানীয় সম্পাদক (প্রস্তাবিত) ব্যবহার করেন তবে রেপো থেকে উত্সটি ক্লোন করুন
  2. এই উদাহরণের জন্য .java সোর্স ফাইলে প্রজেক্ট আইডি, এন্ডপয়েন্ট আইডি, লোকেশন এবং এন্ডপয়েন্ট পরিবর্তন করুন, কিন্তু অনুগ্রহ করে মনে রাখবেন যে ক্রেডেনশিয়াল সংরক্ষণের জন্য সিক্রেট ম্যানেজার ব্যবহার করাই সর্বোত্তম অভ্যাস
  3. এই কোডল্যাবের সুযোগের জন্য, আপনার কপি করা সোর্স কোডে .java ক্লাসে MongoDB অংশগুলি মন্তব্য করুন

সমস্ত পরিবর্তন সম্পূর্ণ হলে এগিয়ে যান এবং ফাংশন স্থাপন করুন। আপনি এই ক্লাউড ফাংশনে অনুরোধ পাঠাতে এবং প্রতিক্রিয়া হিসাবে মুভি স্কোর পেতে আপনার ক্লায়েন্ট অ্যাপ্লিকেশনে ব্যবহার করা যেতে পারে এমন এন্ডপয়েন্ট URL দেখতে পাবেন।

7. পরিষ্কার করুন

এই পোস্টে ব্যবহৃত সংস্থানগুলির জন্য আপনার Google ক্লাউড অ্যাকাউন্টে চার্জ এড়াতে, এই পদক্ষেপগুলি অনুসরণ করুন:

  1. Google ক্লাউড কনসোলে, সম্পদ পরিচালনা পৃষ্ঠাতে যান
  2. প্রকল্প তালিকায়, আপনি যে প্রকল্পটি মুছতে চান সেটি নির্বাচন করুন এবং তারপরে মুছুন ক্লিক করুন
  3. ডায়ালগে, প্রজেক্ট আইডি টাইপ করুন এবং তারপরে প্রোজেক্ট মুছে ফেলতে শাট ডাউন ক্লিক করুন

8. অভিনন্দন

অভিনন্দন! আপনি Vertex AI AutoML-এ সফলভাবে একটি মুভি স্কোর পূর্বাভাস মডেল তৈরি এবং স্থাপন করেছেন এবং ক্লাউড ফাংশন থেকে স্থাপন করা মডেলটিকে ট্রিগার করেছেন৷