Teilen über


Verwenden serverloser GPUs in Azure-Container-Apps

Azure Container-Apps bieten Zugriff auf GPUs bei Bedarf, ohne die zugrunde liegende Infrastruktur verwalten zu müssen. Als serverlose Funktion bezahlen Sie nur für GPUs, die verwendet werden. Wenn diese Option aktiviert ist, steigt und sinkt die Anzahl der für Ihre Anwendung verwendeten GPUs, um den Lastanforderungen Ihrer Anwendung gerecht zu werden. Serverlose GPUs ermöglichen Ihnen die nahtlose Ausführung Ihrer Workloads mit automatischer Skalierung, optimiertem Kaltstart, sekundengenauer Abrechnung mit Herunterskalierung auf Null, wenn sie nicht genutzt werden, und reduziertem Betriebsaufwand.

Serverlose GPUs werden nur für Verbrauchs-Workload-Profile unterstützt. Das Feature wird für Nur-Verbrauch-Umgebungen nicht unterstützt.

Hinweis

Sie müssen GPU-Kontingente anfordern, um auf GPUs zuzugreifen. Sie können Ihre GPU-Kontingentanforderung über einen Kundendienst-Supportfall übermitteln.

Vorteile

Serverlose GPUs beschleunigen die KI-Entwicklung, weil Sie sich bei der Verwendung von GPUs stärker auf Ihren KI-Kerncode konzentrieren können und weniger mit der Verwaltung der Infrastruktur beschäftigt sind. Dieses Feature bietet eine Option auf mittlerer Ebene zwischen serverlosen APIs des Azure KI-Modellkatalog und Hostingmodellen auf verwalteten Computeressourcen.

Die Unterstützung serverlose GPUs von Container Apps bietet vollständige Data Governance, da Ihre Daten die Grenzen Ihres Containers nie verlassen, und bietet gleichzeitig eine verwaltete, serverlose Plattform, auf der Sie Ihre Anwendungen erstellen können.

Wenn Sie serverlose GPUs in Container Apps verwenden, erhalten Ihre Apps Folgendes:

  • Skalierung auf null GPUs: Unterstützung für die automatische serverlose Skalierung von NVIDIA A100- und NVIDIA T4-GPUs.

  • Sekundengenaue Abrechnung: Sie bezahlen nur für die verwendeten GPU-Computeressourcen.

  • Integrierte Data Governance: Ihre Daten verlassen nie die Containergrenze.

  • Flexible Computeoptionen: Sie können zwischen den GPU-Typen NVIDIA A100 und T4 wählen.

  • Mittlere Ebene für KI-Entwicklung: Bringen Sie Ihr eigenes Modell auf eine verwaltete Plattform für serverloses Computing.

Häufige Szenarios

In den folgenden Szenarien werden häufige Anwendungsfälle für serverlose GPUs beschrieben.

  • Echtzeit- und Batch-Ableitung: Verwenden Sie benutzerdefinierte Open-Source-Modelle mit schnellen Startzeiten, automatischer Skalierung und einem Abrechnungsmodell pro Sekunde. Serverlose GPUs eignen sich ideal für dynamische Anwendungen. Sie zahlen nur für die von Ihnen verwendeten Computeressourcen, und Ihre Apps werden automatisch ab- und aufskaliert, um den Bedarf zu erfüllen.

  • Szenarien für maschinelles Lernen: Erhebliche Beschleunigung von Anwendungen, die fein abgestimmte benutzerdefinierte generative KI-Modelle, Deep Learning, neuronale Netzwerke oder umfangreiche Datenanalysen implementieren.

  • High-Performance Computing (HPC): Verwenden Sie GPUs als Ressourcen für hohe Rechenanforderungen in Anwendungen, die komplexe Berechnungen und Simulationen erfordern, z. B. wissenschaftliches Computing, Finanzmodellierung oder Wettervorhersage.

  • Rendering und Visualisierung: Verwenden Sie GPUs, um den Renderingprozess zu beschleunigen und Echtzeitvisualisierung in Anwendungen zu ermöglichen, die 3D-Rendering, Bildverarbeitung oder Videotranscodierung umfassen.

  • Big Data-Analyse: GPUs können die Datenverarbeitung und -analyse bei riesigen Datasets beschleunigen.

Überlegungen

