يتطلّب إجراء الاستدلال باستخدام نموذج مدرَّب مخصّص باستخدام إطار عمل لتعلُّم الآلة، مثل TensorFlow أو PyTorch، حفظ النموذج وتحميله إلى Vertex AI، وإنشاء نقطة نهاية للتوقّع، ونشر النموذج لعرض الزيارات في نقطة النهاية التي تم إنشاؤها.
مُدخلات النموذج
قبل حفظ النموذج وتحميله إلى Vertex AI، يجب التأكّد من أنّ النموذج يقبل البيانات بتنسيق حمولة متوافق مع Earth Engine. لمزيد من التفاصيل، يُرجى الاطّلاع على صفحة تنسيقات الحمولة.
Model Artifact
الخطوة التالية هي حفظ النموذج بتنسيق يمكن استضافته في 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". To archive the model torch-model-archiver needs to be run including any custom handler and additional files your model requires. إليك مثالاً على ذلك:
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
ملاحظة: لتحقيق الأداء الأمثل، فعِّل توقّعات 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 لإجراء الاستنتاجات.