Flex-Start-VMs für die Inferenz verwenden

In diesem Leitfaden werden die Vorteile und Einschränkungen der Verwendung von Flex-Start-VMs mit Vertex AI-Inferenz beschrieben. Außerdem wird beschrieben, wie Sie ein Modell bereitstellen, das Flex-Start-VMs verwendet.

Übersicht

Mit Flex-Start-VMs, die von Dynamic Workload Scheduler unterstützt werden, können Sie die Kosten für die Ausführung Ihrer Inferenzjobs senken. Flex-Start-VMs bieten erhebliche Rabatte und eignen sich gut für Arbeitslasten mit kurzer Ausführungsdauer.

Sie können die Dauer angeben, für die Sie eine Flex-Start-VM benötigen, bis zu maximal sieben Tagen. Nach Ablauf der angeforderten Zeit wird die Bereitstellung Ihres bereitgestellten Modells automatisch aufgehoben. Sie können die Bereitstellung des Modells auch vor Ablauf der Zeit manuell aufheben.

Automatische Aufhebung der Bereitstellung

Wenn Sie eine Flex-Start-VM für eine bestimmte Dauer anfordern, wird die Bereitstellung Ihres Modells nach Ablauf dieses Zeitraums automatisch aufgehoben. Wenn Sie beispielsweise eine Flex-Start-VM für fünf Stunden anfordern, wird die Bereitstellung des Modells fünf Stunden nach dem Senden automatisch aufgehoben. Ihnen wird nur die Zeit in Rechnung gestellt, in der Ihre Arbeitslast ausgeführt wird.

Beschränkungen und Anforderungen

Beachten Sie die folgenden Einschränkungen und Anforderungen, wenn Sie Flex-Start-VMs verwenden:

  • Maximale Dauer: Flex-Start-VMs haben eine maximale Nutzungsdauer von sieben Tagen. Alle Bereitstellungsanfragen für eine längere Dauer werden abgelehnt.
  • TPU-Unterstützung: Die Verwendung von Flex-Start-VMs mit TPU-Pods wird nicht unterstützt.
  • Quota: Achten Sie darauf, dass Sie vor dem Starten Ihres Jobs ein ausreichendes Kontingent für VMs auf Abruf für Vertex AI haben. Weitere Informationen finden Sie unter Ratenkontingente.
  • Bereitstellung in der Warteschlange: Die Verwendung von Flex-Start-VMs mit Bereitstellung in der Warteschlange wird nicht unterstützt.
  • Knotenrecycling: Das Knotenrecycling wird nicht unterstützt.

Abrechnung

Wenn Ihre Arbeitslast weniger als sieben Tage lang ausgeführt wird, können Sie mit Flex-Start-VMs Kosten sparen.

Wenn Sie Flex-Start-VMs verwenden, werden Ihnen die Kosten basierend auf der Dauer Ihres Jobs und dem von Ihnen ausgewählten Maschinentyp in Rechnung gestellt. Ihnen wird nur die Zeit in Rechnung gestellt, in der Ihre Arbeitslast aktiv ausgeführt wird. Sie zahlen nicht für die Zeit, in der der Job in der Warteschlange steht, oder für die Zeit nach Ablauf der angeforderten Dauer.

Die Abrechnung erfolgt über zwei SKUs:

Inferenz mit Flex-Start-VMs abrufen

Wenn Sie Flex-Start-VMs verwenden möchten, wenn Sie ein Modell bereitstellen, um Inferenz zu erhalten, können Sie die REST API verwenden.

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 von Model für DeployedModel 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.
  • MAX_RUNTIME_DURATION: Die maximale Dauer für die Flex-Start-Bereitstellung. Die Bereitstellung des bereitgestellten Modells wird nach dieser Dauer automatisch aufgehoben. Geben Sie die Dauer in Sekunden an und schließen Sie sie mit einem s ab. Beispiel: 3600s für eine Stunde. Der maximale Wert ist 604800s (7 Tage).
  • PROJECT_NUMBER: Die automatisch generierte Projektnummer Ihres Projekts.

HTTP-Methode und URL:

POST https://LOCATION-aiplatform.googleapis.com/v1beta1/projects/PROJECT_ID/locations/LOCATION/endpoints/ENDPOINT_ID:deployModel

JSON-Text anfordern:

{
  "deployedModel": {
    "model": "projects/PROJECT/locations/LOCATION/models/MODEL_ID",
    "displayName": "DEPLOYED_MODEL_NAME",
    "enableContainerLogging": true,
    "dedicatedResources": {
      "machineSpec": {
        "machineType": "MACHINE_TYPE",
        "acceleratorType": "ACCELERATOR_TYPE",
        "acceleratorCount": ACCELERATOR_COUNT
      },
      "flexStart": {
        "maxRuntimeDuration": "MAX_RUNTIME_DURATION"
      },
      "minReplicaCount": 2,
      "maxReplicaCount": 2
    },
  },
}

Wenn Sie die Anfrage senden möchten, maximieren Sie eine der folgenden Optionen:

Sie sollten eine JSON-Antwort ähnlich wie diese 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"
    }
  }
}

Nächste Schritte