Oktatóanyag: Rendszerképek létrehozása kiszolgáló nélküli GPU-k használatával az Azure Container Appsben

Ebből a cikkből megtudhatja, hogyan hozhat létre kiszolgáló nélküli GPU-kat használó tárolóalkalmazást egy AI-alkalmazás energiaellátásához.

Kiszolgáló nélküli GPU-k esetén közvetlen hozzáféréssel rendelkezik a GPU számítási erőforrásaihoz anélkül, hogy manuális infrastruktúra-konfigurációt kellene végeznie, például illesztőprogramok telepítését. Mindössze annyit kell tennie, hogy üzembe helyezi az AI-modell rendszerképét.

Ebben az oktatóanyagban a következőket fogja elvégezni:

  • Új tárolóalkalmazás és környezet létrehozása
  • A környezet konfigurálása kiszolgáló nélküli GPU-k használatára
  • Az alkalmazás üzembe helyezése az Azure Container Appsben
  • Az új kiszolgáló nélküli GPU-kompatibilis alkalmazás használata
  • Artefaktumok streamelésének engedélyezése a GPU hidegindításának csökkentése érdekében

Előfeltételek

Erőforrás Leírás
Azure-fiók Aktív előfizetéssel rendelkező Azure-fiókra van szüksége. Ha még nem rendelkezik fiókkal, ingyen létrehozhat egyet.
Hozzáférés kiszolgáló nélküli GPU-khoz A GPU-khoz való hozzáférés csak a GPU-kvóták kérése után érhető el. A GPU-kvóta iránti kérelmet ügyfélszolgálati eseten keresztül küldheti el.
Erőforrás Leírás
Azure-fiók Aktív előfizetéssel rendelkező Azure-fiókra van szüksége. Ha még nem rendelkezik fiókkal, ingyen létrehozhat egyet.
Hozzáférés kiszolgáló nélküli GPU-khoz A GPU-khoz való hozzáférés csak a GPU-kvóták kérése után érhető el. A GPU-kvóta iránti kérelmet ügyfélszolgálati eseten keresztül küldheti el.
Azure CLI Telepítse az Azure CLI-t , vagy frissítsen a legújabb verzióra.

Tárolóalkalmazás létrehozása

  1. Nyissa meg az Azure Portalt, és keresse meg és válassza a Container Apps lehetőséget.

  2. Válassza a Létrehozás lehetőséget, majd a Tárolóalkalmazás lehetőséget.

  3. Az Alapismeretek ablakban adja meg az alábbi értékeket az egyes szakaszokban.

    A Projekt részletei csoportban adja meg a következő értékeket:

    Beállítás Érték
    Előfizetés Válassza ki az Azure-előfizetését.
    Erőforráscsoport Válassza az Új létrehozása lehetőséget, és adja meg a saját gpu-demo-groupot.
    Tárolóalkalmazás neve Adja meg a saját gpu-demo-appot.
    Telepítési forrás Válassza a Tárolórendszerkép lehetőséget.

    A Container Apps-környezetben adja meg a következő értékeket:

    Beállítás Érték
    Régió Válassza a Közép-Svédország lehetőséget.

    További támogatott régiókért lásd: Kiszolgáló nélküli GPU-k használata az Azure-ban.
    Container Apps-környezet Válassza az Új létrehozása lehetőséget.

    A Container Apps-környezet létrehozása ablakban adja meg a következő értékeket:

    Beállítás Érték
    Környezet neve Adja meg a saját gpu-demo-env.

    Válassza a Létrehozás lehetőséget.

    Válassza a Következő: Tároló > gombot.

  4. A Tároló ablakban adja meg a következő értékeket:

    Beállítás Érték
    Név Adja meg a saját gpu-demo-tárolót.
    Kép forrása Válassza a Docker Hubot vagy más regisztrációs adatbázisokat.
    Lemezkép típusa Válassza a nyilvánost.
    Regisztrációs adatbázis bejelentkezési kiszolgálója Írja be mcr.microsoft.com.
    Kép és címke Adja meg a k8se/gpu-quickstart:latest-t.
    Terhelési profil Válassza a Fogyasztás – Legfeljebb 4 virtuális processzor, 8 Gib memória.
    GPU Jelölje be a jelölőnégyzetet.
    GPU-típus Válassza a Consumption-GPU-NC8as-T4 – legfeljebb 8 virtuális processzor, 56 GiB memória lehetőséget, és kattintson a hivatkozásra, hogy hozzáadja a profilt a környezetéhez.

    Válassza a Tovább: Bejövő >.

  5. A Bejövő forgalom ablakban adja meg a következő értékeket:

    Beállítás Érték
    Belépés Jelölje be az Engedélyezett jelölőnégyzetet.
    Bejövő forgalom A Bárhonnan érkező forgalom fogadása választógombot válassza.
    Célport Adja meg a 80-at.
  6. Válassza az Áttekintés + létrehozás lehetőséget.

  7. Válassza a Létrehozás lehetőséget.

  8. Várjon néhány percet, amíg az üzembe helyezés befejeződik, majd válassza az Erőforrás megnyitása lehetőséget.

    Ez a folyamat akár öt percet is igénybe vehet.

