Anmerkung
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
In diesem Artikel erfahren Sie, wie Sie eine Container-App erstellen, die serverlose GPUs verwendet, um eine KI-Anwendung zu unterstützen.
Mit serverlosen GPUs haben Sie direkten Zugriff auf GPU-Computeressourcen, ohne eine manuelle Infrastrukturkonfiguration vornehmen zu müssen, z. B. Installieren von Treibern. Somit müssen Sie in diesem Fall nur noch das Image des KI-Modells bereitstellen.
In diesem Tutorial führen Sie Folgendes durch:
- Erstellen einer neuen Container-App und Umgebung
- Konfigurieren der Umgebung für die Verwendung serverloser GPUs
- Erstellen Ihrer App in Azure Container Apps
- Verwenden der neuen Anwendung mit serverloser GPU
- Aktivieren des Artefaktstreamings, um die Kaltstartzeit der GPU zu reduzieren
Voraussetzungen
| Resource | BESCHREIBUNG |
|---|---|
| Azure-Konto | Sie benötigen ein Azure-Konto mit einem aktiven Abonnement. Wenn Sie noch keine haben, können Sie eine kostenlos erstellen. |
| Zugriff auf serverlose GPUs | Der Zugriff auf GPUs ist erst verfügbar, nachdem Sie GPU-Kontingente angefordert haben. Sie können Ihre GPU-Kontingentanforderung über einen Supportfall übermitteln. |
| Resource | BESCHREIBUNG |
|---|---|
| Azure-Konto | Sie benötigen ein Azure-Konto mit einem aktiven Abonnement. Wenn Sie noch keine haben, können Sie eine kostenlos erstellen. |
| Zugriff auf serverlose GPUs | Der Zugriff auf GPUs ist erst verfügbar, nachdem Sie GPU-Kontingente angefordert haben. Sie können Ihre GPU-Kontingentanforderung über einen Supportfall übermitteln. |
| Azure CLI | Installieren Sie die Azure CLI , oder führen Sie ein Upgrade auf die neueste Version durch. |
Erstellen Ihrer Container-App
Suchen Sie im Azure-Portal nach Container-Apps, und wählen Sie die entsprechende Option aus.
Wählen Sie Erstellen und anschließend Container-App aus.
Geben Sie im Fenster Grundlagen die folgenden Werte in den einzelnen Abschnitten ein.
Geben Sie unter Projektdetails die folgenden Werte ein:
Einstellung Wert Subscription Wählen Sie Ihr Azure-Abonnement. Ressourcengruppe Wählen Sie Neu erstellen aus, und geben Sie my-gpu-demo-group ein. Name der Container-App Geben Sie my-gpu-demo-app ein. Bereitstellungsquelle Wählen Sie Containerimage aus. Geben Sie unter Container Apps-Umgebung die folgenden Werte ein:
Einstellung Wert Region Wählen Sie "Schweden Zentral" aus.
Weitere unterstützte Regionen finden Sie unter Verwenden serverloser GPUs in Azure.Container-Apps-Umgebung Wählen Sie Neu erstellen. Geben Sie im Fenster Container Apps-Umgebung erstellen die folgenden Werte ein:
Einstellung Wert Umgebungsname Geben Sie my-gpu-demo-env ein. Klicken Sie auf Erstellen.
Wählen Sie Weiter: Container > aus.
Geben Sie im Fenster Container die folgenden Werte ein:
Einstellung Wert Name Geben Sie my-gpu-demo-container ein. Bildquelle Wählen Sie Docker Hub oder andere Registrierungen aus. Bildtyp Wählen Sie Öffentlich aus. Anmeldeserver für die Registrierung Geben Sie mcr.microsoft.com ein. Image und Tag Geben Sie k8se/gpu-quickstart:latest ein. Workloadprofil Wählen Sie "Verbrauch" aus – bis zu 4 vCPUs, 8 Gib Arbeitsspeicher. GPU Aktivieren Sie das Kontrollkästchen . GPU-Typ Wählen Sie Consumption-GPU-NC8as-T4 – Bis zu 8 vCPUs, 56 GiB Speicher und wählen Sie den Link aus, um das Profil zu Ihrer Umgebung hinzuzufügen. Wählen Sie Weiter: Eingehend > aus.
Geben Sie im Fenster Eingehend die folgenden Werte ein:
Einstellung Wert Eingehend Aktivieren Sie das Kontrollkästchen Aktiviert. Eingehender Datenverkehr Wählen Sie das Optionsfeld Datenverkehr von überall aus akzeptieren aus. Zielport Geben Sie 80 ein. Klicken Sie auf Überprüfen + erstellen.
Klicken Sie auf Erstellen.
Warten Sie einen Moment, bis die Bereitstellung abgeschlossen ist, und wählen Sie dann Zu Ressource wechseln aus.
Dieser Vorgang kann bis zu fünf Minuten in Anspruch nehmen.
Verwenden Ihrer GPU-App
Wählen Sie im Fenster Übersicht den Link Anwendungs-URL aus, um das Web-App-Front-End in Ihrem Browser zu öffnen und die GPU-Anwendung zu verwenden.
Hinweis
- Um die beste Leistung Ihrer GPU-Apps zu erzielen, führen Sie die Schritte zum Verbessern des Kaltstarts für serverlose GPUs aus.
- Wenn Ihre Anwendung mehrere Container umfasst, erhält der erste Container Zugriff auf die GPU.
Erstellen von Umgebungsvariablen
Definieren Sie die folgenden Umgebungsvariablen. Ersetzen Sie vor dem Ausführen dieses Befehls <PLACEHOLDERS> durch Ihre Werte.
RESOURCE_GROUP="<RESOURCE_GROUP>"
ENVIRONMENT_NAME="<ENVIRONMENT_NAME>"
LOCATION="swedencentral"
CONTAINER_APP_NAME="<CONTAINER_APP_NAME>"
CONTAINER_IMAGE="mcr.microsoft.com/k8se/gpu-quickstart:latest"
WORKLOAD_PROFILE_NAME="NC8as-T4"
WORKLOAD_PROFILE_TYPE="Consumption-GPU-NC8as-T4"
Erstellen Ihrer Container-App
Erstellen Sie die Ressourcengruppe, um die Ressourcen zu umfassen, die Sie in diesem Tutorial erstellen. Dieser Befehl sollte
Succeededausgeben.az group create \ --name $RESOURCE_GROUP \ --location $LOCATION \ --query "properties.provisioningState"Erstellen Sie eine Container-Apps-Umgebung, um Ihre Container-App zu hosten. Dieser Befehl sollte
Succeededausgeben.az containerapp env create \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP \ --location "$LOCATION" \ --query "properties.provisioningState"Fügen Sie Ihrer Umgebung ein Workloadprofil hinzu.
az containerapp env workload-profile add \ --name $ENVIRONMENT_NAME \ --resource-group $RESOURCE_GROUP \ --workload-profile-name $WORKLOAD_PROFILE_NAME \ --workload-profile-type $WORKLOAD_PROFILE_TYPEErstellen Sie Ihre Container-App.
az containerapp create \ --name $CONTAINER_APP_NAME \ --resource-group $RESOURCE_GROUP \ --environment $ENVIRONMENT_NAME \ --image $CONTAINER_IMAGE \ --target-port 80 \ --ingress external \ --cpu 8.0 \ --memory 56.0Gi \ --workload-profile-name $WORKLOAD_PROFILE_NAME \ --query properties.configuration.ingress.fqdnMit diesem Befehl wird die Anwendungs-URL für Ihre Container-App ausgegeben.
Verwenden Ihrer GPU-App
Öffnen Sie die Anwendungs-URL für Ihre Container-App in Ihrem Browser. Beachten Sie, dass es bis zu fünf Minuten dauern kann, bis die Container-App gestartet wird.
Mit der Anwendung Azure Container Apps mit serverlosen GPUs können Sie eine Eingabe vornehmen, um ein Bild zu generieren. Sie können auch einfach Generate Image auswählen, um die Standardaufforderung zu verwenden. Im nächsten Schritt zeigen Sie die Ergebnisse der GPU-Verarbeitung an.
Hinweis
- Um die beste Leistung Ihrer GPU-Apps zu erzielen, führen Sie die Schritte zum Verbessern des Kaltstarts für serverlose GPUs aus.
- Wenn Ihre Anwendung mehrere Container umfasst, erhält der erste Container Zugriff auf die GPU.
Überwachen der GPU
Nachdem Sie ein Bild generiert haben, führen Sie die folgenden Schritte aus, um die Ergebnisse der GPU-Verarbeitung anzuzeigen:
Öffnen Sie Ihre Container-App im Azure-Portal.
Wählen Sie im Abschnitt Überwachung die Option Konsole aus.
Wählen Sie Ihr Replikat aus.
Wählen Sie Ihren Container aus.
Wählen Sie "Erneut verbinden" aus.
Wählen Sie im Fenster Startbefehl auswählen die Option /bin/bash und dann Verbinden aus.
Sobald die Shell eingerichtet ist, geben Sie den Befehl nvidia-smi ein, um den Status und die Ausgabe Ihrer GPU zu überprüfen.
Bereinigen von Ressourcen
Die in diesem Tutorial erstellten Ressourcen wirken sich auf Ihre Azure-Abrechnung aus.
Führen Sie die Schritte aus, um alle in diesem Tutorial erstellten Ressourcen zu entfernen, wenn Sie diese Dienste nicht langfristig verwenden werden.
Suchen Sie im Azure-Portal nach Ressourcengruppen, und wählen Sie die entsprechende Option aus.
Wählen Sie my-gpu-demo-group aus.
Wählen Sie die Option Ressourcengruppe löschen.
Geben Sie im Bestätigungsfeld my-gpu-demo-group ein.
Wählen Sie Löschen.
Führen Sie den folgenden Befehl aus.
az group delete --name $RESOURCE_GROUP