TensorFlow veya PyTorch gibi bir makine öğrenimi çerçevesi kullanarak özel olarak eğitilmiş bir modelle çıkarım yapmak için modeli Vertex AI'a kaydedip yüklemeniz, bir tahmin uç noktası oluşturmanız ve oluşturulan uç noktada trafik yayınlamak için modeli dağıtmanız gerekir.
Model girişi
Modelinizi kaydedip Vertex AI'a yüklemeden önce, modelin Earth Engine'ın desteklediği bir yükü biçiminde verileri kabul ettiğinden emin olmanız gerekir. Daha fazla bilgi için yük biçimleri sayfamıza göz atın.
Model Yapısı
Sonraki adımda, modelinizi Vertex AI'da barındırılabilen bir biçime kaydetmeniz gerekir.
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 için daha ilkel tf.saved_model.save()
kullanılmalıdır.
Daha fazla ayrıntı için SavedModel biçimiyle ilgili dokümanları inceleyin.
PyTorch
PyTorch modellerinde, model yapılarını tahmin sunumu için hazırlamanın biraz farklı bir yolu vardır. Özel olarak eğitilmiş bir model oluşturuyorsanız modelin önce kaydedilmesi gerekir. Performans nedeniyle 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şivlenmelidir. Önceden derlenmiş bir kapsayıcı kullanırken model "model" olarak adlandırılmalıdır. Modeli arşivlemek için torch-model-archiver'ın, modelinizin ihtiyaç duyduğu tüm özel işleyiciler ve ek dosyalar dahil olmak üzere çalıştırılması gerekir. Bununla ilgili bir örneği aşağıda bulabilirsiniz:
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'a Model Dağıtma
Model dosyalarınız kaydedildikten sonraki adım, modelinizi Vertex AI'a yüklemektir. Model yapınızın henüz Google Cloud Storage'da bulunmaması durumunda, gsutil cp $model_path
gs://${your-bucket}/models/model
gibi bir komutla model arşivinizi önce oraya kopyalayın.
Kopyaladıktan sonra, modelinizi yüklemek için Vertex AI Model Registry'yi kullanabilir veya gcloud komut satırını kullanarak aşağıdaki gibi 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 bilgiyi yük biçimleri dokümanlarımızda bulabilirsiniz.
Bu işaret yalnızca gcloud komut satırı aracı kullanılarak belirtilebilir.
Model Uç Nokta Yönetimi
Bir 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ı üzerinden uç nokta oluşturup 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.