Earth Engine-এর জন্য হোস্ট করা কাস্টম মডেল

TensorFlow বা PyTorch-এর মতো মেশিন লার্নিং ফ্রেমওয়ার্ক ব্যবহার করে কাস্টম ট্রেনিং দেওয়া মডেলের মাধ্যমে ইনফারেন্স পারফর্ম করার জন্য মডেলটি Vertex AI-তে সেভ ও আপলোড করতে হয়, প্রেডিকশন এন্ডপয়েন্ট তৈরি করতে হয় এবং তৈরি করা এন্ডপয়েন্টে ট্রাফিক সার্ভ করার জন্য মডেলটি ডিপ্লয় করতে হয়।

মডেল ইনপুট

Vertex AI-তে আপনার মডেল সেভ ও আপলোড করার আগে আপনাকে নিশ্চিত করতে হবে যে মডেলটি Earth Engine-এর সাথে মানানসই পেলোড ফর্ম্যাটে ডেটা গ্রহণ করে। আরও বিবরণ জানতে আমাদের পেলোড ফর্ম্যাট পৃষ্ঠা দেখুন।

মডেল আর্টিফ্যাক্ট

পরবর্তী ধাপ হল আপনার মডেলকে এমন একটি ফর্ম্যাটে সেভ করা যা Vertex AI-তে হোস্ট করা যায়।

TensorFlow

TensorFlow-এর উপর ভিত্তি করে তৈরি করা মডেল বিভিন্ন ফর্ম্যাটে সেভ করা যেতে পারে, তবে Vertex AI-এর জন্য SavedModel ফর্ম্যাট প্রয়োজন। Keras ভিত্তিক মডেলগুলি অবশ্যই tf.keras.Model.export() সহ SavedModels হিসাবে এক্সপোর্ট করতে হবে। অন্যান্য TensorFlow মডেলের জন্য আরও আদিম tf.saved_model.save() ব্যবহার করতে হবে। আরও তথ্যের জন্য SavedModel ফর্ম্যাট-এ ডকুমেন্টেশন দেখুন।

PyTorch

পূর্বাভাস পরিবেশনের জন্য মডেল আর্টিফ্যাক্ট প্রস্তুত করার ক্ষেত্রে PyTorch মডেলের পদ্ধতি কিছুটা আলাদা। কাস্টম প্রশিক্ষিত মডেল তৈরি করলে, মডেলটি প্রথমে সেভ করতে হবে। পারফর্ম্যান্সের কারণে আপনার PyTorch মডেলকে TorchScript-এ কনভার্ট করে মডেল ফাইলটি এইভাবে সেভ করার সাজেশন দেওয়া হয়:

model_scripted = torch.jit.script(model) # Export to TorchScript
model_scripted.save('model.pt') # Save

মডেল ফাইল সেভ করা হয়ে গেলে, এটি আর্কাইভ করতে হবে যাতে Vertex AI-তে ডিপ্লয় করা যায়। প্রি-বিল্ট কন্টেনার ব্যবহার করার সময় মডেলের নাম অবশ্যই "model" হতে হবে। মডেল আর্কাইভ করতে, torch-model-archiver চালাতে হবে, যার মধ্যে আপনার মডেলের জন্য প্রয়োজনীয় যেকোনও কাস্টম হ্যান্ডলার ও অতিরিক্ত ফাইল অন্তর্ভুক্ত থাকতে হবে। এর একটি উদাহরণ এখানে দেওয়া হল:

torch-model-archiver -f \
  --model-name model \
  --version 1.0  \
  --serialized-file $model_file \
  --handler $hander_file \
  --extra-files $index_to_name_file \
  --export-path $model_path

Vertex AI-তে মডেল ডিপ্লয়মেন্ট

আপনার মডেল ফাইল সেভ হয়ে গেলে, পরবর্তী ধাপ হল Vertex AI-তে আপনার মডেল আপলোড করা। আপনার মডেল আর্টিফ্যাক্ট আগে থেকে Google Cloud Storage-এ না থাকলে, প্রথমে gsutil cp $model_path gs://${your-bucket}/models/model-এর মতো কমান্ড ব্যবহার করে আপনার মডেল আর্কাইভ সেখানে কপি করুন।

কপি করা হয়ে গেলে, আপনার মডেল আপলোড করতে Vertex AI-এর মডেল রেজিস্ট্রি ব্যবহার করতে পারেন অথবা gcloud কমান্ড লাইন ব্যবহার করে এই ধরনের কিছু রান করতে পারেন:

gcloud ai models upload \
  --artifact-uri=gs://{your-bucket}/models/model \
  --display-name=${display-name} \
  --container-image-uri=${model-container} \
  --container-grpc-ports=8500

পরামর্শ: সেরা পারফর্ম্যান্সের জন্য container-grpc-ports ফ্ল্যাগ সহ gRPC অনুমান চালু করুন। gRPC প্রেডিকশন সম্পর্কে আরও তথ্য জানতে আমাদের পেলোড ফর্ম্যাট ডকুমেন্টেশন দেখুন। এই ফ্ল্যাগ শুধুমাত্র gcloud কমান্ডলাইন টুল ব্যবহার করে নির্দিষ্ট করা যাবে।

মডেল এন্ডপয়েন্ট ম্যানেজমেন্ট

Vertex AI-তে কোনও মডেল আপলোড করা হয়ে গেলে, একটি এন্ডপয়েন্ট তৈরি করুন এবং অনলাইন প্রেডিকশন পৃষ্ঠার মাধ্যমে মডেলটি ডিপ্লয় করুন। এর জন্য নতুন এন্ডপয়েন্ট তৈরি করুন অথবা endpoints create এবং endpoints deploy-model কমান্ড সহ gcloud কমান্ড লাইন ব্যবহার করুন। যেমন:

মডেল তৈরি করা হচ্ছে:

gcloud ai endpoints create \
  --display-name=${endpoint-name}

মডেল ডিপ্লয় করা

gcloud ai endpoints deploy-model {endpoint-id} \
  --model=${model-id} \
  --traffic-split=0=100 \
  --display-name=${model-display-name} \
  --min-replica-count=${min-replica-count} \
  --max-replica-count=${max-replica-count}

আপনার মডেল ডিপ্লয় করা হয়ে গেলে, আপনি Earth Engine-এ আপনার মডেলের সাথে কানেক্ট করে ইনফারেন্স পারফর্ম করার জন্য প্রস্তুত।