Übersicht
Mit Spot-VMs können Sie die Kosten für die Ausführung Ihrer Vorhersagejobs senken. Spot-VMs sind VM-Instanzen, die überschüssige Compute Engine-Kapazität darstellen. Für Spot-VMs gibt es erhebliche Rabatte. Compute Engine kann jedoch Spot-VMs jederzeit vorzeitig beenden oder löschen, um die Kapazität zurückzugewinnen.
Weitere Informationen finden Sie unter Spot-VMs.
Beschränkungen und Anforderungen
Beachten Sie die folgenden Einschränkungen und Anforderungen, wenn Sie Spot-VMs mit Vertex AI verwenden:
- Alle Einschränkungen für Spot-VMs gelten, wenn Sie Spot-VMs mit Vertex AI verwenden.
- Die Verwendung von Spot-VMs mit Vertex AI wird nur für benutzerdefiniertes Training und Inferenz unterstützt.
- Die Verwendung von Spot-VMs mit TPU-Pods wird nicht unterstützt.
- Das Einreichen von Jobs über die Google Cloud Console wird nicht unterstützt.
Abrechnung
Wenn Ihre Arbeitslasten fehlertolerant sind und einer möglichen vorzeitigen VM-Beendigung standhalten, können Spot-VMs Ihre Compute-Kosten erheblich reduzieren. Wenn einige dieser VMs während der Verarbeitung beendet werden, verlangsamt sich der Job zwar, stoppt aber nicht vollständig. Spot-VMs führen Ihre Batchverarbeitungsaufgaben aus, ohne Ihre vorhandenen VMs zusätzlich zu belasten, und Sie müssen nicht den vollen Preis für zusätzliche Standard-VMs bezahlen. Weitere Informationen finden Sie unter Vorwegnahme.
Wenn Sie Spot-VMs verwenden, werden Ihnen die Kosten basierend auf der Jobdauer und dem Maschinentyp in Rechnung gestellt. Sie zahlen nicht für die Zeit, in der der Job in der Warteschlange steht oder vorzeitig beendet wird.
Umgang mit vorzeitigem Beenden
Spot-VMs können jederzeit von der Compute Engine zurückgefordert werden. Informationen dazu, wie Sie Spot-VMs optimal nutzen, finden Sie unter Best Practices für Spot-VMs.
Inferenzanfragen mit Spot-VMs ausführen
Wenn Sie Spot-VMs verwenden möchten, wenn Sie ein Modell bereitstellen, um Inferenz zu erhalten, können Sie die REST API oder das Vertex AI SDK für Python verwenden.
REST
Ersetzen Sie diese Werte in den folgenden Anfragedaten:
- LOCATION_ID: Die Region, in der Sie Vertex AI verwenden.
- PROJECT_ID: Ihre Projekt-ID.
- ENDPOINT_ID: Die ID des Endpunkts.
- MODEL_ID: Die ID des bereitzustellenden Modells.
-
DEPLOYED_MODEL_NAME: Ein Name für
DeployedModel
. Sie können auch den Anzeigenamen vonModel
fürDeployedModel
verwenden. -
MACHINE_TYPE: Optional. Die für jeden Knoten dieser Bereitstellung verwendeten Maschinenressourcen. Die Standardeinstellung ist
n1-standard-2
. Weitere Informationen zu Maschinentypen. - ACCELERATOR_TYPE: Optional. Der Typ des Beschleunigers, der an die Maschine angehängt werden soll. Weitere Informationen
- ACCELERATOR_COUNT: Optional. Die Anzahl der Beschleuniger, die für jedes Replikat verwendet werden soll.
- MIN_REPLICA_COUNT: Die minimale Anzahl von Knoten für diese Bereitstellung. Die Knotenzahl kann je nach der Inferenzlast erhöht oder verringert werden, bis zur maximalen Anzahl von Knoten und niemals auf weniger als diese Anzahl von Knoten. Dieser Wert muss größer oder gleich 1 sein.
- MAX_REPLICA_COUNT: Die maximale Anzahl von Knoten für diese Bereitstellung. Die Knotenzahl kann je nach der Inferenzlast erhöht oder verringert werden, bis zu dieser Anzahl von Knoten und niemals auf weniger als die minimale Anzahl von Knoten.
- TRAFFIC_SPLIT_THIS_MODEL: Der Prozentsatz des Vorhersagetraffics an diesen Endpunkt, der an das Modell mit diesem Vorgang weitergeleitet werden soll. Die Standardeinstellung ist 100. Alle Traffic-Prozentsätze müssen zusammen 100 % ergeben. Weitere Informationen zu Traffic-Splits
- DEPLOYED_MODEL_ID_N: Optional. Wenn andere Modelle für diesen Endpunkt bereitgestellt werden, müssen Sie die Prozentsätze der Trafficaufteilung aktualisieren, sodass alle Prozentsätze zusammen 100 % ergeben.
- TRAFFIC_SPLIT_MODEL_N: Der Prozentwert der Trafficaufteilung für den bereitgestellten Modell-ID-Schlüssel.
- PROJECT_NUMBER: Die automatisch generierte Projektnummer Ihres Projekts.
HTTP-Methode und URL:
POST https://LOCATION_ID-aiplatform.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:deployModel
JSON-Text anfordern:
{ "acceleratorCount": 1}, "spot": true, "minReplicaCount": 1, "maxReplicaCount": 1}}, "trafficSplit": {"0": 100}}' \ "https://LOCATION_ID-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:deployModel" "deployedModel": { "model": "projects/PROJECT/locations/us-central1/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "enableContainerLogging": true, "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "acceleratorType": "ACCELERATOR_TYPE", "acceleratorCount": ACCELERATOR_COUNT }, "spot": true, "minReplicaCount": MIN_REPLICA_COUNT, "maxReplicaCount": MAX_REPLICA_COUNT }, }, "trafficSplit": { "0": TRAFFIC_SPLIT_THIS_MODEL, "DEPLOYED_MODEL_ID_1": TRAFFIC_SPLIT_MODEL_1, "DEPLOYED_MODEL_ID_2": TRAFFIC_SPLIT_MODEL_2 }, }
Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:
Sie sollten in etwa folgende JSON-Antwort erhalten:
{ "name": "projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID/operations/OPERATION_ID", "metadata": { "@type": "type.googleapis.com/google.cloud.aiplatform.v1beta1.DeployModelOperationMetadata", "genericMetadata": { "createTime": "2020-10-19T17:53:16.502088Z", "updateTime": "2020-10-19T17:53:16.502088Z" } } }
Python
Informationen zur Installation des Vertex AI SDK for Python finden Sie unter Vertex AI SDK for Python installieren. Weitere Informationen finden Sie in der Referenzdokumentation zur Vertex AI SDK for Python API.
endpoint5.deploy( model = model, deployed_model_display_name=DEPLOYED_NAME, traffic_split=TRAFFIC_SPLIT, machine_type="MACHINE_TYPE", accelerator_type="ACCELERATOR_TYPE", accelerator_count=ACCELERATOR_COUNT, min_replica_count=MIN_REPLICA_COUNT, max_replica_count=MAX_REPLICA_COUNT, spot=True, sync=True )
Nächste Schritte
- Weitere Informationen zu Spot-VMs
- Weitere Informationen zu Compute Engine-VMs im Allgemeinen finden Sie in der Dokumentation zu VM-Instanzen.
- Weitere Informationen zum Erstellen von Spot-VMs finden Sie unter Spot-VMs erstellen und verwenden.
- Spot-VMs mit Vertex AI-Training verwenden
- Flex-Start-VMs mit Vertex AI-Inferenz verwenden