Earth Engine için Barındırılan Özel Model

TensorFlow veya PyTorch gibi bir makine öğrenimi çerçevesi kullanarak özel olarak eğitilmiş bir modelle çıkarım yapmak için modelin kaydedilip Vertex AI'a yüklenmesi, bir tahmin uç noktası oluşturulması ve oluşturulan uç noktada trafiği sunmak için modelin dağıtılması gerekir.

Model Girişi

Modelinizi kaydedip Vertex AI'a yüklemeden önce modelin, Earth Engine'in desteklediği bir yük biçiminde veri kabul ettiğinden emin olmanız gerekir. Daha fazla bilgi için Yük biçimleri sayfamızı inceleyin.

Model yapısı

Bir sonraki adım, modelinizi Vertex AI'da barındırılabilir bir biçimde kaydetmektir.

TensorFlow

TensorFlow tabanlı modeller birkaç farklı biçimde kaydedilebilir ancak Vertex AI, SavedModel biçimini gerektirir. Keras tabanlı modeller, tf.keras.Model.export() ile SavedModel olarak dışa aktarılmalıdır. Diğer TensorFlow modelleri, daha ilkel olan tf.saved_model.save() işlevinin kullanılmasını gerektirir. Daha fazla bilgi için SavedModel biçimi ile ilgili belgelere bakın.

PyTorch

PyTorch modellerinde, model yapılarını tahmin sunumu için hazırlama yöntemi biraz farklıdır. Özel olarak eğitilmiş bir model oluşturuyorsanız modelin önce kaydedilmesi gerekir. Performans açısından PyTorch modelinizi TorchScript'e dönüştürmeniz ve model dosyasını şu şekilde kaydetmeniz önerilir:

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

Model dosyası kaydedildikten sonra Vertex AI'a dağıtılabilmesi için arşivlenmesi gerekir. Önceden oluşturulmuş bir kapsayıcı kullanırken modelin "model" olarak adlandırılması gerekir. Modeli arşivlemek için torch-model-archiver'ın, modelinizin gerektirdiği özel işleyici ve ek dosyalarla birlikte çalıştırılması gerekir. Bunun bir örneğini burada görebilirsiniz:

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

Modeli Vertex AI'da Dağıtma

Model dosyalarınız kaydedildikten sonraki adım, modelinizi Vertex AI'a yüklemektir. Model yapınız Google Cloud Storage'da değilse önce model arşivinizi gsutil cp $model_path gs://${your-bucket}/models/model gibi bir komutla oraya kopyalayın.

Kopyaladıktan sonra modelinizi yüklemek için Vertex AI Model Registry'yi kullanabilir veya gcloud komut satırını kullanarak şuna benzer bir komut çalıştırabilirsiniz:

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

İPUCU: Optimum performans için container-grpc-ports işaretiyle gRPC tahminlerini etkinleştirin. gRPC tahminleri hakkında daha fazla bilgi için yük biçimleri belgelerimizi inceleyin. Bu işaret yalnızca gcloud komut satırı aracı kullanılarak belirtilebilir.

Model Uç Nokta Yönetimi

Model Vertex AI'a yüklendikten sonra, yeni bir uç nokta oluşturarak veya endpoints create ve endpoints deploy-model komutlarıyla gcloud komut satırını kullanarak Online Tahmin sayfasından bir uç nokta oluşturun ve modeli dağıtın. Örneğin:

Model oluşturma:

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

Model dağıtma

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}

Modeliniz dağıtıldıktan sonra çıkarım yapmak için Earth Engine'da modelinize bağlanabilirsiniz.