Dela via


Använda serverlösa GPU:er i Azure Container Apps

Azure Container Apps ger åtkomst till GPU:er på begäran utan att du behöver hantera den underliggande infrastrukturen. Som en serverlös funktion betalar du bara för GPU:er som används. När det är aktiverat ökar och minskar antalet GPU:er som används för din app för att uppfylla programmets belastningskrav. Med serverlösa GPU:er kan du sömlöst köra dina arbetsbelastningar med automatisk skalning, optimerad kallstart, per sekund-fakturering med nedskalning till noll när de inte används och lägre driftkostnader.

Serverlösa GPU:er stöds endast för förbrukningsarbetsbelastningsprofiler. Funktionen stöds inte för miljöer med endast förbrukning.

Anteckning

Åtkomst till GPU:er är endast tillgänglig efter att du har begärt GPU-kvoter. Du kan skicka din GPU-kvotbegäran via ett kundsupportärende.

Förmåner

Serverlösa GPU:er påskyndar AI-utvecklingen genom att du kan fokusera på din grundläggande AI-kod och mindre på att hantera infrastruktur när du använder GPU:er. Den här funktionen tillhandahåller ett mellanlageralternativ mellan Azure AI-modellkatalogens serverlösa API:er och värdmodeller för hanterad beräkning.

Serverlöst GPU-stöd för Container Apps ger fullständig datastyrning eftersom dina data aldrig lämnar gränserna för containern samtidigt som de tillhandahåller en hanterad, serverlös plattform som du kan skapa dina program från.

När du använder serverlösa GPU:er i Container Apps får dina appar:

  • Skalning till noll GPU:er: Stöd för automatisk serverlös skalning av NVIDIA A100 och NVIDIA T4 GPU:er.

  • Fakturering per sekund: Betala endast för den GPU-beräkning som du använder.

  • Inbyggd datastyrning: Dina data lämnar aldrig containergränsen.

  • Flexibla beräkningsalternativ: Du kan välja mellan NVIDIA A100- eller T4 GPU-typerna.

  • Mellanlager för AI-utveckling: Ta med din egen modell på en hanterad, serverlös beräkningsplattform.

Vanliga scenarier

Följande scenarier, även om de inte är omfattande, beskriver vanliga användningsfall för serverlösa GPU:er.

  • Inferens i realtid och batch: Använda anpassade open-source-modeller med snabba starttider, automatisk skalning och en faktureringsmodell per sekund. Serverlösa GPU:er är idealiska för dynamiska program. Du betalar bara för den beräkning du använder och dina appar skalar automatiskt in och ut för att möta efterfrågan.

  • Maskininlärningsscenarier: Avsevärt snabbare program som implementerar finjusterade anpassade generativa AI-modeller, djupinlärning, neurala nätverk eller storskalig dataanalys.

  • Högpresterande databehandling (HPC): Program som kräver komplexa beräkningar och simuleringar, till exempel vetenskaplig databehandling, finansiell modellering eller väderprognoser, använder GPU:er som resurser för höga beräkningskrav.

  • Rendering och visualisering: Program som omfattar 3D-rendering, bildbearbetning eller videotranskodning använder ofta GPU:er för att påskynda renderingsprocessen och aktivera visualisering i realtid.

  • Stordataanalys: GPU:er kan påskynda databearbetning och analys bland massiva datamängder.

Att tänka på

Tänk på följande när du använder serverlösa GPU:er:

  • CUDA-version: Serverlösa GPU:er stöder den senaste CUDA-versionen

  • Supportbegränsningar:

    • Endast en container i en app kan använda GPU:n i taget. Om du har flera containrar i en app får den första containern åtkomst till GPU:n.
    • Flera appar kan dela samma GPU-arbetsbelastningsprofil, men var och en kräver en egen replik.
    • Fler- och bråktals-GPU-repliker stöds inte.
    • Den första containern i ditt program får åtkomst till GPU:n.
  • IP-adresser: Förbruknings-GPU:er använder en IP-adress per replik när du konfigurerar integrering med ditt eget virtuella nätverk.

Regioner som stöds

Serverlösa GPU:er är tillgängliga i följande regioner:

Region A100 T4
Västra USA 3 Ja Ja
Västra USA Ja Nej
Australien, östra Ja Ja
Centrala Sverige Ja Ja
Västeuropa1 Nej Ja

1 Om du vill lägga till en T4-serverlös GPU-arbetsbelastningsprofil i Västeuropa måste du skapa en ny arbetsbelastningsprofilmiljö i regionen.

Använda serverlösa GPU:er

När du skapar en containerapp via Azure Portal kan du konfigurera containern så att den använder GPU-resurser.

På fliken Container i processen för att skapa anger du följande inställningar:

  1. Markera kryssrutan GPU under avsnittet Resursallokering för container.

  2. För GPU-typen väljer du antingen alternativet NVIDIA A100 eller NVIDIA T4.

