Um sicherzustellen, dass VM-Ressourcen verfügbar sind, wenn Ihre Dataflow-Jobs sie benötigen, können Sie Compute Engine-Reservierungen verwenden. Reservierungen bieten ein hohes Maß an Sicherheit beim Beschaffen von Kapazitäten für zonale Ressourcen von Compute Engine. Weitere Informationen finden Sie unter Zonale Reservierungen von Compute Engine-Ressourcen.
Übersicht
Ihre benutzerdefinierten Vertex AI-Trainings- und Vorhersagejobs können Compute Engine-Reservierungen verbrauchen. Für Ihre Reservierung muss ein A2- oder A3-Maschinentyp angegeben werden. Wenn Ressourcen aus diesen Reservierungen für Rabatte für zugesicherte Nutzung infrage kommen, erhalten Sie diese Ressourcen zu ermäßigten Preisen, wenn Ihre VMs diese Reservierungen verbrauchen. Weitere Informationen finden Sie unter CUDs für Ihre reservierten Ressourcen.
Beschränkungen und Anforderungen
Beachten Sie die folgenden Einschränkungen und Anforderungen, wenn Sie Compute Engine-Reservierungen mit Vertex AI verwenden:
-
Vertex AI kann nur Reservierungen mit den folgenden Maschinenserien nutzen:
- A2
- A3
- Die Verwendung von Compute Engine-Reservierungen mit Vertex AI wird nur für benutzerdefiniertes Training und Vorhersagen unterstützt.
- Achten Sie darauf, dass für Ihre Vertex AI-Jobs ein ausreichendes Kontingent verfügbar ist. Weitere Informationen finden Sie unter Zusätzliche Kontingentanforderungen für freigegebene Reservierungen.
- Um regelmäßige Updates Ihrer Vertex AI-Bereitstellungen zu ermöglichen, empfehlen wir, die Anzahl der VMs für jede gleichzeitige Bereitstellung um mindestens eine VM zu erhöhen.
- Achten Sie darauf, dass Ihre Organisationsrichtlinieneinschränkungen freigegebene Reservierungen zulassen. Siehe Erstellen und Ändern von freigegebenen Reservierungen für Projekte zulassen und beschränken.
- Die VM-Instanzeigenschaften Ihrer Reservierung müssen genau mit Ihrer Vertex AI-Arbeitslast übereinstimmen, damit die Reservierung verwendet werden kann. Wenn eine Vertex AI-Arbeitslast beispielsweise den Maschinentyp
a2-megagpu-16g
hat, muss der Maschinentyp der Reservierung übereinstimmen. Anforderungen ansehen. -
Die folgenden Dienste und Funktionen werden nicht unterstützt, wenn Sie Compute Engine-Reservierungen mit Vertex AI-Vorhersagen verwenden:
- Vom Kunden verwaltete Verschlüsselungsschlüssel (CMEK)
- Compliance mit dem Federal Risk and Authorization Management Program (FedRAMP)
Abrechnung
Wenn Sie Compute Engine-Reservierungen verwenden, werden Ihnen Folgendes in Rechnung gestellt:
- Compute Engine-Preise für die Compute Engine-Ressourcen, einschließlich aller anwendbaren Rabatte für zugesicherte Nutzung (Committed Use Discount, CUD). Siehe Compute Engine-Preise.
- Zusätzlich zur Nutzung der Infrastruktur fallen die in den nachstehenden Tabellen aufgeführten Gebühren für die Verwaltung von Vertex AI Prediction an. Weitere Informationen finden Sie unter Preise für Vorhersagen.
Hinweise
- Informationen zu den Anforderungen und Einschränkungen für Reservierungen
- Informationen zu den Kontingentanforderungen und -einschränkungen für freigegebene Reservierungen.
Nutzung einer Reservierung zulassen
Bevor Sie eine Reservierung von A2- oder A3-VMs nutzen, müssen Sie die Freigaberichtlinie festlegen, damit Vertex AI die Reservierung nutzen kann. Verwenden Sie dazu eine der folgenden Methoden:
- Nutzung beim Erstellen einer Reservierung zulassen
- In einer vorhandenen Reservierung die Nutzung zulassen
Nutzung beim Erstellen einer Reservierung zulassen
Wenn Sie eine Reservierung für ein einzelnes Projekt oder eine freigegebene Reservierung von A2- oder A3-VMs erstellen, können Sie Vertex AI wie unten beschrieben erlauben, die Reservierung zu nutzen:
- Wenn Sie die Google Cloud Console verwenden, wählen Sie im Bereich Google Cloud-Dienste die Option Reservierung teilen aus.
- Wenn Sie die Google Cloud CLI verwenden, fügen Sie das Flag
--reservation-sharing-policy
mit dem WertALLOW_ALL
hinzu. - Wenn Sie die REST API verwenden, geben Sie das Feld
serviceShareType
mit dem WertALLOW_ALL
an.
Nutzung in einer bestehenden Reservierung zulassen
Wenn Sie Vertex AI erlauben möchten, eine vorhandene Reservierung von A2- oder A3-VMs zu nutzen, lesen Sie den Hilfeartikel Freigaberichtlinie einer Reservierung ändern.Vorhersagen mithilfe einer Reservierung abrufen
Wenn Sie eine Compute Engine-Reservierung nutzen möchten, wenn Sie ein Modell bereitstellen, um Vorhersagen 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. - RESERVATION_AFFINITY_TYPE: muss
ANY
,SPECIFIC_RESERVATION
oderNONE
sein.ANY
bedeutet, dass die VMs IhrercustomJob
automatisch jede Reservierung mit übereinstimmenden Attributen nutzen können.SPECIFIC_RESERVATION
bedeutet, dass die VMs IhrercustomJob
nur eine Reservierung nutzen können, auf die die VMs ausdrücklich namentlich ausgerichtet sind.NONE
bedeutet, dass die VMs IhrescustomJob
keine Reservierungen nutzen können. Wenn SieNONE
angeben, hat das denselben Effekt wie das Weglassen einer Reservierungsaffinitätsspezifikation.
- RESERVATION_NAME: Der Name Ihrer Reservierung.
- MIN_REPLICA_COUNT: Die minimale Anzahl von Knoten für diese Bereitstellung. Die Knotenzahl kann je nach der Vorhersagelast 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 Vorhersagelast 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/v1beta1/projects/PROJECT_ID/locations/LOCATION_ID/endpoints/ENDPOINT_ID:deployModel
JSON-Text anfordern:
{ "deployedModel": { "model": "projects/PROJECT/locations/LOCATION_ID/models/MODEL_ID", "displayName": "DEPLOYED_MODEL_NAME", "dedicatedResources": { "machineSpec": { "machineType": "MACHINE_TYPE", "reservationAffinity": { "reservationAffinityType": "RESERVATION_AFFINITY_TYPE", "key": "compute.googleapis.com/reservation-name", "values": [ "projects/PROJECT_ID/reservations/RESERVATION_NAME" ] } }, "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_ID/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.
So verwenden Sie eine bestimmte Reservierung:
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, reservation_affinity_type="SPECIFIC_RESERVATION", reservation_affinity_key="compute.googleapis.com/reservation-name", reservation_affinity_values=["projects/PROJECT_ID/zones/ZONE/reservations/RESERVATION_NAME"], min_replica_count=MIN_REPLICA_COUNT, max_replica_count=MAX_REPLICA_COUNT, sync=True )
So verwenden Sie eine beliebige Reservierung:
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, reservation_affinity_type="ANY_RESERVATION", min_replica_count=MIN_REPLICA_COUNT, max_replica_count=MAX_REPLICA_COUNT, sync=True )
Nächste Schritte
- Weitere Informationen zu Reservierungen von zonalen Ressourcen von Compute Engine
- Reservierungen mit Vertex AI-Schulungen verwenden