Beachten Sie die folgenden Elemente, wenn Sie serverlose GPUs verwenden:

  • CUDA-Version: Serverlose GPUs unterstützen die neueste CUDA-Version.

  • Einschränkungen bei der Unterstützung:

    • Nur ein Container in einer App kann jeweils die GPU verwenden. Wenn Ihre App mehrere Container umfasst, erhält der erste Container Zugriff auf die GPU.
    • Mehrere Apps können das gleiche GPU-Workloadprofil gemeinsam nutzen, für jede App ist jedoch ein eigenes Replikat erforderlich.
    • Mehrere und geteilte GPU-Replikate werden nicht unterstützt.
    • Der erste Container in Ihrer Anwendung erhält Zugriff auf die GPU.
  • IP-Adressen: Verbrauchs-GPUs verwenden eine IP-Adresse pro Replikat, wenn Sie die Integration in Ihr eigenes virtuelles Netzwerk einrichten.

Unterstützte Regionen

Serverlose GPUs sind in den folgenden Regionen verfügbar:

Region A100 T4
Australien (Osten) Ja Ja
Brasilien Süd Ja Ja
Zentralindien Nein Ja
East US Ja Ja
Frankreich, Mitte Nein Ja
Italy North Ja Ja
Japan, Osten Nein Ja
Nord-Mittel-USA Nein Ja
Süd-Mittel-USA Nein Ja
Südostasien Nein Ja
South India Nein Ja
Schweden, Mitte Ja Ja
Westeuropa1 Nein Ja
Westen der USA Ja Ja
Westliches USA 2 Nein Ja
Westliches USA 3 Ja Ja

1 Um ein T4 serverloses GPU-Workloadprofil in Westeuropa hinzuzufügen, müssen Sie eine neue Workloadprofilumgebung in der Region erstellen.

Verwenden von serverlosen GPUs

Wenn Sie eine Container-App über das Azure-Portal erstellen, können Sie Ihren Container so einrichten, dass GPU-Ressourcen verwendet werden.

Legen Sie auf der Registerkarte Container des Erstellungsprozesses die folgenden Einstellungen fest:

  1. Aktivieren Sie im Abschnitt " Containerressourcenzuweisung " das Kontrollkästchen "GPU ".

  2. Wählen Sie für den GPU-Typ entweder die NVIDIA A100- oder NVIDIA T4-Option aus.

Verwalten des Workloadprofils einer serverlosen GPU

Serverless GPUs werden auf verbrauchsbasierenden GPU-Workloadprofilen ausgeführt. Sie verwalten ein GPU-Workloadprofil für den Verbrauch auf die gleiche Weise wie jedes andere Workloadprofil. Sie können Ihr Workloadprofil mithilfe der CLI oder des Azure-Portals verwalten.

Anfordern eines Kontingents an serverlosen GPUs

Hinweis

Kunden mit Enterprise-Vereinbarungen sowie Pay-as-you-go-Kunden haben standardmäßig ein A100- und ein T4-Kontingent aktiviert.

Sie benötigen serverloses GPU-Kontingent, um auf dieses Feature zuzugreifen. Sie können Ihre GPU-Kontingentanforderung über einen Kundendienst-Supportfall übermitteln. Wenn Sie einen Supportfall für eine GPU-Kontingentanforderung öffnen, wählen Sie die folgenden Optionen aus:

  1. Öffnen Sie das Formular " Neue Supportanfrage " im Azure-Portal.

  2. Geben Sie die folgenden Werte in das Formular ein:

    Eigentum Wert
    Problemtyp Auswählen von Dienst- und Abonnementbeschränkungen (Kontingente)
    Subscription Wählen Sie Ihr Abonnement aus.
    Kontingenttyp Wählen Sie Azure Container Apps aus.
  3. Wählen Sie Weiteraus.

  4. Wählen Sie im Fenster "Weitere Details " die Option " Details eingeben " aus, um das Fenster "Anforderungsdetails" zu öffnen.

    Screenshot des Detailfensters des Azure-Kontingentverwaltungssystems.

  5. Wählen Sie für den Kontingenttyp entweder Verbrauch in verwalteter Umgebung NCA100 GPUs oder Verbrauch in verwalteter Umgebung T4 GPUs aus. Geben Sie Ihre anderen Werte ein.

  6. Wählen Sie Speichern und fortfahren aus.

  7. Füllen Sie die restlichen relevanten Details im Fenster "Zusätzliche Details " aus.

  8. Wählen Sie Weiteraus.

  9. Wählen Sie "Erstellen" aus.

