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.