مدل سفارشی میزبانی‌شده برای Earth Engine

انجام استنتاج با مدل آموزش‌دیده سفارشی بااستفاده از چارچوب یادگیری ماشین مانند TensorFlow یا PyTorch مستلزم ذخیره و بارگذاری مدل در Vertex AI، ایجاد نقطه پایانی پیش‌بینی، و مستقر کردن مدل برای ارائه ترافیک در نقطه پایانی ایجادشده است.

ورودی مدل

قبل‌از ذخیره و بارگذاری مدل در Vertex AI، باید مطمئن شوید که مدل داده‌ها را در قالب بار داده‌ای که Earth Engine پشتیبانی می‌کند می‌پذیرد. برای جزئیات بیشتر، به صفحه قالب‌های بار داده ما مراجعه کنید.

خروجی ساختاریافته مدل

مرحله بعدی ذخیره کردن مدل در قالبی است که در Vertex AI قابل‌میزبانی باشد.

TensorFlow

مدل‌های مبتنی بر TensorFlow را می‌توان در چندین قالب مختلف ذخیره کرد، اما Vertex AI به قالب SavedModel نیاز دارد. مدل‌های مبتنی بر Keras باید به‌عنوان SavedModels با tf.keras.Model.export() صادر شوند. سایر مدل‌های 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 Model Registry برای بارگذاری مدل خود استفاده کنید یا از خط فرمان 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

نکته: برای عملکرد بهینه، پیش‌بینی‌های gRPC را با پرچم container-grpc-ports فعال کنید. اطلاعات بیشتر درباره پیش‌بینی‌های gRPC را در اسناد قالب‌های بار خالص ما ببینید. این پرچم را فقط بااستفاده از ابزار خط فرمان gcloud می‌توان مشخص کرد.

مدیریت نقطه پایان مدل

پس‌از بارگذاری مدل در Vertex AI، نقطه پایانی ایجاد کنید و مدل را ازطریق صفحه «پیش‌بینی آنلاین» با ایجاد نقطه پایانی جدید یا بااستفاده از خط فرمان gcloud با فرمان‌های endpoints create و endpoints deploy-model مستقر کنید. برای مثال:

درحال ایجاد مدل:

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 متصل شوید و استنتاج‌ها را انجام دهید.