Để thực hiện suy luận bằng mô hình được huấn luyện tuỳ chỉnh bằng một khung học máy như TensorFlow hoặc PyTorch, bạn cần lưu và tải mô hình lên Vertex AI, tạo một điểm cuối dự đoán và triển khai mô hình để phân phát lưu lượng truy cập tại điểm cuối đã tạo.
Thông tin đầu vào của mô hình
Trước khi lưu và tải mô hình lên Vertex AI, bạn nên đảm bảo rằng mô hình chấp nhận dữ liệu ở định dạng tải trọng mà Earth Engine hỗ trợ. Để biết thêm thông tin, hãy xem trang định dạng tải trọng của chúng tôi.
Cấu phần phần mềm của mô hình
Bước tiếp theo là lưu mô hình của bạn ở định dạng có thể lưu trữ trong Vertex AI.
TensorFlow
Bạn có thể lưu các mô hình dựa trên TensorFlow ở một số định dạng khác nhau, nhưng Vertex AI yêu cầu định dạng SavedModel. Các mô hình dựa trên Keras phải được xuất dưới dạng SavedModel bằng tf.keras.Model.export().
Các mô hình TensorFlow khác yêu cầu sử dụng tf.saved_model.save() nguyên gốc hơn.
Hãy xem tài liệu về định dạng SavedModel để biết thêm thông tin chi tiết.
PyTorch
Mô hình PyTorch có cách chuẩn bị cấu phần phần mềm mô hình hơi khác một chút để phân phát thông tin dự đoán. Nếu tạo một mô hình được huấn luyện tuỳ chỉnh, thì trước tiên, bạn phải lưu mô hình đó. Để cải thiện hiệu suất, bạn nên chuyển đổi mô hình PyTorch sang TorchScript và lưu tệp mô hình bằng:
model_scripted = torch.jit.script(model) # Export to TorchScript
model_scripted.save('model.pt') # Save
Sau khi lưu tệp mô hình, bạn cần lưu trữ tệp đó để có thể triển khai tệp lên Vertex AI. Khi sử dụng vùng chứa tạo sẵn, mô hình phải được đặt tên là "model". Để lưu trữ mô hình, bạn cần chạy torch-model-archiver, bao gồm cả trình xử lý tuỳ chỉnh và các tệp bổ sung mà mô hình của bạn yêu cầu. Sau đây là một ví dụ:
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
Triển khai mô hình lên Vertex AI
Sau khi lưu tệp mô hình, bước tiếp theo là tải mô hình lên Vertex AI. Nếu cấu phần phần mềm mô hình của bạn chưa có trong Google Cloud Storage, hãy sao chép bản lưu trữ mô hình của bạn vào đó trước bằng một lệnh như gsutil cp $model_path
gs://${your-bucket}/models/model.
Sau khi sao chép, bạn có thể sử dụng Model Registry của Vertex AI để tải mô hình lên hoặc sử dụng dòng lệnh gcloud và chạy một lệnh như:
gcloud ai models upload \
--artifact-uri=gs://{your-bucket}/models/model \
--display-name=${display-name} \
--container-image-uri=${model-container} \
--container-grpc-ports=8500
MẸO: Để đạt được hiệu suất tối ưu, hãy bật tính năng dự đoán gRPC bằng cờ container-grpc-ports. Xem thêm thông tin về các dự đoán gRPC trong tài liệu về định dạng tải trọng của chúng tôi.
Bạn chỉ có thể chỉ định cờ này bằng công cụ dòng lệnh gcloud.
Quản lý điểm cuối của mô hình
Sau khi tải mô hình lên Vertex AI, hãy tạo một điểm cuối và triển khai mô hình thông qua trang Dự đoán trực tuyến bằng cách tạo một điểm cuối mới hoặc bằng cách sử dụng dòng lệnh gcloud với các lệnh endpoints create và endpoints deploy-model. Ví dụ:
Tạo mô hình:
gcloud ai endpoints create \
--display-name=${endpoint-name}
Triển khai mô hình
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}
Sau khi triển khai mô hình, bạn có thể kết nối với mô hình trong Earth Engine để thực hiện suy luận.