Hantera en serverlös GPU-arbetsbelastningsprofil

Serverlösa GPU:er körs på förbrukningsprofiler för GPU-arbetsbelastningar. Du hanterar en GPU-arbetsbelastningsprofil för förbrukning på samma sätt som andra arbetsbelastningsprofiler. Du kan hantera din arbetsbelastningsprofil med hjälp av CLI eller Azure Portal.

Begär serverlös GPU-kvot

Anteckning

Kunder med företagsavtal och betala per användning-kunder har A100- och T4-kvoten aktiverad som standardinställning.

Åtkomst till den här funktionen är endast tillgänglig när du har en serverlös GPU-kvot. Du kan skicka din GPU-kvotbegäran via ett kundsupportärende. När du öppnar ett supportärende för en GPU-kvotbegäran väljer du följande:

  1. Öppna Formuläret Ny supportbegäran i Azure-portalen.

  2. Ange följande värden i formuläret:

    Fastighet Värde
    Problemtyp Välj Tjänst- och prenumerationsgränser (kvoter)
    Subscription Välj din prenumeration.
    Kvottyp Välj ContainerAppar.
  3. Välj Nästa.

  4. I fönstret Ytterligare information väljer du Ange information för att öppna fönstret Förfrågningsinformation.

    Skärmbild av informationsfönstret för Azure Quota Management System.

  5. Som Kvottyp väljer du antingen Förbrukning av hanterad miljö NCA100 GPU:er eller Förbrukning av hanterad miljö T4 GPU:er. Ange dina ytterligare värden.

  6. Välj Spara och fortsätt.

  7. Fyll i resten av relevant information i fönstret Ytterligare information .

  8. Välj Nästa.

  9. Välj Skapa.

Förbättra GPU-kallstart

Du kan avsevärt förbättra kalla starttider genom att aktivera artefaktströmning och hitta stora filer, till exempel stora språkmodeller, i en lagringsmontering.

  • Artefaktströmning: Azure Container Registry erbjuder strömning av bilder som avsevärt kan påskynda starttiderna för bilder. Om du vill använda artefaktströmning måste dina containeravbildningar finnas i en premium Azure Container Registry.

  • Lagringsmonteringar: Minska effekterna av nätverksfördröjning genom att lagra stora filer på ett Azure-lagringskonto som är associerat med din containerapp.

Distribuera Foundry-modeller till serverlösa GPU:er (förhandsversion)

Serverlösa GPU:er för Azure Container Apps stöder nu Azure AI Foundry-modeller i offentlig förhandsversion. Azure AI Foundry Models har två distributionsalternativ:

  • Serverlösa API:er som tillhandahåller betala per användning-fakturering för några av de mest populära modellerna.

  • Hanterade beräkningsresurser som gör att du kan distribuera det fullständiga urvalet av Foundry-modeller med GPU-baserad prissättning.

Serverlös GPU för Azure Container Apps erbjuder ett balanserat distributionsalternativ mellan serverlösa API:er och hanterad beräkning så att du kan distribuera Foundry-modeller. Det här alternativet är på begäran med serverlös skalning som skalar in till noll när den inte används och uppfyller dina behov av datahemvist. Med användning av serverlösa GPU:er, att använda Foundry-modeller ger flexibilitet att köra alla modeller som stöds med automatisk skalning, prissättning per sekund, fullständig datahantering, nätverk och säkerhetsstöd för företag.

Språkmodeller av typen MLFLOW stöds. Om du vill se en lista över MLFLOW modeller går du till listan över modeller som är tillgängliga i azureml-registret. För att hitta modellerna lägger du till ett filter för MLFLOW modeller med hjälp av följande steg:

  1. Välj filter.

  2. Välj Lägg till filter.

  3. För filterregeln anger du Typ = MLFLOW.

För modeller som anges här i Azure Container Apps-lagringsplatsen kan du distribuera dem direkt till serverlösa GPU:er utan att behöva skapa en egen avbildning med hjälp av följande CLI-kommando:

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 alla modeller som inte finns i den här listan måste du:

  1. Ladda ned github-mallen för modellavbildningen från Azure Container Apps-lagringsplatsen.

  2. Ändra score.py-filen så att den matchar modelltypen. Bedömningsskriptet (med namnet score.py) definierar hur du interagerar med modellen. I följande exempel visas hur du använder en anpassad score.py fil.

  3. Skapa avbildningen och distribuera den till ett containerregister.

  4. Använd föregående CLI-kommando för att distribuera modellen till serverlösa GPU:er, men ange --image. Med hjälp av parametrarna --model-registry, --model-nameoch --model-version anges de viktigaste miljövariablerna så att du kan optimera kallstart för din app.

Skicka feedback

Skicka problemet till GitHub-lagringsplatsen för Azure Container Apps.

Nästa steg