Delen via


Een AI-model implementeren in Azure Kubernetes Service (AKS) met de AI-toolchainoperator (preview)

implementeren in Azure

De AI-toolchainoperator (KAITO) is een beheerde invoegtoepassing die de ervaring van het uitvoeren van opensource- en privé-AI-modellen op uw AKS-cluster vereenvoudigt. KAITO vermindert de tijd voor het onboarden van modellen en het inrichten van resources, waardoor sneller prototypen en ontwikkeling van AI-modellen mogelijk zijn in plaats van infrastructuurbeheer.

In dit artikel leest u hoe u de AI-toolchain operator add-on inschakelt en een AI-model implementeert voor inferentie in AKS.

Belangrijk

AKS preview-functies zijn beschikbaar op selfservice, opt-in basis. Previews worden geleverd "zoals het is" en "zoals beschikbaar" en ze zijn uitgesloten van de serviceovereenkomsten en de beperkte garantie. AKS-previews worden gedeeltelijk gedekt door klantondersteuning naar best vermogen. Daarom zijn deze functies niet bedoeld voor productiegebruik. Zie de volgende ondersteuningsartikelen voor meer informatie:

Voordat u begint

Vereiste voorwaarden

  • Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

    • Als u meerdere Azure-abonnementen hebt, moet u ervoor zorgen dat u het juiste abonnement selecteert waarin de resources worden gemaakt en in rekening worden gebracht met behulp van de opdracht az account set .

      Notitie

      Uw Azure-abonnement moet het GPU VM-quotum hebben dat wordt aanbevolen voor uw modelimplementatie in dezelfde Azure-regio als uw AKS-resources.

  • Azure CLI versie 2.47.0 of hoger geïnstalleerd en geconfigureerd. Voer az --version uit om de versie te bekijken. Als u Azure CLI 2.0 wilt installeren of upgraden, raadpleegt u Azure CLI 2.0 installeren.

  • De Kubernetes-opdrachtregelclient, kubectl, geïnstalleerd en geconfigureerd. Zie Kubectl installeren voor meer informatie.

  • Installeer de Preview-extensie van Azure CLI AKS.

  • Registreer de invoegtoepassingsvlag voor de AI-hulpprogrammaketenoperator.

De Preview-extensie van Azure CLI installeren

  1. Installeer de Azure CLI Preview-extensie met behulp van de opdracht az extension add .

    az extension add --name aks-preview
    
  2. Werk de extensie bij om ervoor te zorgen dat u de nieuwste versie hebt met behulp van de opdracht az extension update .

    az extension update --name aks-preview
    

De invoegtoepassingsvlag voor de AI-toolchainoperator registreren

  1. Registreer de functievlag AIToolchainOperatorPreview met behulp van de opdracht az feature register .

    az feature register --namespace "Microsoft.ContainerService" --name "AIToolchainOperatorPreview"
    

    Het duurt enkele minuten voordat de registratie is voltooid.

  2. Controleer de registratie met behulp van de opdracht az feature show .

    az feature show --namespace "Microsoft.ContainerService" --name "AIToolchainOperatorPreview"
    

Omgevingsvariabelen exporteren

  • Om de configuratiestappen in dit artikel te vereenvoudigen, kunt u omgevingsvariabelen definiëren met behulp van de volgende opdrachten. Zorg ervoor dat u de waarden van de tijdelijke aanduiding vervangt door uw eigen waarden.

    export AZURE_SUBSCRIPTION_ID="mySubscriptionID"
    export AZURE_RESOURCE_GROUP="myResourceGroup"
    export AZURE_LOCATION="myLocation"
    export CLUSTER_NAME="myClusterName"
    

De add-on voor de AI-toolchain-operator inschakelen op een AKS-cluster

In de volgende secties wordt beschreven hoe u een AKS-cluster maakt met de invoegtoepassing AI-hulpprogrammaketenoperator ingeschakeld en een standaard gehost AI-model implementeert.

