การอนุมานด้วยโมเดลที่ฝึกตามที่กำหนดเองโดยใช้เฟรมเวิร์กแมชชีนเลิร์นนิง เช่น TensorFlow หรือ PyTorch จำเป็นต้องบันทึกและอัปโหลดโมเดลไปยัง Vertex AI, สร้างปลายทางการคาดการณ์ และติดตั้งใช้งานโมเดลเพื่อแสดงการเข้าชมที่ปลายทางที่สร้างขึ้น
อินพุตโมเดล
ก่อนบันทึกและอัปโหลดโมเดลไปยัง Vertex AI คุณควรตรวจสอบว่าโมเดลยอมรับข้อมูลในรูปแบบเพย์โหลดที่ Earth Engine รองรับ ดูรายละเอียดเพิ่มเติมได้ที่หน้ารูปแบบเพย์โหลด
อาร์ติแฟกต์โมเดล
ขั้นตอนถัดไปคือการบันทึกโมเดลเป็นรูปแบบที่โฮสต์ได้ใน Vertex AI
TensorFlow
โมเดลที่ใช้ TensorFlow สามารถบันทึกได้หลายรูปแบบ แต่ Vertex AI ต้องใช้รูปแบบ SavedModel โมเดลที่ใช้ Keras ต้องส่งออกเป็น SavedModel ด้วย 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
เมื่อคัดลอกแล้ว คุณสามารถใช้ Model Registry ของ 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 เพื่อทำการอนุมาน