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() का इस्तेमाल करना ज़रूरी है.
ज़्यादा जानकारी के लिए, सेव किए गए मॉडल के फ़ॉर्मैट के बारे में दस्तावेज़ देखें.
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 की Model Registry का इस्तेमाल किया जा सकता है. इसके अलावा, 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 पर मॉडल अपलोड करने के बाद, एंडपॉइंट बनाएं और मॉडल को डिप्लॉय करें. इसके लिए, ऑनलाइन अनुमान वाले पेज पर जाकर, नया एंडपॉइंट बनाएं या 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 में अपने मॉडल से कनेक्ट किया जा सकता है.