Een AKS-cluster maken met de AI-toolchain operator add-on ingeschakeld.

  1. Maak een Azure-resourcegroep met behulp van de opdracht az group create .

    az group create --name $AZURE_RESOURCE_GROUP --location $AZURE_LOCATION
    
  2. Maak een AKS-cluster met de AI-toolchain-operator add-on ingeschakeld met behulp van de opdracht az aks create met de --enable-ai-toolchain-operator flag.

    az aks create --location $AZURE_LOCATION \
        --resource-group $AZURE_RESOURCE_GROUP \
        --name $CLUSTER_NAME \
        --enable-ai-toolchain-operator \
        --generate-ssh-keys
    
  3. Op een bestaand AKS-cluster kunt u de add-on "AI-toolchain-operator" inschakelen met behulp van de opdracht az aks update.

    az aks update --name $CLUSTER_NAME \
            --resource-group $AZURE_RESOURCE_GROUP \
            --enable-ai-toolchain-operator
    

Verbinding maken met uw cluster

  1. Configureer kubectl om uw cluster te verbinden met behulp van de opdracht az aks get-credentials.

    az aks get-credentials --resource-group $AZURE_RESOURCE_GROUP --name $CLUSTER_NAME
    
  2. Controleer de verbinding met uw cluster met behulp van de kubectl get opdracht.

    kubectl get nodes
    

Een standaard gehost AI-model implementeren

  1. Implementeer met behulp van de kubectl apply opdracht het Falcon 7B-instruct model dat vooraf is ingesteld vanuit de KAITO-modelopslagplaats.

    kubectl apply -f https://raw.githubusercontent.com/Azure/kaito/main/examples/inference/kaito_workspace_falcon_7b-instruct.yaml
    
  2. Houd de wijzigingen in de live-resource in uw werkruimte bij met behulp van de kubectl get opdracht.

    kubectl get workspace workspace-falcon-7b-instruct -w
    

    Notitie

    Wanneer u de implementatie van de KAITO-werkruimte bijhoudt, moet u er rekening mee houden dat de gereedheid van de machine maximaal 10 minuten kan duren en dat de gereedheid van de werkruimte maximaal 20 minuten kan duren, afhankelijk van de grootte van uw model.

  3. Controleer uw deductieservice en haal het IP-adres van de service op met behulp van de kubectl get svc opdracht.

    export SERVICE_IP=$(kubectl get svc workspace-falcon-7b-instruct -o jsonpath='{.spec.clusterIP}')
    
  4. Test de Falcon 7B-instruct inferentiedienst met een voorbeeldinvoer van uw keuze, met behulp van het OpenAI chatvoltooien API-formaat.

    kubectl run -it --rm --restart=Never curl --image=curlimages/curl -- curl -X POST http://$SERVICE_IP/v1/completions -H "Content-Type: application/json" \
      -d '{
            "model": "falcon-7b-instruct",
            "prompt": "What is Kubernetes?",
            "max_tokens": 10
           }'
    

De hulpbronnen opschonen

Als u deze resources niet meer nodig hebt, kunt u ze verwijderen om te voorkomen dat er extra Azure-rekenkosten in rekening worden gebracht.

  1. Verwijder de KAITO-werkruimte met behulp van de kubectl delete workspace opdracht.

    kubectl delete workspace workspace-falcon-7b-instruct
    
  2. U moet de GPU-knooppuntgroepen die zijn ingericht door de KAITO-implementatie handmatig verwijderen. Gebruik het knooppuntlabel dat is gemaakt door Falcon-7b instrueer werkruimte om de naam van de knooppuntgroep op te halen met behulp van de az aks nodepool list opdracht. In dit voorbeeld is het knooppuntlabel 'kaito.sh/workspace': 'workspace-falcon-7b-instruct'.

    az aks nodepool list --resource-group $AZURE_RESOURCE_GROUP --cluster-name $CLUSTER_NAME
    
  3. Verwijder de knooppuntgroep met deze naam uit uw AKS-cluster en herhaal de stappen in deze sectie voor elke KAITO-werkruimte die wordt verwijderd.

Veelvoorkomende scenario's voor probleemoplossing

Nadat u de KAITO-modeldeductiewerkruimte hebt toegepast, worden uw resourcegereedheid en werkruimtevoorwaarden mogelijk niet bijgewerkt vanwege de volgende redenen:

Volgende stappen

Meer informatie over de implementatieopties voor KAITO-modellen vindt u hieronder: