Dela via


Självstudie: Generera avbildningar med serverlösa GPU:er i Azure Container Apps

I den här artikeln får du lära dig hur du skapar en containerapp som använder serverlösa GPU:er för att driva ett AI-program.

Med serverlösa GPU:er har du direkt åtkomst till GPU-beräkningsresurser utan att behöva utföra manuell infrastrukturkonfiguration som att installera drivrutiner. Allt du behöver göra är att implementera AI-modellens bild.

I den här handledningen:

  • Skapa en ny containerapp och miljö
  • Konfigurera miljön så att den använder serverlösa GPU:er
  • Distribuera din app till Azure Container Apps
  • Använd det nya serverlösa GPU-aktiveringsprogrammet
  • Aktivera artefaktströmning för att minska GPU-kallstart

Förutsättningar

Resurs beskrivning
Azure-konto Du behöver ett Azure-konto med en aktiv prenumeration. Om du inte har någon sådan nu kan du skapa en kostnadsfritt.
Åtkomst till serverlösa GPU:er Åtkomst till GPU:er är endast tillgänglig när du har begärt GPU-kvoter. Du kan skicka din GPU-kvotbegäran via ett kundsupportärende.
Resurs beskrivning
Azure-konto Du behöver ett Azure-konto med en aktiv prenumeration. Om du inte har någon sådan nu kan du skapa en kostnadsfritt.
Åtkomst till serverlösa GPU:er Åtkomst till GPU:er är endast tillgänglig när du har begärt GPU-kvoter. Du kan skicka din GPU-kvotbegäran via ett kundsupportärende.
Azure CLI Installera Azure CLI eller uppgradera till den senaste versionen.

Skapa din containerapp

  1. Gå till Azure Portal och sök efter och välj Container Apps.

  2. Välj Skapa och sedan välj Container App.

  3. I fönstret Grundläggande anger du följande värden i varje avsnitt.

    Under Projektinformation anger du följande värden:

    Inställning Värde
    Prenumeration Välj din Azure-prenumerationen.
    Resursgrupp Välj Skapa ny och ange my-gpu-demo-group.
    Namn på containerapp Ange my-gpu-demo-app.
    Distributionskälla Välj Containeravbildning.

    Under Container Apps-miljön anger du följande värden:

    Inställning Värde
    Region Välj Sweden Central.

    Fler regioner som stöds finns i Använda serverlösa GPU:er i Azure.
    Container Apps-miljö Välj Skapa ny.

    I fönstret Skapa containerappar anger du följande värden:

    Inställning Värde
    Miljönamn Ange my-gpu-demo-env.

    Välj Skapa.

    Välj Nästa: Container >.

  4. I fönstret Container anger du följande värden:

    Inställning Värde
    Name Ange my-gpu-demo-container.
    Bildkälla Välj Docker Hub eller andra register.
    Bildtyp Välj offentlig.
    Registerinloggningsserver Ange mcr.microsoft.com.
    Bild och tagg Ange k8se/gpu-quickstart:latest.
    Arbetsbelastningsprofil Välj Förbrukning – upp till 4 vCPUs, 8 GiB minne.
    GPU (grafikprocessor) Markera kryssrutan.
    GPU-typ Välj Consumption-GPU-NC8as-T4 – Upp till 8 vCPU:er, 56 GiB-minne och välj länken för att lägga till profilen i din miljö.

    Välj Nästa: Ingress >.

  5. I fönstret Ingress anger du följande värden:

    Inställning Värde
    Ingress Markera kryssrutan Aktiverad.
    Inkommande trafik Välj radioknappen Acceptera trafik från alla platser.
    Målport Ange 80.
  6. Välj Granska + skapa.

  7. Välj Skapa.

  8. Vänta en stund tills distributionen har slutförts och välj sedan Gå till resurs.

    Den här processen kan ta upp till fem minuter att slutföra.

Använda din GPU-app

I fönstret Översikt väljer du länken Program-URL för att öppna webbappens klientdel i webbläsaren och använder GPU-programmet.

Anteckning

  • Följ stegen för att förbättra kallstarten för dina serverlösa GPU:er för att få bästa möjliga prestanda för dina GPU-appar.
  • När det finns flera containrar i ditt program får den första containern åtkomst till GPU:n.

Skapa miljövariabler

Definiera följande miljövariabler. Ersätt <PLACEHOLDERS> med dina värden innan du kör det här kommandot.

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"

Skapa din containerapp

  1. Skapa resursgruppen som ska innehålla de resurser som du skapar i den här självstudien. Det här kommandot bör mata ut Succeeded.

    az group create \
      --name $RESOURCE_GROUP \
      --location $LOCATION \
      --query "properties.provisioningState"
    
  2. Skapa en Container Apps-miljö som värd för din containerapp. Det här kommandot bör mata ut Succeeded.

    az containerapp env create \
      --name $ENVIRONMENT_NAME \
      --resource-group $RESOURCE_GROUP \
      --location "$LOCATION" \
      --query "properties.provisioningState"
    
  3. Lägg till en arbetsbelastningsprofil i din miljö.

    az containerapp env workload-profile add \
      --name $ENVIRONMENT_NAME \
      --resource-group $RESOURCE_GROUP \
      --workload-profile-name $WORKLOAD_PROFILE_NAME \
      --workload-profile-type $WORKLOAD_PROFILE_TYPE
    
  4. Skapa din containerapp.

    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.fqdn
    

    Det här kommandot matar ut program-URL:en för containerappen.

Använda din GPU-app

Öppna program-URL:en för containerappen i webbläsaren. Observera att det kan ta upp till fem minuter innan containerappen startas.

Med Programmet Azure Container Apps med serverlösa GPU:er kan du ange en uppmaning om att generera en avbildning. Du kan också helt enkelt välja Generate Image för att använda standardprompten. I nästa steg visar du resultatet av GPU-bearbetningen.

Anteckning

  • Följ stegen för att förbättra kallstarten för dina serverlösa GPU:er för att få bästa möjliga prestanda för dina GPU-appar.
  • När det finns flera containrar i ditt program får den första containern åtkomst till GPU:n.

Övervaka din GPU

När du har genererat en avbildning använder du följande steg för att visa resultatet av GPU-bearbetningen:

  1. Öppna containerappen i Azure Portal.

  2. I avsnittet Övervakning väljer du Konsol.

  3. Välj repliken.

  4. Välj containern.

  5. Välj Återanslut.

  6. I kommandofönstret Välj start väljer du /bin/bash och väljer Anslut.

  7. När gränssnittet har konfigurerats anger du kommandot nvidia-smi för att granska status och utdata för din GPU.

Rensa resurser

De resurser som skapas i den här självstudien påverkar din Azure-faktura.

Om du inte ska använda dessa tjänster långsiktigt, ska du använda stegen för att ta bort allt som skapats i den här handledningen.

  1. I Azure Portal söker du efter och väljer Resursgrupper.

  2. Välj my-gpu-demo-group.

  3. Välj Ta bort resursgrupp.

  4. I bekräftelserutan, ange my-gpu-demo-group.

  5. Välj Ta bort.

Kör följande kommando.

az group delete --name $RESOURCE_GROUP

Nästa steg