Verbessern des GPU-Kaltstarts

Sie können die Kaltstartzeiten erheblich verbessern, indem Sie Artefaktstreaming aktivieren und große Dateien wie Large Language Models in einer Speicherbereitstellung platzieren.

  • Artefaktstreaming: Die Azure Container Registry bietet Imagestreaming, wodurch die Startzeiten des Images erheblich beschleunigt werden können. Um Artefaktstreaming zu verwenden, müssen Sie Ihre Containerimages in einer Premium-Azure-Containerregistrierung hosten.

  • Speichermontagen: Reduzieren Sie die Auswirkungen von Netzwerklatenzzeiten, indem Sie große Dateien in einem Azure-Speicherkonto speichern, das Ihrer Container-App zugeordnet ist.

Bereitstellen von Foundry-Modellen auf serverlosen GPUs (Vorschau)

Azure Container Apps serverlose GPUs unterstützen jetzt Azure KI Foundry-Modelle in der öffentlichen Vorschau. Azure AI Foundry Models verfügen über zwei Bereitstellungsoptionen:

  • Serverlose APIs, die eine nutzungsabhängige Abrechnung für einige der am häufigsten verwendeten Modelle bereitstellen.

  • Verwaltete Rechenressourcen, die Ihnen ermöglichen, die vollständige Auswahl an Foundry-Modellen mit einem Preismodell pro GPU bereitzustellen.

Azure Container Apps serverless GPU bietet eine ausgewogene Bereitstellungsoption zwischen serverlosen APIs und verwalteter Compute für Sie zum Bereitstellen von Foundry-Modellen. Diese Option ist bei Bedarf mit serverloser Skalierung verfügbar, die bei Nichtgebrauch auf Null skaliert wird und Ihren Anforderungen an die Datenresidenz entspricht. Mit serverlosen GPUs geben Ihnen die Foundry-Modelle die Flexibilität, jedes unterstützte Modell mit automatischer Skalierung, minutengenauer Abrechnung, umfassender Datengovernance sowie von Haus aus Unternehmensnetzwerk- und Sicherheitsunterstützung auszuführen.

Sprachmodelle des Typs MLFLOW werden unterstützt. Um eine Liste der MLFLOW Modelle anzuzeigen, wechseln Sie zur Liste der Modelle, die in der Azureml-Registrierung verfügbar sind. Um die Modelle zu finden, fügen Sie mithilfe der folgenden Schritte einen Filter für MLFLOW Modelle hinzu:

  1. Wählen Sie Filtern aus.

  2. Wählen Sie "Filter hinzufügen" aus.

  3. Geben Sie für die Filterregel "Type = MLFLOW" ein.

Für Modelle, die hier im Azure Container Apps-Repository aufgeführt sind, können Sie sie direkt auf serverlosen GPUs bereitstellen, ohne ihr eigenes Image mit dem folgenden CLI-Befehl erstellen zu müssen:

az containerapp up \
  --name <CONTAINER_APP_NAME> \
  --location <LOCATION> \
  --resource-group <RESOURCE_GROUP_NAME> \
  --model-registry <MODEL_REGISTRY_NAME> \
  --model-name <MODEL_NAME> \
  --model-version <MODEL_VERSION>

Für ein Modell, das nicht in dieser Liste enthalten ist, müssen Sie:

  1. Laden Sie die GitHub-Vorlage für das Modellimage aus dem Azure Container Apps-Repository herunter.

  2. Ändern Sie die score.py Datei so, dass sie ihrem Modelltyp entspricht. Das Bewertungsskript (mit dem Namen score.py) definiert, wie Sie mit dem Modell interagieren. Das folgende Beispiel zeigt , wie Sie eine benutzerdefinierte score.py Datei verwenden.

  3. Erstellen Sie das Image, und stellen Sie es in einer Containerregistrierung bereit.

  4. Verwenden Sie den vorherigen CLI-Befehl, um das Modell für serverlose GPU-Umgebungen bereitzustellen, und geben Sie die --image an. Wenn Sie die Parameter --model-registry, --model-name und --model-version verwenden, werden die wichtigen Umgebungsvariablen für Sie festgelegt, um den Kaltstart Ihrer App zu optimieren.

Übermitteln von Feedback

Übermitteln von Problemen an das GitHub-Repository für Azure-Container-Apps.

Nächste Schritte