إنّ إجراء الاستنتاج باستخدام نموذج مخصّص تم تدريبه باستخدام إطار عمل تعلُّم الآلة، مثل 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 لتحميل النموذج أو استخدام سطر أوامر 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 لإجراء الاستنتاجات.