Model Kustom yang Dihosting untuk Earth Engine

Melakukan inferensi dengan model terlatih kustom menggunakan framework machine learning seperti TensorFlow atau PyTorch memerlukan penyimpanan dan upload model ke Vertex AI, membuat endpoint prediksi, dan men-deploy model untuk menyalurkan traffic di endpoint yang dibuat.

Input Model

Sebelum menyimpan dan mengupload model ke Vertex AI, Anda harus memastikan bahwa model menerima data dalam format payload yang didukung Earth Engine. Untuk detail selengkapnya, lihat halaman format payload untuk detail selengkapnya.

Artefak Model

Langkah berikutnya adalah menyimpan model Anda ke format yang dapat dihosting di Vertex AI.

TensorFlow

Model berbasis TensorFlow dapat disimpan dalam beberapa format berbeda, tetapi Vertex AI memerlukan format SavedModel. Model berbasis Keras harus diekspor sebagai SavedModel dengan tf.keras.Model.export(). Model TensorFlow lainnya memerlukan penggunaan tf.saved_model.save() yang lebih primitif. Lihat dokumentasi tentang format SavedModel untuk mengetahui detail selengkapnya.

PyTorch

Model PyTorch memiliki cara yang sedikit berbeda untuk menyiapkan artefak model untuk penayangan prediksi. Jika membuat model yang dilatih secara kustom, model tersebut harus disimpan terlebih dahulu. Untuk alasan performa, sebaiknya konversikan model PyTorch Anda ke TorchScript dan simpan file model dengan:

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

Setelah disimpan, file model perlu diarsipkan agar dapat di-deploy ke Vertex AI. Saat menggunakan penampung bawaan, model harus diberi nama "model". Untuk mengarsipkan model, torch-model-archiver perlu dijalankan, termasuk pengendali kustom dan file tambahan yang diperlukan model Anda. Contohnya ada di sini:

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

Deployment Model ke Vertex AI

Setelah file model disimpan, langkah berikutnya adalah mengupload model ke Vertex AI. Jika artefak model Anda belum ada di Google Cloud Storage, salin arsip model Anda ke sana terlebih dahulu dengan perintah seperti gsutil cp $model_path gs://${your-bucket}/models/model.

Setelah disalin, Anda dapat menggunakan Vertex AI's Model Registry untuk mengupload model atau menggunakan command line gcloud dan menjalankan sesuatu seperti:

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

TIP: Untuk performa yang optimal, aktifkan prediksi gRPC dengan flag container-grpc-ports. Lihat informasi selengkapnya tentang prediksi gRPC di dokumentasi format payload kami. Flag ini hanya dapat ditentukan menggunakan alat command line gcloud.

Pengelolaan Endpoint Model

Setelah model diupload ke Vertex AI, buat endpoint dan deploy model melalui halaman Online Prediction dengan membuat endpoint baru atau menggunakan command line gcloud dengan perintah endpoints create dan endpoints deploy-model. Contoh:

Membuat model:

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

Men-deploy model

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}

Setelah model di-deploy, Anda siap terhubung ke model di Earth Engine untuk melakukan inferensi.