A GPU-alkalmazás használata

Az Áttekintés ablakban válassza az Alkalmazás URL-hivatkozását a webalkalmazás előtérének megnyitásához a böngészőben, és használja a GPU-alkalmazást.

Megjegyzés

  • A GPU-alkalmazások legjobb teljesítményének eléréséhez kövesse az alábbi lépéseket a kiszolgáló nélküli GPU-k hidegindításának javítása érdekében.
  • Ha az alkalmazásban több tároló is található, az első tároló hozzáférést kap a GPU-hoz.

Környezeti változók létrehozása

Adja meg a következő környezeti változókat. A parancs futtatása előtt cserélje le a <PLACEHOLDERS>-t a saját értékeire.

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"

Tárolóalkalmazás létrehozása

  1. Hozza létre az erőforráscsoportot, hogy az ebben az oktatóanyagban létrehozott erőforrásokat tartalmazza. Ennek a parancsnak kimenetnek kell lennie Succeeded.

    az group create \
      --name $RESOURCE_GROUP \
      --location $LOCATION \
      --query "properties.provisioningState"
    
  2. Hozzon létre egy Container Apps-környezetet a tárolóalkalmazás üzemeltetéséhez. Ennek a parancsnak kimenetnek kell lennie Succeeded.

    az containerapp env create \
      --name $ENVIRONMENT_NAME \
      --resource-group $RESOURCE_GROUP \
      --location "$LOCATION" \
      --query "properties.provisioningState"
    
  3. Teljesítményprofil hozzáadása a környezethez.

    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. Hozza létre a konténeralkalmazást.

    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
    

    Ez a parancs a tárolóalkalmazás alkalmazás URL-címét adja ki.

A GPU-alkalmazás használata

Nyissa meg a tárolóalkalmazás alkalmazás URL-címét a böngészőben. Vegye figyelembe, hogy a tárolóalkalmazás indítása akár öt percet is igénybe vehet.

Az Azure Container Apps alkalmazás a kiszolgáló nélküli GPU-kkal lehetővé teszi, hogy egy képgenerálási kérést adjon meg. Az alapértelmezett üzenet használatához egyszerűen válassza a Generate Image lehetőséget. A következő lépésben megtekintheti a GPU-feldolgozás eredményeit.

Megjegyzés

  • A GPU-alkalmazások legjobb teljesítményének eléréséhez kövesse az alábbi lépéseket a kiszolgáló nélküli GPU-k hidegindításának javítása érdekében.
  • Ha az alkalmazásban több tároló is található, az első tároló hozzáférést kap a GPU-hoz.

A GPU monitorozása

Miután létrehozott egy képet, az alábbi lépésekkel tekintheti meg a GPU-feldolgozás eredményeit:

  1. Nyissa meg a tárolóalkalmazást az Azure Portalon.

  2. A Figyelés szakaszban válassza a Konzol lehetőséget.

  3. Válassza ki a replikát.

  4. Válassza ki a tárolót.

  5. Válassza az Újracsatlakozás lehetőséget.

  6. A Start up parancsablakban válassza a /bin/bash lehetőséget, és válassza a Csatlakozás lehetőséget.

  7. A rendszerhéj beállítása után adja meg az nvidia-smi parancsot a GPU állapotának és kimenetének áttekintéséhez.

Az erőforrások tisztítása

Az oktatóanyagban létrehozott erőforrások hatással vannak az Azure-számlára.

Ha nem fogja hosszú távon használni ezeket a szolgáltatásokat, a lépések végrehajtásával távolítsa el az oktatóanyagban létrehozott összes elemet.

  1. Az Azure Portalon keresse meg és válassza ki az erőforráscsoportokat.

  2. Válassza ki a saját gpu-demo-csoportot.

  3. Válassza az Erőforráscsoport törlése elemet.

  4. A megerősítést kérő mezőbe írja be a my-gpu-demo-group kifejezést.

  5. Válassza a Törlés lehetőséget.

Futtassa az alábbi parancsot.

az group delete --name $RESOURCE_GROUP

Következő lépések