Earth Engine के लिए होस्ट किया गया कस्टम मॉडल

TensorFlow या PyTorch जैसे मशीन लर्निंग फ़्रेमवर्क का इस्तेमाल करके, कस्टम ट्रेन किए गए मॉडल की मदद से अनुमान लगाने के लिए, मॉडल को Vertex AI में सेव और अपलोड करना ज़रूरी है. साथ ही, अनुमान लगाने के लिए एंडपॉइंट बनाना और बनाए गए एंडपॉइंट पर ट्रैफ़िक दिखाने के लिए मॉडल को डिप्लॉय करना ज़रूरी है.

मॉडल इनपुट

Vertex AI में अपना मॉडल सेव और अपलोड करने से पहले, आपको यह पक्का करना चाहिए कि मॉडल, ऐसे पेलोड फ़ॉर्मैट में डेटा स्वीकार करता हो जिसका इस्तेमाल Earth Engine में किया जा सकता है. ज़्यादा जानकारी के लिए, पेलोड फ़ॉर्मैट पेज पर जाएं.

मॉडल आर्टफ़ैक्ट

अगला चरण, अपने मॉडल को ऐसे फ़ॉर्मैट में सेव करना है जिसे Vertex AI में होस्ट किया जा सके.

TensorFlow

TensorFlow पर आधारित मॉडल को कई अलग-अलग फ़ॉर्मैट में सेव किया जा सकता है. हालांकि, Vertex AI के लिए, SavedModel फ़ॉर्मैट की ज़रूरत होती है. Keras पर आधारित मॉडल को 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

अहम जानकारी: सबसे अच्छी परफ़ॉर्मेंस के लिए, container-grpc-ports फ़्लैग की मदद से gRPC अनुमान चालू करें. gRPC के अनुमान के बारे में ज़्यादा जानकारी पाने के लिए, हमारे पेलोड फ़ॉर्मैट के दस्तावेज़ पर जाएं. इस फ़्लैग की जानकारी सिर्फ़ gcloud कमांडलाइन टूल का इस्तेमाल करके दी जा सकती है.

मॉडल एंडपॉइंट मैनेजमेंट

Vertex AI में मॉडल अपलोड करने के बाद, एंडपॉइंट बनाएं और ऑनलाइन अनुमान वाले पेज पर जाकर मॉडल को डिप्लॉय करें. इसके लिए, नया एंडपॉइंट बनाएं या endpoints create और endpoints deploy-model निर्देशों के साथ gcloud कमांड लाइन का इस्तेमाल करें. उदाहरण के लिए:

मॉडल बनाना:

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 में मॉडल से कनेक्ट करके अनुमान लगाए जा सकते हैं.