Выполнение вывода с помощью специально обученной модели с использованием платформы машинного обучения, такой как TensorFlow или PyTorch, требует сохранения и загрузки модели в Vertex AI, создания конечной точки прогнозирования и развертывания модели для обслуживания трафика в созданной конечной точке.
Ввод модели
Прежде чем сохранить и загрузить свою модель в Vertex AI, вы должны убедиться, что модель принимает данные в формате полезной нагрузки, который поддерживает Earth Engine. Для получения более подробной информации посетите нашу страницу форматов полезной нагрузки .
Модель Артефакта
Следующий шаг — сохранить вашу модель в формате, который можно разместить в Vertex AI.
Тензорфлоу
Модели на основе 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 для выполнения логических выводов.